forked from pivotal-cf/brokerapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaintenance_info_test.go
131 lines (121 loc) · 3 KB
/
maintenance_info_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
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
120
121
122
123
124
125
126
127
128
129
130
131
package brokerapi_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/ginkgo/extensions/table"
. "github.com/onsi/gomega"
"github.com/pivotal-cf/brokerapi"
)
var _ = Describe("MaintenanceInfo", func() {
Describe ("Equals", func() {
DescribeTable(
"returns false",
func(m1, m2 brokerapi.MaintenanceInfo) {
Expect(m1.Equals(m2)).To(BeFalse())
},
Entry(
"one property is missing",
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
},
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
}),
Entry(
"one extra property is added",
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
},
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
}),
Entry(
"one property is different",
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
},
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test-not-the-same",
Version: "1.2.3",
}),
Entry(
"all properties are missing in one of the objects",
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
},
brokerapi.MaintenanceInfo{}),
Entry(
"all properties are defined but different",
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
},
brokerapi.MaintenanceInfo{
Public: map[string]string{"bar": "foo"},
Private: "test-not-the-same",
Version: "8.9.6-rc3",
}),
)
DescribeTable(
"returns true",
func(m1, m2 brokerapi.MaintenanceInfo) {
Expect(m1.Equals(m2)).To(BeTrue())
},
Entry(
"all properties are the same",
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
},
brokerapi.MaintenanceInfo{
Public: map[string]string{"foo": "bar"},
Private: "test",
Version: "1.2.3",
}),
Entry(
"all properties are empty",
brokerapi.MaintenanceInfo{},
brokerapi.MaintenanceInfo{}),
Entry(
"both struct's are nil",
nil,
nil),
)
})
Describe("NilOrEmpty", func() {
It("return true when maintenance_info is nil", func() {
var m *brokerapi.MaintenanceInfo = nil
Expect(m.NilOrEmpty()).To(BeTrue())
})
It("return true when maintenance_info is empty", func() {
var m = &brokerapi.MaintenanceInfo{
Public: nil,
Private: "",
Version: "",
}
Expect(m.NilOrEmpty()).To(BeTrue())
})
It("return false when maintenance_info has properties", func() {
m := &brokerapi.MaintenanceInfo{
Public: map[string]string{
"test": "foo",
},
Private: "test-again",
Version: "1.2.3",
}
Expect(m.NilOrEmpty()).To(BeFalse())
})
})
})