@@ -31,22 +31,21 @@ import (
3131
3232func TestTelegram_Post (t * testing.T ) {
3333 ts := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
34+ require .Equal (t , http .MethodPost , r .Method )
35+ require .Equal (t , "/sendMessage" , r .URL .Path )
36+ require .Equal (t , "application/json" , r .Header .Get ("Content-Type" ))
37+
3438 b , err := io .ReadAll (r .Body )
3539 require .NoError (t , err )
3640
37- var payload = WebexPayload {}
41+ var payload TelegramPayload
3842 err = json .Unmarshal (b , & payload )
3943 require .NoError (t , err )
40- }))
41- defer ts .Close ()
42-
43- telegram , err := NewTelegram ("channel" , "token" )
44- require .NoError (t , err )
4544
46- telegram . send = func ( url , message string ) error {
47- require .Equal (t , "telegram://token@telegram?channels=channel&parseMode=markDownv2 " , url )
45+ require . Equal ( t , "channel" , payload . ChatID )
46+ require .Equal (t , "MarkdownV2 " , payload . ParseMode )
4847
49- lines := strings .Split (message , "\n " )
48+ lines := strings .Split (payload . Text , "\n " )
5049 require .Len (t , lines , 5 )
5150 slices .Sort (lines [2 :4 ])
5251 require .Equal (t , "*💫 gitrepository/webapp/gitops\\ -system*" , lines [0 ])
@@ -57,11 +56,31 @@ func TestTelegram_Post(t *testing.T) {
5756 "" ,
5857 }, lines [2 :])
5958
60- return nil
61- }
59+ w .WriteHeader (http .StatusOK )
60+ }))
61+ defer ts .Close ()
62+
63+ telegram , err := NewTelegram ("" , "" , "channel" , "token" )
64+ require .NoError (t , err )
65+
66+ telegram .URL = ts .URL
6267
6368 ev := testEvent ()
6469 ev .Metadata ["kubernetes.io/somekey" ] = "some.value"
6570 err = telegram .Post (context .TODO (), ev )
6671 require .NoError (t , err )
6772}
73+
74+ func TestTelegram_NewTelegram_IgnoresAddress (t * testing.T ) {
75+ telegram , err := NewTelegram ("https://api.telegram.org" , "" , "channel" , "token" )
76+ require .NoError (t , err )
77+ require .Equal (t , "https://api.telegram.org/bottoken" , telegram .URL )
78+
79+ telegram2 , err := NewTelegram ("https://custom.example.com" , "" , "channel" , "token" )
80+ require .NoError (t , err )
81+ require .Equal (t , "https://api.telegram.org/bottoken" , telegram2 .URL )
82+
83+ telegram3 , err := NewTelegram ("" , "" , "channel" , "token" )
84+ require .NoError (t , err )
85+ require .Equal (t , "https://api.telegram.org/bottoken" , telegram3 .URL )
86+ }
0 commit comments