Home / Class/ PromiseNotifierTest Class — netty Architecture

PromiseNotifierTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd["PromiseNotifierTest"]
  723f7c76_6446_d0de_0b9d_163a6efeeceb["PromiseNotifierTest.java"]
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd -->|defined in| 723f7c76_6446_d0de_0b9d_163a6efeeceb
  d3d335a3_1d98_d259_9a4d_85addd7051b7["testNullPromisesArray()"]
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd -->|method| d3d335a3_1d98_d259_9a4d_85addd7051b7
  8869ae26_e142_41a6_6831_315633f0f03b["testNullPromiseInArray()"]
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd -->|method| 8869ae26_e142_41a6_6831_315633f0f03b
  25677b2d_f1ee_43cc_f534_191ddd6802f1["testListenerSuccess()"]
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd -->|method| 25677b2d_f1ee_43cc_f534_191ddd6802f1
  b1353a69_e2a8_1de8_3550_3b5b70ee3a3d["testListenerFailure()"]
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd -->|method| b1353a69_e2a8_1de8_3550_3b5b70ee3a3d
  a395765e_4086_976d_1067_513eabe4b1c7["testCancelPropagationWhenFusedFromFuture()"]
  6d5f1092_59f3_c2aa_4bca_e779a4aabfcd -->|method| a395765e_4086_976d_1067_513eabe4b1c7

Relationship Graph

Source Code

common/src/test/java/io/netty/util/concurrent/PromiseNotifierTest.java lines 27–110

public class PromiseNotifierTest {

    @Test
    public void testNullPromisesArray() {
        assertThrows(NullPointerException.class, new Executable() {
            @Override
            public void execute() {
                new PromiseNotifier<Void, Future<Void>>((Promise<Void>[]) null);
            }
        });
    }

    @SuppressWarnings("unchecked")
    @Test
    public void testNullPromiseInArray() {
        assertThrows(IllegalArgumentException.class, new Executable() {
            @Override
            public void execute() {
                new PromiseNotifier<Void, Future<Void>>((Promise<Void>) null);
            }
        });
    }

    @Test
    public void testListenerSuccess() throws Exception {
        @SuppressWarnings("unchecked")
        Promise<Void> p1 = mock(Promise.class);
        @SuppressWarnings("unchecked")
        Promise<Void> p2 = mock(Promise.class);

        @SuppressWarnings("unchecked")
        PromiseNotifier<Void, Future<Void>> notifier =
                new PromiseNotifier<Void, Future<Void>>(p1, p2);

        @SuppressWarnings("unchecked")
        Future<Void> future = mock(Future.class);
        when(future.isSuccess()).thenReturn(true);
        when(future.get()).thenReturn(null);
        when(p1.trySuccess(null)).thenReturn(true);
        when(p2.trySuccess(null)).thenReturn(true);

        notifier.operationComplete(future);
        verify(p1).trySuccess(null);
        verify(p2).trySuccess(null);
    }

    @Test
    public void testListenerFailure() throws Exception {
        @SuppressWarnings("unchecked")
        Promise<Void> p1 = mock(Promise.class);
        @SuppressWarnings("unchecked")
        Promise<Void> p2 = mock(Promise.class);

        @SuppressWarnings("unchecked")
        PromiseNotifier<Void, Future<Void>> notifier =
                new PromiseNotifier<Void, Future<Void>>(p1, p2);

        @SuppressWarnings("unchecked")
        Future<Void> future = mock(Future.class);
        Throwable t = mock(Throwable.class);
        when(future.isSuccess()).thenReturn(false);
        when(future.isCancelled()).thenReturn(false);
        when(future.cause()).thenReturn(t);
        when(p1.tryFailure(t)).thenReturn(true);
        when(p2.tryFailure(t)).thenReturn(true);

        notifier.operationComplete(future);
        verify(p1).tryFailure(t);
        verify(p2).tryFailure(t);
    }

    @Test
    public void testCancelPropagationWhenFusedFromFuture() {
        Promise<Void> p1 = ImmediateEventExecutor.INSTANCE.newPromise();
        Promise<Void> p2 = ImmediateEventExecutor.INSTANCE.newPromise();

        Promise<Void> returned = PromiseNotifier.cascade(p1, p2);
        assertSame(p1, returned);

        assertTrue(returned.cancel(false));
        assertTrue(returned.isCancelled());

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free