@Override public FiniteDuration getRetryDelay() { return FiniteDuration.Zero(); }
@Inject public TokenBucketImpl( @Nonnull final TypedActorContext<TokenBucket> context, @Nonnull final FiniteDuration interval, @Nonnull final Double initialIncrement, @Nonnull final Integer bucketSize, @Nonnull final Double minimumIncrement) { assert context != null; assert interval != null; assert initialIncrement != null; assert bucketSize != null; assert minimumIncrement != null; assert initialIncrement >= minimumIncrement; assert minimumIncrement > 0; assert bucketSize > minimumIncrement; assert interval.gt(FiniteDuration.Zero()); this.context = context; this.interval = interval; increment = initialIncrement; this.bucketSize = bucketSize; this.minimumIncrement = minimumIncrement; // Allow sending an increment straight away. this.nrTokens = initialIncrement; // Schedule increment. scheduleNextIncrement(); }
@Test public void testGetProvidedSources() throws Exception { Set<SourceIdentifier> remoteProvidedSources = Await.result(remoteRepository .getProvidedSources(), FiniteDuration.Zero()); assertEquals(providedSources, remoteProvidedSources); }
@Test(expected = SchemaSourceException.class) public void testGetNonExistentYangTextSchemaSource() throws Exception { Mockito.when(mockedLocalRepository.getSchemaSource(ID, YangTextSchemaSource.class)).thenReturn( Futures.immediateFailedCheckedFuture( new SchemaSourceException("Source is not provided"))); Future<YangTextSchemaSourceSerializationProxy> retrievedSourceFuture = remoteRepository.getYangTextSchemaSource(ID); assertTrue(retrievedSourceFuture.isCompleted()); Await.result(retrievedSourceFuture, FiniteDuration.Zero()); }
@Test public void testGetExistingYangTextSchemaSource() throws Exception { String source = "Test source."; YangTextSchemaSource schemaSource = YangTextSchemaSource.delegateForByteSource( ID, ByteSource.wrap(source.getBytes())); Mockito.when(mockedLocalRepository.getSchemaSource(ID, YangTextSchemaSource.class)).thenReturn( Futures.immediateCheckedFuture(schemaSource)); Future<YangTextSchemaSourceSerializationProxy> retrievedSourceFuture = remoteRepository.getYangTextSchemaSource(ID); assertTrue(retrievedSourceFuture.isCompleted()); YangTextSchemaSource resultSchemaSource = Await.result(retrievedSourceFuture, FiniteDuration.Zero()).getRepresentation(); assertEquals(resultSchemaSource.getIdentifier(), schemaSource.getIdentifier()); assertArrayEquals(resultSchemaSource.read(), schemaSource.read()); }