Skip to content

Commit 7f0538c

Browse files
authored
Merge pull request #50 from n4ss/fix-secserv-tests
Fix secretservice tests and expected behaviors
2 parents 14381bf + 2f2e85c commit 7f0538c

File tree

1 file changed

+38
-5
lines changed

1 file changed

+38
-5
lines changed

secretservice/secretservice_linux_test.go

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package secretservice
22

33
import (
4+
"strings"
45
"testing"
56

67
"github.com/docker/docker-credential-helpers/credentials"
@@ -16,10 +17,36 @@ func TestSecretServiceHelper(t *testing.T) {
1617
}
1718

1819
helper := Secretservice{}
20+
21+
// Check how many docker credentials we have when starting the test
22+
old_auths, err := helper.List()
23+
if err != nil {
24+
t.Fatal(err)
25+
}
26+
27+
// If any docker credentials with the tests values we are providing, we
28+
// remove them as they probably come from a previous failed test
29+
for k, v := range old_auths {
30+
if strings.Compare(k, creds.ServerURL) == 0 && strings.Compare(v, creds.Username) == 0 {
31+
32+
if err := helper.Delete(creds.ServerURL); err != nil {
33+
t.Fatal(err)
34+
}
35+
}
36+
}
37+
38+
// Check again how many docker credentials we have when starting the test
39+
old_auths, err = helper.List()
40+
if err != nil {
41+
t.Fatal(err)
42+
}
43+
44+
// Add new credentials
1945
if err := helper.Add(creds); err != nil {
2046
t.Fatal(err)
2147
}
2248

49+
// Verify that it is inside the secret service store
2350
username, secret, err := helper.Get(creds.ServerURL)
2451
if err != nil {
2552
t.Fatal(err)
@@ -33,15 +60,21 @@ func TestSecretServiceHelper(t *testing.T) {
3360
t.Fatalf("expected %s, got %s\n", "foobarbaz", secret)
3461
}
3562

36-
if err := helper.Delete(creds.ServerURL); err != nil {
63+
// We should have one more credential than before adding
64+
new_auths, err := helper.List()
65+
if err != nil || (len(new_auths)-len(old_auths) != 1) {
3766
t.Fatal(err)
3867
}
39-
auths, err := helper.List()
40-
if err != nil || len(auths) == 0 {
68+
old_auths = new_auths
69+
70+
// Deleting the credentials associated to current server url should succeed
71+
if err := helper.Delete(creds.ServerURL); err != nil {
4172
t.Fatal(err)
4273
}
43-
helper.Add(creds)
44-
if newauths, err := helper.List(); (len(newauths) - len(auths)) != 1 {
74+
75+
// We should have one less credential than before deleting
76+
new_auths, err = helper.List()
77+
if err != nil || (len(old_auths)-len(new_auths) != 1) {
4578
t.Fatal(err)
4679
}
4780
}

0 commit comments

Comments
 (0)