@@ -53,7 +53,7 @@ func (s *MessageSuite) Test_ensureCorrectJsonRepresentation() {
5353
5454 actual := & model.PagedMessages {
5555 Paging : model.Paging {Limit : 5 , Since : 122 , Size : 5 , Next : "http://example.com/message?limit=5&since=122" },
56- Messages : []* model.MessageExternal {{ID : 55 , ApplicationID : 2 , Message : "hi" , Title : "hi" , Date : t , Priority : 4 , Extras : map [string ]interface {}{
56+ Messages : []* model.MessageExternal {{ID : 55 , ApplicationID : 2 , Message : "hi" , Title : "hi" , Date : t , Priority : intPtr ( 4 ) , Extras : map [string ]interface {}{
5757 "test::string" : "string" ,
5858 "test::array" : []interface {}{1 , 2 , 3 },
5959 "test::int" : 1 ,
@@ -331,7 +331,29 @@ func (s *MessageSuite) Test_CreateMessage_onJson_allParams() {
331331
332332 msgs , err := s .db .GetMessagesByApplication (7 )
333333 assert .NoError (s .T (), err )
334- expected := & model.MessageExternal {ID : 1 , ApplicationID : 7 , Title : "mytitle" , Message : "mymessage" , Priority : 1 , Date : t }
334+ expected := & model.MessageExternal {ID : 1 , ApplicationID : 7 , Title : "mytitle" , Message : "mymessage" , Priority : intPtr (1 ), Date : t }
335+ assert .Len (s .T (), msgs , 1 )
336+ assert .Equal (s .T (), expected , toExternalMessage (msgs [0 ]))
337+ assert .Equal (s .T (), 200 , s .recorder .Code )
338+ assert .Equal (s .T (), expected , s .notifiedMessage )
339+ }
340+
341+ func (s * MessageSuite ) Test_CreateMessage_WithDefaultPriority () {
342+ t , _ := time .Parse ("2006/01/02" , "2017/01/02" )
343+
344+ timeNow = func () time.Time { return t }
345+ defer func () { timeNow = time .Now }()
346+
347+ auth .RegisterAuthentication (s .ctx , nil , 4 , "app-token" )
348+ s .db .User (4 ).AppWithTokenAndDefaultPriority (8 , "app-token" , 5 )
349+ s .ctx .Request = httptest .NewRequest ("POST" , "/message" , strings .NewReader (`{"title": "mytitle", "message": "mymessage"}` ))
350+ s .ctx .Request .Header .Set ("Content-Type" , "application/json" )
351+
352+ s .a .CreateMessage (s .ctx )
353+
354+ msgs , err := s .db .GetMessagesByApplication (8 )
355+ assert .NoError (s .T (), err )
356+ expected := & model.MessageExternal {ID : 1 , ApplicationID : 8 , Title : "mytitle" , Message : "mymessage" , Priority : intPtr (5 ), Date : t }
335357 assert .Len (s .T (), msgs , 1 )
336358 assert .Equal (s .T (), expected , toExternalMessage (msgs [0 ]))
337359 assert .Equal (s .T (), 200 , s .recorder .Code )
@@ -352,7 +374,7 @@ func (s *MessageSuite) Test_CreateMessage_WithTitle() {
352374
353375 msgs , err := s .db .GetMessagesByApplication (5 )
354376 assert .NoError (s .T (), err )
355- expected := & model.MessageExternal {ID : 1 , ApplicationID : 5 , Title : "mytitle" , Message : "mymessage" , Date : t }
377+ expected := & model.MessageExternal {ID : 1 , ApplicationID : 5 , Title : "mytitle" , Message : "mymessage" , Date : t , Priority : intPtr ( 0 ) }
356378 assert .Len (s .T (), msgs , 1 )
357379 assert .Equal (s .T (), expected , toExternalMessage (msgs [0 ]))
358380 assert .Equal (s .T (), 200 , s .recorder .Code )
@@ -446,6 +468,7 @@ func (s *MessageSuite) Test_CreateMessage_WithExtras() {
446468 Message : "mymessage" ,
447469 Title : "msg with extras" ,
448470 Date : t ,
471+ Priority : intPtr (0 ),
449472 Extras : map [string ]interface {}{
450473 "gotify::test" : map [string ]interface {}{
451474 "string" : "test" ,
@@ -492,7 +515,7 @@ func (s *MessageSuite) Test_CreateMessage_onQueryData() {
492515
493516 s .a .CreateMessage (s .ctx )
494517
495- expected := & model.MessageExternal {ID : 1 , ApplicationID : 2 , Title : "mytitle" , Message : "mymessage" , Priority : 1 , Date : t }
518+ expected := & model.MessageExternal {ID : 1 , ApplicationID : 2 , Title : "mytitle" , Message : "mymessage" , Priority : intPtr ( 1 ) , Date : t }
496519
497520 msgs , err := s .db .GetMessagesByApplication (2 )
498521 assert .NoError (s .T (), err )
@@ -515,7 +538,7 @@ func (s *MessageSuite) Test_CreateMessage_onFormData() {
515538
516539 s .a .CreateMessage (s .ctx )
517540
518- expected := & model.MessageExternal {ID : 1 , ApplicationID : 99 , Title : "mytitle" , Message : "mymessage" , Priority : 1 , Date : t }
541+ expected := & model.MessageExternal {ID : 1 , ApplicationID : 99 , Title : "mytitle" , Message : "mymessage" , Priority : intPtr ( 1 ) , Date : t }
519542 msgs , err := s .db .GetMessagesByApplication (99 )
520543 assert .NoError (s .T (), err )
521544 assert .Len (s .T (), msgs , 1 )
@@ -528,3 +551,7 @@ func (s *MessageSuite) withURL(scheme, host, path, query string) {
528551 s .ctx .Request .URL = & url.URL {Path : path , RawQuery : query }
529552 s .ctx .Set ("location" , & url.URL {Scheme : scheme , Host : host })
530553}
554+
555+ func intPtr (x int ) * int {
556+ return & x
557+ }
0 commit comments