6 "github.com/stretchr/testify/assert"
7 "github.com/stretchr/testify/require"
11 func TestSsl_All(t *testing.T) {
12 assert := assert.New(t)
13 require := require.New(t)
16 fixture: "sslListAllOk.json",
22 assert.Equal("/SSL", c.sentRequestPath)
23 assert.Equal("GET", c.sentRequestMethod)
24 assert.Nil(c.sentRequestValues)
26 mixed := make(map[string]string)
27 flags := make(map[string]bool)
28 flags["is_extended"] = false
29 flags["has_pfs"] = true
30 flags["is_broken"] = false
31 flags["is_expired"] = false
32 flags["is_missing"] = false
33 flags["is_revoked"] = false
34 flags["has_mixed"] = false
39 Domain: "https://www.exemple.com",
40 IssuerCn: "Let's Encrypt Authority X3",
43 CertStatus: "CERT_OK",
44 Cipher: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
45 ValidFromUtc: "2019-05-28 01:22:00",
46 ValidUntilUtc: "2019-08-26 01:22:00",
47 MixedContent: []map[string]string{},
49 ContactGroups: []string{},
57 LastUpdatedUtc: "2019-06-20 10:11:03",
59 assert.Equal(expectedTest, ssls[0])
61 expectedTest.ID="143617"
62 expectedTest.LastUpdatedUtc="2019-06-20 10:23:20"
63 assert.Equal(expectedTest, ssls[2])
65 expectedTest.ID="143616"
66 expectedTest.LastUpdatedUtc="2019-06-20 10:23:14"
68 mixed["src"]="http://example.com/image.gif"
69 expectedTest.MixedContent=[]map[string]string{mixed}
70 expectedTest.ContactGroupsC="12,13,34"
71 expectedTest.ContactGroups=[]string{"12","13","34"}
72 assert.Equal(expectedTest, ssls[1])
75 func TestSsls_Detail_OK(t *testing.T) {
76 assert := assert.New(t)
77 require := require.New(t)
80 fixture: "sslListAllOk.json",
84 ssl, err := tt.Detail("143616")
86 assert.Equal("/SSL", c.sentRequestPath)
87 assert.Equal("GET", c.sentRequestMethod)
88 assert.Nil(c.sentRequestValues)
90 mixed := make(map[string]string)
91 flags := make(map[string]bool)
94 mixed["src"]="http://example.com/image.gif"
96 flags["is_extended"] = false
97 flags["has_pfs"] = true
98 flags["is_broken"] = false
99 flags["is_expired"] = false
100 flags["is_missing"] = false
101 flags["is_revoked"] = false
102 flags["has_mixed"] = false
103 expectedTest := &Ssl{
107 Domain: "https://www.exemple.com",
108 IssuerCn: "Let's Encrypt Authority X3",
111 CertStatus: "CERT_OK",
112 Cipher: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
113 ValidFromUtc: "2019-05-28 01:22:00",
114 ValidUntilUtc: "2019-08-26 01:22:00",
115 MixedContent: []map[string]string{mixed},
117 ContactGroups: []string{"12","13","34"},
118 ContactGroupsC: "12,13,34",
119 AlertAt: "7,18,2019",
125 LastUpdatedUtc: "2019-06-20 10:23:14",
128 assert.Equal(expectedTest, ssl)
131 func TestSsls_CreatePartial_OK(t *testing.T) {
132 assert := assert.New(t)
133 require := require.New(t)
136 fixture: "sslCreateOk.json",
139 partial := &PartialSsl{
140 Domain: "https://www.exemple.com",
141 Checkrate: "2073600",
147 AlertAt: "7,18,2019",
149 expectedRes := &PartialSsl {
151 Domain: "https://www.exemple.com",
152 Checkrate: "2073600",
158 AlertAt: "7,18,2019",
160 res, err := tt.CreatePartial(partial)
162 assert.Equal("/SSL/Update", c.sentRequestPath)
163 assert.Equal("PUT", c.sentRequestMethod)
164 assert.Equal(c.sentRequestValues,url.Values(url.Values{"domain":[]string{"https://www.exemple.com"}, "checkrate":[]string{"2073600"}, "contact_groups":[]string{""}, "alert_at":[]string{"7,18,2019"}, "alert_expiry":[]string{"true"}, "alert_reminder":[]string{"true"}, "alert_broken":[]string{"true"}, "alert_mixed":[]string{"true"}}))
166 assert.Equal(expectedRes, res)
169 func TestSsls_UpdatePartial_OK(t *testing.T) {
170 assert := assert.New(t)
171 require := require.New(t)
174 fixture: "sslUpdateOk.json",
177 partial := &PartialSsl{
179 Domain: "https://www.exemple.com",
180 Checkrate: "2073600",
182 AlertReminder: false,
186 AlertAt: "7,18,2019",
188 expectedRes := &PartialSsl {
190 Domain: "https://www.exemple.com",
191 Checkrate: "2073600",
193 AlertReminder: false,
197 AlertAt: "7,18,2019",
199 res, err := tt.UpdatePartial(partial)
201 assert.Equal(expectedRes, res)
202 assert.Equal("/SSL/Update", c.sentRequestPath)
203 assert.Equal("PUT", c.sentRequestMethod)
204 assert.Equal(c.sentRequestValues,url.Values(url.Values{"id":[]string{"143616"},"domain":[]string{"https://www.exemple.com"}, "checkrate":[]string{"2073600"}, "contact_groups":[]string{""}, "alert_at":[]string{"7,18,2019"}, "alert_expiry":[]string{"true"}, "alert_reminder":[]string{"false"}, "alert_broken":[]string{"true"}, "alert_mixed":[]string{"true"}}))
207 func TestSsl_complete_OK(t *testing.T) {
208 assert := assert.New(t)
209 require := require.New(t)
212 fixture: "sslListAllOk.json",
216 partial := &PartialSsl {
218 Domain: "https://www.exemple.com",
219 Checkrate: "2073600",
220 ContactGroupsC: "12,13,34",
225 AlertAt: "7,18,2019",
227 full, err := tt.completeSsl(partial)
229 mixed := make(map[string]string)
230 flags := make(map[string]bool)
233 mixed["src"]="http://example.com/image.gif"
235 flags["is_extended"] = false
236 flags["has_pfs"] = true
237 flags["is_broken"] = false
238 flags["is_expired"] = false
239 flags["is_missing"] = false
240 flags["is_revoked"] = false
241 flags["has_mixed"] = false
242 expectedTest := &Ssl{
246 Domain: "https://www.exemple.com",
247 IssuerCn: "Let's Encrypt Authority X3",
250 CertStatus: "CERT_OK",
251 Cipher: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
252 ValidFromUtc: "2019-05-28 01:22:00",
253 ValidUntilUtc: "2019-08-26 01:22:00",
254 MixedContent: []map[string]string{mixed},
256 ContactGroups: []string{"12","13","34"},
257 ContactGroupsC: "12,13,34",
258 AlertAt: "7,18,2019",
264 LastUpdatedUtc: "2019-06-20 10:23:14",
267 assert.Equal(expectedTest, full)
271 func TestSsl_partial_OK(t *testing.T) {
272 assert := assert.New(t)
273 require := require.New(t)
275 mixed := make(map[string]string)
276 flags := make(map[string]bool)
279 mixed["src"]="http://example.com/image.gif"
281 flags["is_extended"] = false
282 flags["has_pfs"] = true
283 flags["is_broken"] = false
284 flags["is_expired"] = false
285 flags["is_missing"] = false
286 flags["is_revoked"] = false
287 flags["has_mixed"] = false
292 Domain: "https://www.exemple.com",
293 IssuerCn: "Let's Encrypt Authority X3",
296 CertStatus: "CERT_OK",
297 Cipher: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
298 ValidFromUtc: "2019-05-28 01:22:00",
299 ValidUntilUtc: "2019-08-26 01:22:00",
300 MixedContent: []map[string]string{mixed},
302 ContactGroups: []string{"12","13","34"},
303 ContactGroupsC: "12,13,34",
304 AlertAt: "7,18,2019",
310 LastUpdatedUtc: "2019-06-20 10:23:14",
312 expectedTest:=&PartialSsl {
314 Domain: "https://www.exemple.com",
315 Checkrate: "2073600",
316 ContactGroupsC: "12,13,34",
321 AlertAt: "7,18,2019",
323 partial,err:=Partial(full)
325 assert.Equal(expectedTest, partial)
329 func TestSsls_Delete_OK(t *testing.T) {
330 assert := assert.New(t)
331 require := require.New(t)
334 fixture: "sslDeleteOk.json",
338 err := tt.Delete("143616")
340 assert.Equal("/SSL/Update", c.sentRequestPath)
341 assert.Equal("DELETE", c.sentRequestMethod)
342 assert.Equal(c.sentRequestValues,url.Values(url.Values{"id":[]string{"143616"},},))