@@ -5,15 +5,15 @@ import (
5
5
"time"
6
6
)
7
7
8
- var mmsMessageObject [] byte = []byte (`{
8
+ var mmsMessageObject = []byte (`{
9
9
"id": "6d9e7100b1f9406c81a3c303c30ccf05",
10
10
"href": "https://rest.messagebird.com/mms/6d9e7100b1f9406c81a3c303c30ccf05",
11
11
"direction": "mt",
12
12
"originator": "TestName",
13
- "subject": "SBJCT ",
13
+ "subject": "TestSubject ",
14
14
"body": "Hello World",
15
- "mediaUrls": [],
16
- "reference": null ,
15
+ "mediaUrls": ["http://w3.org/1.gif", "http://w3.org/2.gif" ],
16
+ "reference": "TestReference" ,
17
17
"scheduledDatetime": null,
18
18
"createdDatetime": "2017-10-20T12:50:28+00:00",
19
19
"recipients": {
@@ -34,63 +34,66 @@ var mmsMessageObject []byte = []byte(`{
34
34
func TestNewMmsMessage (t * testing.T ) {
35
35
SetServerResponse (200 , mmsMessageObject )
36
36
37
- mmsMessage , err := mbClient .NewMmsMessage ("TestName" , []string {"31612345678" }, "Hello World" , nil , nil )
37
+ params := & MmsMessageParams {
38
+ Body : "Hello World" ,
39
+ MediaUrls : []string {"http://w3.org/1.gif" , "http://w3.org/2.gif" },
40
+ Subject : "TestSubject" ,
41
+ Reference : "TestReference" ,
42
+ ScheduledDatetime : time .Now (),
43
+ }
44
+ mmsMessage , err := mbClient .NewMmsMessage ("TestName" , []string {"31612345678" }, params )
45
+
38
46
if err != nil {
39
47
t .Fatalf ("Didn't expect error while creating a new MMS message: %s" , err )
40
48
}
41
-
42
- if mmsMessage .Id != "6d9e7100b1f9406c81a3c303c30ccf05" {
43
- t .Errorf ("Unexpected mmsMessage id: %s" , mmsMessage .Id )
49
+ if mmsMessage .ID != "6d9e7100b1f9406c81a3c303c30ccf05" {
50
+ t .Errorf ("Unexpected mmsMessage id: %s" , mmsMessage .ID )
44
51
}
45
-
46
52
if mmsMessage .HRef != "https://rest.messagebird.com/mms/6d9e7100b1f9406c81a3c303c30ccf05" {
47
53
t .Errorf ("Unexpected mmsMessage href: %s" , mmsMessage .HRef )
48
54
}
49
-
50
55
if mmsMessage .Direction != "mt" {
51
56
t .Errorf ("Unexpected mmsMessage direction: %s" , mmsMessage .Direction )
52
57
}
53
-
54
58
if mmsMessage .Originator != "TestName" {
55
59
t .Errorf ("Unexpected mmsMessage originator: %s" , mmsMessage .Originator )
56
60
}
57
-
58
61
if mmsMessage .Body != "Hello World" {
59
62
t .Errorf ("Unexpected mmsMessage body: %s" , mmsMessage .Body )
60
63
}
61
-
62
- if mmsMessage .Reference != "" {
64
+ if mmsMessage .MediaUrls [0 ] != "http://w3.org/1.gif" {
65
+ t .Errorf ("Unexpected mmsMessage mediaUrl: %s" , mmsMessage .MediaUrls [0 ])
66
+ }
67
+ if mmsMessage .MediaUrls [1 ] != "http://w3.org/2.gif" {
68
+ t .Errorf ("Unexpected mmsMessage mediaUrl: %s" , mmsMessage .MediaUrls [1 ])
69
+ }
70
+ if mmsMessage .Reference != "TestReference" {
63
71
t .Errorf ("Unexpected mmsMessage reference: %s" , mmsMessage .Reference )
64
72
}
65
-
73
+ if mmsMessage .Subject != "TestSubject" {
74
+ t .Errorf ("Unexpected mmsMessage reference: %s" , mmsMessage .Subject )
75
+ }
66
76
if mmsMessage .ScheduledDatetime != nil {
67
77
t .Errorf ("Unexpected mmsMessage scheduled datetime: %s" , mmsMessage .ScheduledDatetime )
68
78
}
69
-
70
79
if mmsMessage .CreatedDatetime == nil || mmsMessage .CreatedDatetime .Format (time .RFC3339 ) != "2017-10-20T12:50:28Z" {
71
80
t .Errorf ("Unexpected mmsMessage created datetime: %s" , mmsMessage .CreatedDatetime )
72
81
}
73
-
74
82
if mmsMessage .Recipients .TotalCount != 1 {
75
83
t .Fatalf ("Unexpected number of total count: %d" , mmsMessage .Recipients .TotalCount )
76
84
}
77
-
78
85
if mmsMessage .Recipients .TotalSentCount != 1 {
79
86
t .Errorf ("Unexpected number of total sent count: %d" , mmsMessage .Recipients .TotalSentCount )
80
87
}
81
-
82
88
if mmsMessage .Recipients .Items [0 ].Recipient != 31612345678 {
83
89
t .Errorf ("Unexpected mmsMessage recipient: %d" , mmsMessage .Recipients .Items [0 ].Recipient )
84
90
}
85
-
86
91
if mmsMessage .Recipients .Items [0 ].Status != "sent" {
87
92
t .Errorf ("Unexpected mmsMessage recipient status: %s" , mmsMessage .Recipients .Items [0 ].Status )
88
93
}
89
-
90
94
if mmsMessage .Recipients .Items [0 ].StatusDatetime == nil || mmsMessage .Recipients .Items [0 ].StatusDatetime .Format (time .RFC3339 ) != "2017-10-20T12:50:28Z" {
91
95
t .Errorf ("Unexpected datetime status for mmsMessage recipient: %s" , mmsMessage .Recipients .Items [0 ].StatusDatetime .Format (time .RFC3339 ))
92
96
}
93
-
94
97
if len (mmsMessage .Errors ) != 0 {
95
98
t .Errorf ("Unexpected number of errors in mmsMessage: %d" , len (mmsMessage .Errors ))
96
99
}
@@ -99,67 +102,43 @@ func TestNewMmsMessage(t *testing.T) {
99
102
func TestNewMmsMessageError (t * testing.T ) {
100
103
SetServerResponse (405 , accessKeyErrorObject )
101
104
102
- mmsMessage , err := mbClient .NewMmsMessage ("TestName" , []string {"31612345678" }, "Hello World" , nil , nil )
105
+ params := & MmsMessageParams {
106
+ Body : "Hello World" ,
107
+ MediaUrls : nil ,
108
+ Subject : "" ,
109
+ Reference : "" ,
110
+ ScheduledDatetime : time .Now (),
111
+ }
112
+ mmsMessage , err := mbClient .NewMmsMessage ("TestName" , []string {"31612345678" }, params )
113
+
103
114
if err != ErrResponse {
104
115
t .Fatalf ("Expected ErrResponse to be returned, instead I got %s" , err )
105
116
}
106
-
107
117
if len (mmsMessage .Errors ) != 1 {
108
118
t .Fatalf ("Unexpected number of errors: %d" , len (mmsMessage .Errors ))
109
119
}
110
-
111
120
if mmsMessage .Errors [0 ].Code != 2 {
112
121
t .Errorf ("Unexpected error code: %d" , mmsMessage .Errors [0 ].Code )
113
122
}
114
-
115
123
if mmsMessage .Errors [0 ].Parameter != "access_key" {
116
124
t .Errorf ("Unexpected error parameter %s" , mmsMessage .Errors [0 ].Parameter )
117
125
}
118
126
}
119
127
120
- func TestNewMmsMessageWithParams (t * testing.T ) {
121
- SetServerResponse (200 , mmsMessageObjectWithParams )
122
-
128
+ func TestNewMmsMessageWithEmptyParams (t * testing.T ) {
123
129
params := & MmsMessageParams {
124
- Subject : "Test-Subject" ,
125
- Reference : "Test-Reference" ,
130
+ Body : "" ,
131
+ MediaUrls : nil ,
132
+ Subject : "" ,
133
+ Reference : "" ,
134
+ ScheduledDatetime : time .Now (),
126
135
}
136
+ _ , err := mbClient .NewMmsMessage ("TestName" , []string {"31612345678" }, params )
127
137
128
- mmsMessage , err := mbClient .NewMmsMessage ("TestName" , []string {"31612345678" }, "" , []string {"http://w3.org/1.gif" , "http://w3.org/2.gif" }, params )
129
- if err != nil {
130
- t .Fatalf ("Didn't expect error while creating a new MMS message: %s" , err )
131
- }
132
-
133
- if mmsMessage .Subject != "Test-Subject" {
134
- t .Errorf ("Unexpected message subject: %s" , mmsMessage .Subject )
138
+ if err == nil {
139
+ t .Fatalf ("Expected error to be returned, instead I got nil" )
135
140
}
136
- if mmsMessage . Reference != "Test-Reference " {
137
- t .Errorf ("Unexpected message reference: %s" , mmsMessage . Reference )
141
+ if err . Error () != "Body or MediaUrls is required " {
142
+ t .Errorf ("Unexpected error message, I got %s" , err )
138
143
}
139
144
}
140
-
141
- var mmsMessageObjectWithParams []byte = []byte (`{
142
- "id": "6d9e7100b1f9406c81a3c303c30ccf05",
143
- "href": "https://rest.messagebird.com/mms/6d9e7100b1f9406c81a3c303c30ccf05",
144
- "direction": "mt",
145
- "originator": "TestName",
146
- "subject": "Test-Subject",
147
- "body": "Hello World",
148
- "mediaUrls": [],
149
- "reference": "Test-Reference",
150
- "scheduledDatetime": null,
151
- "createdDatetime": "2017-10-20T12:50:28+00:00",
152
- "recipients": {
153
- "totalCount": 1,
154
- "totalSentCount": 1,
155
- "totalDeliveredCount": 0,
156
- "totalDeliveryFailedCount": 0,
157
- "items": [
158
- {
159
- "recipient": 31612345678,
160
- "status": "sent",
161
- "statusDatetime": "2017-10-20T12:50:28+00:00"
162
- }
163
- ]
164
- }
165
- }` )
0 commit comments