-
Notifications
You must be signed in to change notification settings - Fork 0
/
database_ebs_test.go
62 lines (57 loc) · 1.26 KB
/
database_ebs_test.go
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
package evaluators
import (
"github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-sdk-go/service/configservice"
"github.com/stretchr/testify/assert"
"io/ioutil"
"testing"
)
func TestEvaluateDbEbsOptimization(t *testing.T) {
EbsOptimized, err := ioutil.ReadFile("../fixtures/sampleConfigItem.json")
if err != nil {
t.Fatal(err)
}
NonEbsOptimized, err := ioutil.ReadFile("../fixtures/sampleConfigItemNonOptimized.json")
if err != nil {
t.Fatal(err)
}
cases := []struct {
name string
event events.ConfigEvent
want string
}{
{
"eventLeftScope",
events.ConfigEvent{
EventLeftScope: true,
InvokingEvent: string(NonEbsOptimized),
},
configservice.ComplianceTypeNotApplicable,
},
{
"nonEBSOptimized",
events.ConfigEvent{
EventLeftScope: false,
InvokingEvent: string(NonEbsOptimized),
},
configservice.ComplianceTypeNonCompliant,
},
{
"EBSOptimized",
events.ConfigEvent{
EventLeftScope: false,
InvokingEvent: string(EbsOptimized),
},
configservice.ComplianceTypeCompliant,
},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
result, err := EvaluateDbEbsOptimization(c.event)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, c.want, result.Status)
})
}
}