@@ -3,54 +3,53 @@ package registry_test
3
3
import (
4
4
"testing"
5
5
6
- "github.com/docker/cli/cli/config"
7
- "github.com/docker/cli/cli/config/configfile"
8
6
"github.com/stretchr/testify/assert"
9
- "github.com/stretchr/testify/require"
10
- "oras.land/oras-go/v2/registry/remote/auth"
11
7
12
8
"github.com/aws/eks-anywhere-packages/pkg/registry"
13
9
)
14
10
15
- func TestDockerCredentialStore (t * testing.T ) {
16
- configFile := newConfigFile (t , "testdata" )
17
- credentialStore := registry .NewDockerCredentialStore (configFile )
11
+ func TestCredentialStore_Init (t * testing.T ) {
12
+ credentialStore := registry .NewCredentialStore ()
13
+ credentialStore .SetDirectory ("testdata" )
14
+
15
+ err := credentialStore .Init ()
16
+ assert .NoError (t , err )
18
17
19
18
result , err := credentialStore .Credential ("localhost" )
20
- require .NoError (t , err )
21
- assertAuthEqual (t , auth.Credential {Username : "user" , Password : "pass" }, result )
19
+ assert .NoError (t , err )
20
+ assert .Equal (t , "user" , result .Username )
21
+ assert .Equal (t , "pass" , result .Password )
22
+ assert .Equal (t , "" , result .AccessToken )
23
+ assert .Equal (t , "" , result .RefreshToken )
22
24
23
25
result , err = credentialStore .Credential ("harbor.eksa.demo:30003" )
24
- require .NoError (t , err )
25
- assertAuthEqual (t , auth.Credential {Username : "captain" , Password : "haddock" }, result )
26
+ assert .NoError (t , err )
27
+ assert .Equal (t , "captain" , result .Username )
28
+ assert .Equal (t , "haddock" , result .Password )
29
+ assert .Equal (t , "" , result .AccessToken )
30
+ assert .Equal (t , "" , result .RefreshToken )
26
31
27
32
result , err = credentialStore .Credential ("bogus" )
28
- require .NoError (t , err )
29
- assertAuthEqual (t , auth .EmptyCredential , result )
33
+ assert .NoError (t , err )
34
+ assert .Equal (t , "" , result .Username )
35
+ assert .Equal (t , "" , result .Password )
36
+ assert .Equal (t , "" , result .AccessToken )
37
+ assert .Equal (t , "" , result .RefreshToken )
30
38
31
39
result , err = credentialStore .Credential ("5551212.dkr.ecr.us-west-2.amazonaws.com" )
32
40
// This is a generic error, so using errors.Is won't work, and this is as
33
41
// much of the string as we can reliably match against in a cross-platform
34
42
// fashion. Until they change it, then everything will break.
35
- require .ErrorContains (t , err , "error getting credentials - err" )
36
- assertAuthEqual (t , auth .EmptyCredential , result )
43
+ assert .ErrorContains (t , err , "error getting credentials - err" )
44
+ assert .Equal (t , "" , result .Username )
45
+ assert .Equal (t , "" , result .Password )
46
+ assert .Equal (t , "" , result .AccessToken )
47
+ assert .Equal (t , "" , result .RefreshToken )
37
48
}
38
49
39
50
func TestCredentialStore_InitEmpty (t * testing.T ) {
40
- registry .NewDockerCredentialStore (newConfigFile (t , "testdata/empty" ))
41
- }
42
-
43
- func newConfigFile (t * testing.T , dir string ) * configfile.ConfigFile {
44
- t .Helper ()
45
- configFile , err := config .Load (dir )
46
- require .NoError (t , err )
47
- return configFile
48
- }
49
-
50
- func assertAuthEqual (t * testing.T , expected , got auth.Credential ) {
51
- t .Helper ()
52
- assert .Equal (t , expected .Username , got .Username )
53
- assert .Equal (t , expected .Password , got .Password )
54
- assert .Equal (t , expected .AccessToken , got .AccessToken )
55
- assert .Equal (t , expected .RefreshToken , got .RefreshToken )
51
+ credentialStore := registry .NewCredentialStore ()
52
+ credentialStore .SetDirectory ("testdata/empty" )
53
+ err := credentialStore .Init ()
54
+ assert .NoError (t , err )
56
55
}
0 commit comments