Skip to content

Commit ce50226

Browse files
committed
adds some tests
1 parent 98d4472 commit ce50226

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

test/token_bucket_test.dart

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,34 @@ void main() {
5454
});
5555
});
5656

57+
test('Bucket respects storage value', () {
58+
final storage = MockTokenBucketStorage();
59+
final tokenBucketState =
60+
TokenBucketState(tokens: 3, lastRefillTime: clock.now());
61+
when(() => storage.get()).thenReturn(tokenBucketState);
62+
final bucket = TokenBucket(
63+
size: 15,
64+
refillInterval: const Duration(seconds: 1),
65+
refillAmount: 10,
66+
storage: storage,
67+
);
68+
expect(bucket.availableTokens, tokenBucketState.tokens);
69+
});
70+
71+
test('Async bucket respects storage value', () {
72+
final storage = MockTokenBucketStorage();
73+
final tokenBucketState =
74+
TokenBucketState(tokens: 3, lastRefillTime: clock.now());
75+
when(() => storage.get()).thenReturn(tokenBucketState);
76+
final bucket = AsyncTokenBucket(
77+
size: 15,
78+
refillInterval: const Duration(seconds: 1),
79+
refillAmount: 10,
80+
storage: storage,
81+
);
82+
expect(bucket.availableTokens, completion(tokenBucketState.tokens));
83+
});
84+
5785
test('Consuming invalid amounts', () {
5886
const size = 15;
5987
const refillAmount = 10;

0 commit comments

Comments
 (0)