@Test(expected = IllegalArgumentException.class) public void testNegativeBufferSizeSenderIsSet() throws Exception { TelemetriesTransmitter mockSender = Mockito.mock(TelemetriesTransmitter.class); LimitsEnforcer maxEnforcer = createEnforcerWithCurrentValue(-1); LimitsEnforcer sendEnforcer = createDefaultSenderTimeoutEnforcer(); new TelemetryBuffer(mockSender, maxEnforcer, sendEnforcer); }
@Test(expected = IllegalArgumentException.class) public void testZeroBufferSizeSenderIsSet() throws Exception { TelemetriesTransmitter mockSender = Mockito.mock(TelemetriesTransmitter.class); LimitsEnforcer maxEnforcer = createEnforcerWithCurrentValue(0); LimitsEnforcer sendEnforcer = createDefaultSenderTimeoutEnforcer(); new TelemetryBuffer(mockSender, maxEnforcer, sendEnforcer); }
@Test public void testSendWhenBufferIsFullInDeveloperMode() throws Exception { TelemetriesTransmitter mockSender = Mockito.mock(TelemetriesTransmitter.class); LimitsEnforcer maxEnforcer = createEnforcerWithCurrentValue(1); LimitsEnforcer sendEnforcer = createDefaultSenderTimeoutEnforcer(); TelemetryBuffer testedBuffer = new TelemetryBuffer(mockSender, maxEnforcer, sendEnforcer); for (int i = 0; i < 2; ++i) { testedBuffer.add("mockTelemetry"); } Mockito.verify(mockSender, Mockito.never()).scheduleSend((TelemetriesTransmitter.TelemetriesFetcher)any(), anyLong(), (TimeUnit)anyObject()); Mockito.verify(mockSender, Mockito.times(2)).sendNow(anyCollectionOf(String.class)); }
@SuppressWarnings("unchecked") @Test public void testSendWhenBufferIsFullInNonDeveloperMode() throws Exception { TelemetriesTransmitter mockSender = Mockito.mock(TelemetriesTransmitter.class); Mockito.doReturn(true).when(mockSender).sendNow(anyCollection()); Mockito.doReturn(true).when(mockSender).scheduleSend(any(TelemetriesTransmitter.TelemetriesFetcher.class), anyLong(), any(TimeUnit.class)); LimitsEnforcer maxEnforcer = createEnforcerWithCurrentValue(2); LimitsEnforcer sendEnforcer = createDefaultSenderTimeoutEnforcer(); TelemetryBuffer testedBuffer = new TelemetryBuffer(mockSender, maxEnforcer, sendEnforcer); for (int i = 0; i < 2; ++i) { testedBuffer.add("mockTelemetry"); } Mockito.verify(mockSender, Mockito.times(1)).scheduleSend((TelemetriesTransmitter.TelemetriesFetcher) any(), anyLong(), (TimeUnit) anyObject()); Mockito.verify(mockSender, Mockito.times(1)).sendNow(anyCollectionOf(String.class)); }
@Test(expected = NullPointerException.class) public void testNoSenderIsSet() throws Exception { LimitsEnforcer maxEnforcer = createDefaultBatchSizeEnforcer(); LimitsEnforcer sendEnforcer = createDefaultSenderTimeoutEnforcer(); new TelemetryBuffer(null, maxEnforcer, sendEnforcer); }
LimitsEnforcer sendEnforcer = createDefaultSenderTimeoutEnforcer();