11package cloudflare
22
33import (
4+ "encoding/json"
45 "fmt"
56 "net/http"
67 "testing"
@@ -9,6 +10,40 @@ import (
910 "github.com/stretchr/testify/assert"
1011)
1112
13+ var (
14+ payloadTemplate = `{"expires_on":"%s"}`
15+ unmarshalTime = time .Now ().UTC ().Round (time .Second )
16+ )
17+
18+ func TestOriginCA_UnmarshalRFC3339 (t * testing.T ) {
19+ payload := fmt .Sprintf (payloadTemplate , unmarshalTime .Format (time .RFC3339 ))
20+
21+ var cert OriginCACertificate
22+ err := json .Unmarshal ([]byte (payload ), & cert )
23+ if assert .NoError (t , err ) {
24+ assert .Equal (t , unmarshalTime , cert .ExpiresOn )
25+ }
26+ }
27+
28+ func TestOriginCA_UnmarshalString (t * testing.T ) {
29+ payload := fmt .Sprintf (payloadTemplate , unmarshalTime .String ())
30+
31+ var cert OriginCACertificate
32+ err := json .Unmarshal ([]byte (payload ), & cert )
33+ if assert .NoError (t , err ) {
34+ assert .Equal (t , unmarshalTime , cert .ExpiresOn )
35+ }
36+ }
37+
38+ func TestOriginCA_UnmarshalOther (t * testing.T ) {
39+ payload := fmt .Sprintf (payloadTemplate , unmarshalTime .Format (time .RFC1123 ))
40+
41+ var cert OriginCACertificate
42+ err := json .Unmarshal ([]byte (payload ), & cert )
43+ assert .Error (t , err )
44+ assert .Equal (t , OriginCACertificate {}, cert )
45+ }
46+
1247func TestOriginCA_CreateOriginCertificate (t * testing.T ) {
1348 setup ()
1449 defer teardown ()
0 commit comments