@@ -55,6 +55,26 @@ func TestTriggerMultiSuccessCase(t *testing.T) {
55
55
assert .NoError (t , err )
56
56
}
57
57
58
+ func TestTriggerMultiEncryptedRejected (t * testing.T ) {
59
+ server := httptest .NewServer (http .HandlerFunc (func (res http.ResponseWriter , req * http.Request ) {
60
+ t .Fatal ("No request should reach the API" )
61
+ }))
62
+ defer server .Close ()
63
+
64
+ u , _ := url .Parse (server .URL )
65
+ client := Client {
66
+ AppID : "id" ,
67
+ Key : "key" ,
68
+ Secret : "secret" ,
69
+ Host : u .Host ,
70
+ EncryptionMasterKeyBase64 : "ZUhQVldIZzduRkdZVkJzS2pPRkRYV1JyaWJJUjJiMGI=" ,
71
+ }
72
+ err := client .TriggerMulti ([]string {"test_channel" , "private-encrypted-other_channel" }, "test" , "yolo" )
73
+ assert .Error (t , err )
74
+ assert .Contains (t , err .Error (), "multiple channels" )
75
+ assert .Contains (t , err .Error (), "encrypted channels" )
76
+ }
77
+
58
78
func TestGetChannelsSuccessCase (t * testing.T ) {
59
79
server := httptest .NewServer (http .HandlerFunc (func (res http.ResponseWriter , req * http.Request ) {
60
80
res .WriteHeader (200 )
@@ -210,6 +230,7 @@ func TestTriggerBatchNoEncryptionMasterKeyWithEncryptedChanFailure(t *testing.T)
210
230
})
211
231
212
232
assert .Error (t , err )
233
+ assert .Contains (t , err .Error (), "master encryption key" )
213
234
}
214
235
215
236
func TestTriggerWithEncryptedChanSuccess (t * testing.T ) {
@@ -272,6 +293,7 @@ func TestTriggerInvalidMasterKey(t *testing.T) {
272
293
}
273
294
err := client .Trigger ("private-encrypted-test_channel" , "test" , "yolo1" )
274
295
assert .Error (t , err )
296
+ assert .Contains (t , err .Error (), "32 bytes" )
275
297
276
298
// too long (deprecated)
277
299
client = Client {
@@ -283,6 +305,7 @@ func TestTriggerInvalidMasterKey(t *testing.T) {
283
305
}
284
306
err = client .Trigger ("private-encrypted-test_channel" , "test" , "yolo1" )
285
307
assert .Error (t , err )
308
+ assert .Contains (t , err .Error (), "32 bytes" )
286
309
287
310
// both provided
288
311
client = Client {
@@ -295,6 +318,7 @@ func TestTriggerInvalidMasterKey(t *testing.T) {
295
318
}
296
319
err = client .Trigger ("private-encrypted-test_channel" , "test" , "yolo1" )
297
320
assert .Error (t , err )
321
+ assert .Contains (t , err .Error (), "both" )
298
322
299
323
// too short
300
324
client = Client {
@@ -306,6 +330,7 @@ func TestTriggerInvalidMasterKey(t *testing.T) {
306
330
}
307
331
err = client .Trigger ("private-encrypted-test_channel" , "test" , "yolo1" )
308
332
assert .Error (t , err )
333
+ assert .Contains (t , err .Error (), "32 bytes" )
309
334
310
335
// too long
311
336
client = Client {
@@ -317,6 +342,7 @@ func TestTriggerInvalidMasterKey(t *testing.T) {
317
342
}
318
343
err = client .Trigger ("private-encrypted-test_channel" , "test" , "yolo1" )
319
344
assert .Error (t , err )
345
+ assert .Contains (t , err .Error (), "32 bytes" )
320
346
321
347
// invalid base64
322
348
client = Client {
@@ -328,6 +354,7 @@ func TestTriggerInvalidMasterKey(t *testing.T) {
328
354
}
329
355
err = client .Trigger ("private-encrypted-test_channel" , "test" , "yolo1" )
330
356
assert .Error (t , err )
357
+ assert .Contains (t , err .Error (), "valid base64" )
331
358
}
332
359
333
360
func TestErrorResponseHandler (t * testing.T ) {
0 commit comments