1
0
mirror of https://github.com/docker/docker-credential-helpers.git synced 2026-06-13 16:01:28 +05:30

wincred: use sub-tests

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2023-05-27 15:38:24 +02:00
parent 814dbb3b5a
commit 7a60d70114
+47 -42
View File
@@ -129,17 +129,19 @@ func TestWinCredHelperRetrieveAliases(t *testing.T) {
} }
for _, tc := range tests { for _, tc := range tests {
c := &credentials.Credentials{ServerURL: tc.storeURL, Username: "hello", Secret: "world"} tc := tc
if err := helper.Add(c); err != nil { t.Run(tc.doc, func(t *testing.T) {
t.Errorf("Error: failed to store secret for URL %q: %s", tc.storeURL, err) c := &credentials.Credentials{ServerURL: tc.storeURL, Username: "hello", Secret: "world"}
continue if err := helper.Add(c); err != nil {
} t.Fatalf("Error: failed to store secret for URL %q: %s", tc.storeURL, err)
if _, _, err := helper.Get(tc.readURL); err != nil { }
t.Errorf("Error: failed to read secret for URL %q using %q", tc.storeURL, tc.readURL) if _, _, err := helper.Get(tc.readURL); err != nil {
} t.Errorf("Error: failed to read secret for URL %q using %q", tc.storeURL, tc.readURL)
if err := helper.Delete(tc.storeURL); err != nil { }
t.Error(err) if err := helper.Delete(tc.storeURL); err != nil {
} t.Error(err)
}
})
} }
} }
@@ -202,17 +204,19 @@ func TestWinCredHelperRetrieveStrict(t *testing.T) {
} }
for _, tc := range tests { for _, tc := range tests {
c := &credentials.Credentials{ServerURL: tc.storeURL, Username: "hello", Secret: "world"} tc := tc
if err := helper.Add(c); err != nil { t.Run(tc.doc, func(t *testing.T) {
t.Errorf("Error: failed to store secret for URL %q: %s", tc.storeURL, err) c := &credentials.Credentials{ServerURL: tc.storeURL, Username: "hello", Secret: "world"}
continue if err := helper.Add(c); err != nil {
} t.Fatalf("Error: failed to store secret for URL %q: %s", tc.storeURL, err)
if _, _, err := helper.Get(tc.readURL); err == nil { }
t.Errorf("Error: managed to read secret for URL %q using %q, but should not be able to", tc.storeURL, tc.readURL) if _, _, err := helper.Get(tc.readURL); err == nil {
} t.Errorf("Error: managed to read secret for URL %q using %q, but should not be able to", tc.storeURL, tc.readURL)
if err := helper.Delete(tc.storeURL); err != nil { }
t.Error(err) if err := helper.Delete(tc.storeURL); err != nil {
} t.Error(err)
}
})
} }
} }
@@ -251,27 +255,28 @@ func TestWinCredHelperStoreRetrieve(t *testing.T) {
// Note that we don't delete between individual tests here, to verify that // Note that we don't delete between individual tests here, to verify that
// subsequent stores/overwrites don't affect storing / retrieving secrets. // subsequent stores/overwrites don't affect storing / retrieving secrets.
for i, tc := range tests { for i, tc := range tests {
c := &credentials.Credentials{ tc := tc
ServerURL: tc.url, t.Run(tc.url, func(t *testing.T) {
Username: fmt.Sprintf("user-%d", i), c := &credentials.Credentials{
Secret: fmt.Sprintf("secret-%d", i), ServerURL: tc.url,
} Username: fmt.Sprintf("user-%d", i),
Secret: fmt.Sprintf("secret-%d", i),
}
if err := helper.Add(c); err != nil { if err := helper.Add(c); err != nil {
t.Errorf("Error: failed to store secret for URL: %s: %s", tc.url, err) t.Fatalf("Error: failed to store secret for URL: %s: %s", tc.url, err)
continue }
} user, secret, err := helper.Get(tc.url)
user, secret, err := helper.Get(tc.url) if err != nil {
if err != nil { t.Fatalf("Error: failed to read secret for URL %q: %s", tc.url, err)
t.Errorf("Error: failed to read secret for URL %q: %s", tc.url, err) }
continue if user != c.Username {
} t.Errorf("Error: expected username %s, got username %s for URL: %s", c.Username, user, tc.url)
if user != c.Username { }
t.Errorf("Error: expected username %s, got username %s for URL: %s", c.Username, user, tc.url) if secret != c.Secret {
} t.Errorf("Error: expected secret %s, got secret %s for URL: %s", c.Secret, secret, tc.url)
if secret != c.Secret { }
t.Errorf("Error: expected secret %s, got secret %s for URL: %s", c.Secret, secret, tc.url) })
}
} }
} }