Home / Class/ PromiseAggregatorTest Class — netty Architecture

PromiseAggregatorTest Class — netty Architecture

Architecture documentation for the PromiseAggregatorTest class in PromiseAggregatorTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6["PromiseAggregatorTest"]
  2f5001bf_c17c_e305_f78f_88243483088d["PromiseAggregatorTest.java"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|defined in| 2f5001bf_c17c_e305_f78f_88243483088d
  e840b8d9_e643_adf2_b41d_3e2739c58456["testNullAggregatePromise()"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|method| e840b8d9_e643_adf2_b41d_3e2739c58456
  9d145821_05e4_9119_2afc_c6d017e1968f["testAddNullFuture()"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|method| 9d145821_05e4_9119_2afc_c6d017e1968f
  b26dc4f8_8731_8f02_9c12_77d2b21488b7["testSuccessfulNoPending()"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|method| b26dc4f8_8731_8f02_9c12_77d2b21488b7
  c3d7862e_786d_752f_a8a4_c8dd11b5cf3e["testSuccessfulPending()"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|method| c3d7862e_786d_752f_a8a4_c8dd11b5cf3e
  772deb78_d776_419c_3de9_65e04a4d0084["testFailedFutureFailPending()"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|method| 772deb78_d776_419c_3de9_65e04a4d0084
  f4a7e5ff_5e69_3437_d1b4_c21ddb8374b6["testFailedFutureNoFailPending()"]
  b88589a3_9d2d_214c_ca51_54d5a42e4fe6 -->|method| f4a7e5ff_5e69_3437_d1b4_c21ddb8374b6

Relationship Graph

Source Code

common/src/test/java/io/netty/util/concurrent/PromiseAggregatorTest.java lines 26–149

public class PromiseAggregatorTest {

    @Test
    public void testNullAggregatePromise() {
        assertThrows(NullPointerException.class, new Executable() {
            @SuppressWarnings("deprecation")
            @Override
            public void execute() {
                new PromiseAggregator<Void, Future<Void>>(null);
            }
        });
    }

    @Test
    public void testAddNullFuture() {
        @SuppressWarnings("unchecked")
        Promise<Void> p = mock(Promise.class);
        @SuppressWarnings("deprecation")
        final PromiseAggregator<Void, Future<Void>> a =
                new PromiseAggregator<Void, Future<Void>>(p);
        assertThrows(NullPointerException.class, new Executable() {
            @Override
            public void execute() {
                a.add((Promise<Void>[]) null);
            }
        });
    }

    @SuppressWarnings("unchecked")
    @Test
    public void testSuccessfulNoPending() throws Exception {
        Promise<Void> p = mock(Promise.class);
        @SuppressWarnings("deprecation")
        PromiseAggregator<Void, Future<Void>> a =
                new PromiseAggregator<Void, Future<Void>>(p);

        Future<Void> future = mock(Future.class);
        when(p.setSuccess(null)).thenReturn(p);

        a.add();
        a.operationComplete(future);
        verifyNoMoreInteractions(future);
        verify(p).setSuccess(null);
    }

    @SuppressWarnings("unchecked")
    @Test
    public void testSuccessfulPending() throws Exception {
        Promise<Void> p = mock(Promise.class);
        PromiseAggregator<Void, Future<Void>> a =
                new PromiseAggregator<Void, Future<Void>>(p);
        Promise<Void> p1 = mock(Promise.class);
        Promise<Void> p2 = mock(Promise.class);

        when(p1.addListener(a)).thenReturn(p1);
        when(p2.addListener(a)).thenReturn(p2);
        when(p1.isSuccess()).thenReturn(true);
        when(p2.isSuccess()).thenReturn(true);
        when(p.setSuccess(null)).thenReturn(p);

        assertEquals(a, a.add(p1, null, p2));
        a.operationComplete(p1);
        a.operationComplete(p2);

        verify(p1).addListener(a);
        verify(p2).addListener(a);
        verify(p1).isSuccess();
        verify(p2).isSuccess();
        verify(p).setSuccess(null);
    }

    @SuppressWarnings("unchecked")
    @Test
    public void testFailedFutureFailPending() throws Exception {
        Promise<Void> p = mock(Promise.class);
        PromiseAggregator<Void, Future<Void>> a =
                new PromiseAggregator<Void, Future<Void>>(p);
        Promise<Void> p1 = mock(Promise.class);
        Promise<Void> p2 = mock(Promise.class);
        Throwable t = mock(Throwable.class);

Frequently Asked Questions

What is the PromiseAggregatorTest class?
PromiseAggregatorTest is a class in the netty codebase, defined in common/src/test/java/io/netty/util/concurrent/PromiseAggregatorTest.java.
Where is PromiseAggregatorTest defined?
PromiseAggregatorTest is defined in common/src/test/java/io/netty/util/concurrent/PromiseAggregatorTest.java at line 26.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free