Emcee
46 строк · 1.5 Кб
1import BalancingBucketQueue
2import BucketQueueModels
3import BucketQueueTestHelpers
4import QueueModelsTestHelpers
5import TestHelpers
6import Foundation
7import XCTest
8
9final class MultipleQueuesStuckBucketsReenqueuerTests: XCTestCase {
10lazy var multipleQueuesContainer = MultipleQueuesContainer()
11lazy var stuckBucketsReenqueuerProvider = FakeStuckBucketsReenqueuerProvider()
12lazy var multipleQueuesStuckBucketsReenqueuer = MultipleQueuesStuckBucketsReenqueuer(
13multipleQueuesContainer: multipleQueuesContainer,
14stuckBucketsReenqueuerProvider: stuckBucketsReenqueuerProvider
15)
16
17func test() {
18let stuckBucket = StuckBucket(
19reason: .bucketLost,
20bucket: BucketFixtures().bucket(),
21workerId: "worker"
22)
23multipleQueuesContainer.add(runningJobQueue: createJobQueue())
24
25stuckBucketsReenqueuerProvider.fakeStuckBucketsReenqueuer.result = {
26[stuckBucket]
27}
28
29XCTAssertEqual(
30try multipleQueuesStuckBucketsReenqueuer.reenqueueStuckBuckets(),
31[stuckBucket]
32)
33}
34
35func test___rethrows() {
36multipleQueuesContainer.add(runningJobQueue: createJobQueue())
37
38stuckBucketsReenqueuerProvider.fakeStuckBucketsReenqueuer.result = {
39throw ErrorForTestingPurposes()
40}
41
42assertThrows {
43try multipleQueuesStuckBucketsReenqueuer.reenqueueStuckBuckets()
44}
45}
46}
47