Ejemplo n.º 1
0
  @Test
  public void shouldUnmapBuffersWithMultipleReferences() throws Exception {
    publication.incRef();
    publication.close();

    publication.close();

    final InOrder inOrder = Mockito.inOrder(conductorLock, conductor);
    inOrder.verify(conductorLock).lock();
    inOrder.verify(conductor).releasePublication(publication);
    inOrder.verify(conductorLock).unlock();
    inOrder.verifyNoMoreInteractions();
  }
Ejemplo n.º 2
0
  @Test
  public void shouldEnsureThePublicationIsOpenBeforeReadingPosition() {
    publication.close();
    assertThat(publication.position(), is(Publication.CLOSED));

    final InOrder inOrder = Mockito.inOrder(conductorLock, conductor);
    inOrder.verify(conductorLock).lock();
    inOrder.verify(conductor).releasePublication(publication);
    inOrder.verify(conductorLock).unlock();
  }
Ejemplo n.º 3
0
  @Test
  public void shouldNotUnmapBuffersBeforeLastRelease() throws Exception {
    publication.incRef();
    publication.close();

    verify(logBuffers, never()).close();

    final InOrder inOrder = Mockito.inOrder(conductorLock, conductor);
    inOrder.verify(conductorLock).lock();
    inOrder.verify(conductorLock).unlock();
    inOrder.verifyNoMoreInteractions();
  }
Ejemplo n.º 4
0
  @Test
  public void shouldReleaseResourcesIdempotently() throws Exception {
    publication.close();
    publication.close();

    final InOrder inOrder = Mockito.inOrder(conductorLock, conductor);
    inOrder.verify(conductorLock).lock();
    inOrder.verify(conductor).releasePublication(publication);
    inOrder.verify(conductorLock).unlock();
    inOrder.verify(conductorLock).lock();
    inOrder.verify(conductorLock).unlock();
    inOrder.verifyNoMoreInteractions();
  }
Ejemplo n.º 5
0
 @Test
 public void shouldEnsureThePublicationIsOpenBeforeClaim() {
   publication.close();
   final BufferClaim bufferClaim = new BufferClaim();
   assertThat(publication.tryClaim(SEND_BUFFER_CAPACITY, bufferClaim), is(Publication.CLOSED));
 }
Ejemplo n.º 6
0
 @Test
 public void shouldEnsureThePublicationIsOpenBeforeOffer() {
   publication.close();
   assertTrue(publication.isClosed());
   assertThat(publication.offer(atomicSendBuffer), is(Publication.CLOSED));
 }