@@ -24,14 +24,22 @@ import (
24
24
25
25
"github.com/digitalocean/godo"
26
26
"github.com/stretchr/testify/assert"
27
+ "github.com/stretchr/testify/require"
27
28
)
28
29
29
30
func TestNewManager (t * testing.T ) {
30
- t .Run ("success" , func (t * testing.T ) {
31
+ t .Run ("success with literal token " , func (t * testing.T ) {
31
32
cfg := `{"cluster_id": "123456", "token": "123-123-123", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
32
33
33
34
manager , err := newManager (bytes .NewBufferString (cfg ))
34
- assert .NoError (t , err )
35
+ require .NoError (t , err )
36
+ assert .Equal (t , manager .clusterID , "123456" , "cluster ID does not match" )
37
+ })
38
+ t .Run ("success with token file" , func (t * testing.T ) {
39
+ cfg := `{"cluster_id": "123456", "token_file": "testdata/correct_token", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
40
+
41
+ manager , err := newManager (bytes .NewBufferString (cfg ))
42
+ require .NoError (t , err )
35
43
assert .Equal (t , manager .clusterID , "123456" , "cluster ID does not match" )
36
44
})
37
45
@@ -41,7 +49,31 @@ func TestNewManager(t *testing.T) {
41
49
_ , err := newManager (bytes .NewBufferString (cfg ))
42
50
assert .EqualError (t , err , errors .New ("access token is not provided" ).Error ())
43
51
})
52
+ t .Run ("literal and token file" , func (t * testing.T ) {
53
+ cfg := `{"cluster_id": "123456", "token": "123-123-123", "token_file": "tokendata/correct_token", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
54
+
55
+ _ , err := newManager (bytes .NewBufferString (cfg ))
56
+ assert .EqualError (t , err , errors .New ("access token literal and access token file must not be provided together" ).Error ())
57
+ })
58
+ t .Run ("missing token file" , func (t * testing.T ) {
59
+ cfg := `{"cluster_id": "123456", "token_file": "testdata/missing_token", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
44
60
61
+ _ , err := newManager (bytes .NewBufferString (cfg ))
62
+ require .NotNil (t , err )
63
+ assert .Contains (t , err .Error (), "failed to read token file" )
64
+ })
65
+ t .Run ("empty token file" , func (t * testing.T ) {
66
+ cfg := `{"cluster_id": "123456", "token_file": "testdata/empty_token", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
67
+
68
+ _ , err := newManager (bytes .NewBufferString (cfg ))
69
+ assert .EqualError (t , err , errors .New (`token file "testdata/empty_token" is empty` ).Error ())
70
+ })
71
+ t .Run ("all whitespace token file" , func (t * testing.T ) {
72
+ cfg := `{"cluster_id": "123456", "token_file": "testdata/whitespace_token", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
73
+
74
+ _ , err := newManager (bytes .NewBufferString (cfg ))
75
+ assert .EqualError (t , err , errors .New (`token file "testdata/whitespace_token" is empty` ).Error ())
76
+ })
45
77
t .Run ("empty cluster ID" , func (t * testing.T ) {
46
78
cfg := `{"cluster_id": "", "token": "123-123-123", "url": "https://api.digitalocean.com/v2", "version": "dev"}`
47
79
0 commit comments