@@ -2,38 +2,34 @@ package controller
22
33import (
44 "errors"
5+ "net/http"
6+ "net/http/httptest"
57 "os"
6- "path/filepath"
78 "testing"
89
9- builderconf "github.com/drycc/builder/pkg/conf"
1010 drycc "github.com/drycc/controller-sdk-go"
1111 "github.com/stretchr/testify/assert"
1212)
1313
1414func TestNew (t * testing.T ) {
15- tmpDir , err := os .MkdirTemp ("" , "tmpdir" )
16- if err != nil {
17- t .Fatalf ("error creating temp directory (%s)" , err )
18- }
19-
20- defer func () {
21- if err := os .RemoveAll (tmpDir ); err != nil {
22- t .Fatalf ("failed to remove service-key from %s (%s)" , tmpDir , err )
23- }
24- }()
25-
26- builderconf .ServiceKeyLocation = filepath .Join (tmpDir , "service-key" )
27- data := []byte ("testbuilderkey" )
28- if err := os .WriteFile (builderconf .ServiceKeyLocation , data , 0o644 ); err != nil {
29- t .Fatalf ("error creating %s (%s)" , builderconf .ServiceKeyLocation , err )
30- }
15+ ts := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
16+ w .Header ().Set ("Content-Type" , "application/json" )
17+ w .Write ([]byte (`{"access_token": "testing_token", "token_type": "Bearer"}` ))
18+ }))
19+ defer ts .Close ()
20+
21+ os .Setenv ("DRYCC_PASSPORT_URL" , ts .URL )
22+ os .Setenv ("DRYCC_PASSPORT_KEY" , "testing_key" )
23+ os .Setenv ("DRYCC_PASSPORT_SECRET" , "testing_secret" )
24+ defer os .Unsetenv ("DRYCC_PASSPORT_URL" )
25+ defer os .Unsetenv ("DRYCC_PASSPORT_KEY" )
26+ defer os .Unsetenv ("DRYCC_PASSPORT_SECRET" )
3127
3228 url := "http://127.0.0.1:80"
3329 cli , err := New (url )
3430 assert .Equal (t , err , nil )
3531 assert .Equal (t , cli .ControllerURL .String (), url , "data" )
36- assert .Equal (t , cli .ServiceKey , string ( data ) , "data" )
32+ assert .Equal (t , cli .Token , "Bearer testing_token" , "data" )
3733 assert .Equal (t , cli .UserAgent , "drycc-builder" , "user-agent" )
3834
3935 url = "http://127.0.0.1:invalid-port-number"
@@ -42,7 +38,8 @@ func TestNew(t *testing.T) {
4238 }
4339}
4440
45- func TestNewWithInvalidBuilderKeyPath (t * testing.T ) {
41+ func TestNewWithInvalidCredentials (t * testing.T ) {
42+ os .Unsetenv ("DRYCC_PASSPORT_URL" )
4643 url := "http://127.0.0.1:80"
4744 _ , err := New (url )
4845 assert .True (t , err != nil , "no error received when there should have been" )
0 commit comments