-
Notifications
You must be signed in to change notification settings - Fork 668
/
ecsClusterActiveService.spec.js
119 lines (105 loc) · 4.27 KB
/
ecsClusterActiveService.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
var expect = require('chai').expect;
var ecs = require('./ecsClusterActiveService');
const createCache = (listData, descData) => {
return {
ecs: {
listClusters: {
'us-east-1': {
err: null,
data: listData
}
},
describeCluster: {
'us-east-1': {
'arn:aws:ecs:us-east-1:012345678911:cluster/testCluster': {
err: null,
data: descData
}
}
}
},
}
};
describe('ECSContainerInsightsEnabled', function () {
describe('run', function () {
it('should give passing result if no ECS clusters present', function (done) {
const callback = (err, results) => {
expect(results.length).to.equal(1)
expect(results[0].status).to.equal(0)
expect(results[0].message).to.include('No ECS clusters present')
done()
};
const cache = createCache([], {});
ecs.run(cache, {}, callback);
})
it('should FAIL if ecs cluster does not has active service', function (done) {
const callback = (err, results) => {
expect(results.length).to.equal(1)
expect(results[0].status).to.equal(2)
expect(results[0].message).to.include('ECS cluster does not have active services')
done()
};
const cache = createCache(
['arn:aws:ecs:us-east-1:012345678911:cluster/testCluster'],
{
"clusters": [{
"name": "mycluster",
"activeServicesCount": 0,
"arn": "arn:aws:ecs:us-east-1:012345678911:cluster/testCluster",
"settings": [{"name": "containerInsights", value: "disabled"}]
}]}
);
ecs.run(cache, {}, callback);
})
it('should give Unknown result if unable to query ecs cluster', function (done) {
const callback = (err, results) => {
expect(results.length).to.equal(1)
expect(results[0].status).to.equal(3)
expect(results[0].message).to.include('Unable to query for ECS clusters')
done()
};
const cache = createCache(
null,
{
"clusters": [{
"name": "mycluster",
"arn": "arn:aws:ecs:us-east-1:012345678911:cluster/testCluster",
"settings": [{"name": "containerInsights", value: "enabled"}]
}]}
);
ecs.run(cache, {}, callback);
})
it('should give unknown result if unable to describe the cluster', function (done) {
const callback = (err, results) => {
expect(results.length).to.equal(1);
expect(results[0].status).to.equal(3);
expect(results[0].message).to.include('Unable to describe ECS cluster');
done();
};
const cache = createCache(
['arn:aws:ecs:us-east-1:012345678911:cluster/testCluster'],
null
);
ecs.run(cache, {}, callback);
});
it('should PASS if ecs cluster has active services', function (done) {
const callback = (err, results) => {
expect(results.length).to.equal(1);
expect(results[0].status).to.equal(0);
expect(results[0].message).to.include('ECS cluster has active services');
done();
};
const cache = createCache(
['arn:aws:ecs:us-east-1:012345678911:cluster/testCluster'],
{
"clusters": [{
"name": "mycluster",
"activeServicesCount": 1,
"arn": "arn:aws:ecs:us-east-1:012345678911:cluster/testCluster",
"settings": [{"name": "containerInsights", value: "enabled"}]
}]}
);
ecs.run(cache, {}, callback);
});
});
})