@@ -2,6 +2,7 @@ package trigger
22
33import (
44 "net/http"
5+ "os"
56 "testing"
67
78 "github.com/bivas/rivi/mocks"
@@ -119,3 +120,33 @@ func TestTriggerHeaders(t *testing.T) {
119120 action .Apply (state .New (& mocks.MockConfiguration {}, meta ))
120121 assert .Nil (t , action .err , "error when sending trigger" )
121122}
123+
124+ func TestEnvironmentEndpoint (t * testing.T ) {
125+ httpmock .Activate ()
126+ defer httpmock .DeactivateAndReset ()
127+ meta := & mocks.MockData {
128+ Number : 1 ,
129+ Title : "title1" ,
130+ State : "tested" ,
131+ Owner : "test" ,
132+ Repo : "repo1" ,
133+ Origin : types.Origin {User : "tester" },
134+ }
135+ os .Setenv ("MOCK_HOST" , "mock" )
136+ os .Setenv ("MOCK_PORT" , "1111" )
137+ rule := & rule {
138+ Endpoint : "http://${MOCK_HOST}:${MOCK_PORT}/trigger" ,
139+ }
140+ rule .Defaults ()
141+ httpmock .RegisterResponder (
142+ "POST" ,
143+ "http://mock:1111/trigger" ,
144+ func (req * http.Request ) (* http.Response , error ) {
145+ assert .Equal (t , "trigger" , req .Header .Get ("X-Rivi-Event" ), "missing correct event" )
146+ assert .Equal (t , "Rivi-Agent/1.0" , req .UserAgent (), "user agent" )
147+ return httpmock .NewStringResponse (200 , "" ), nil
148+ })
149+ action := & action {rule : rule , client : http .DefaultClient , logger : log .Get ("trigger.test" )}
150+ action .Apply (state .New (& mocks.MockConfiguration {}, meta ))
151+ assert .Nil (t , action .err , "error when sending trigger" )
152+ }
0 commit comments