Emcee

Форк
0
/
MultipleQueuesJobStateProviderTests.swift 
77 строк · 2.6 Кб
1
import BalancingBucketQueue
2
import BucketQueueTestHelpers
3
import CommonTestModels
4
import Foundation
5
import QueueModels
6
import TestHelpers
7
import XCTest
8

9
final class MultipleQueuesJobStateProviderTests: XCTestCase {
10
    lazy var container = MultipleQueuesContainer()
11
    lazy var statefulBucketQueueProvider = FakeStatefulBucketQueueProvider()
12
    lazy var multipleQueuesJobStateProvider = MultipleQueuesJobStateProvider(
13
        multipleQueuesContainer: container,
14
        statefulBucketQueueProvider: statefulBucketQueueProvider
15
    )
16
    
17
    func test___ongoing_group_ids() {
18
        container.track(jobGroup: createJobGroup(jobGroupId: "groupId1"))
19
        container.track(jobGroup: createJobGroup(jobGroupId: "groupId2"))
20
        
21
        XCTAssertEqual(
22
            multipleQueuesJobStateProvider.ongoingJobGroupIds,
23
            [
24
                JobGroupId("groupId1"),
25
                JobGroupId("groupId2"),
26
            ]
27
        )
28
    }
29
    
30
    func test___ongoing_jon_ids() {
31
        container.add(runningJobQueue: createJobQueue(job: createJob(jobId: "jobId1")))
32
        container.add(runningJobQueue: createJobQueue(job: createJob(jobId: "jobId2")))
33
        
34
        XCTAssertEqual(
35
            multipleQueuesJobStateProvider.ongoingJobIds,
36
            [
37
                JobId("jobId1"),
38
                JobId("jobId2"),
39
            ]
40
        )
41
    }
42
    
43
    func test___job_state___for_running_job() {
44
        statefulBucketQueueProvider.fakeStatefulBucketQueue.runningQueueState = RunningQueueState(
45
            enqueuedBucketCount: 1,
46
            enqueuedTests: [TestName(className: "class", methodName: "test")],
47
            dequeuedBucketCount: 2,
48
            dequeuedTests: [:]
49
        )
50
        
51
        container.add(runningJobQueue: createJobQueue(job: createJob(jobId: "jobId")))
52
        
53
        assert {
54
            try multipleQueuesJobStateProvider.state(jobId: "jobId")
55
        } equals: {
56
            JobState(
57
                jobId: "jobId",
58
                queueState: QueueState.running(statefulBucketQueueProvider.fakeStatefulBucketQueue.runningQueueState)
59
            )
60
        }
61
    }
62
    
63
    func test___job_state___for_deleted_job() {
64
        container.add(deletedJobQueues: [createJobQueue(job: createJob(jobId: "jobId"))])
65
        
66
        XCTAssertEqual(
67
            try multipleQueuesJobStateProvider.state(jobId: "jobId"),
68
            JobState(jobId: "jobId", queueState: QueueState.deleted)
69
        )
70
    }
71
    
72
    func test___job_state___for_non_existing_job___throws() {
73
        assertThrows {
74
            try multipleQueuesJobStateProvider.state(jobId: "jobId")
75
        }
76
    }
77
}
78

79

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.