Skip to content

Commit 4756632

Browse files
committed
Fix secretservice tests and expected behaviors
Signed-off-by: Nassim 'Nass' Eddequiouaq <[email protected]>
1 parent 1057cf7 commit 4756632

File tree

1 file changed

+41
-5
lines changed

1 file changed

+41
-5
lines changed

secretservice/secretservice_linux_test.go

Lines changed: 41 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,39 @@ 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+
if len(old_auths) >= 1 {
30+
for k, v := range old_auths {
31+
if strings.Compare(k, creds.ServerURL) == 0 && strings.Compare(v, creds.Username) == 0 {
32+
33+
if err := helper.Delete(creds.ServerURL); err != nil {
34+
t.Fatal(err)
35+
}
36+
}
37+
}
38+
39+
}
40+
41+
// Check again how many docker credentials we have when starting the test
42+
old_auths, err = helper.List()
43+
if err != nil {
44+
t.Fatal(err)
45+
}
46+
47+
// Add new credentials
1948
if err := helper.Add(creds); err != nil {
2049
t.Fatal(err)
2150
}
2251

52+
// Verify that it is inside the secret service store
2353
username, secret, err := helper.Get(creds.ServerURL)
2454
if err != nil {
2555
t.Fatal(err)
@@ -33,15 +63,21 @@ func TestSecretServiceHelper(t *testing.T) {
3363
t.Fatalf("expected %s, got %s\n", "foobarbaz", secret)
3464
}
3565

36-
if err := helper.Delete(creds.ServerURL); err != nil {
66+
// We should have one more credential than before adding
67+
new_auths, err := helper.List()
68+
if err != nil || (len(new_auths)-len(old_auths) != 1) {
3769
t.Fatal(err)
3870
}
39-
auths, err := helper.List()
40-
if err != nil || len(auths) == 0 {
71+
old_auths = new_auths
72+
73+
// Deleting the credentials associated to current server url should succeed
74+
if err := helper.Delete(creds.ServerURL); err != nil {
4175
t.Fatal(err)
4276
}
43-
helper.Add(creds)
44-
if newauths, err := helper.List(); (len(newauths) - len(auths)) != 1 {
77+
78+
// We should have one less credential than before deleting
79+
new_auths, err = helper.List()
80+
if err != nil || (len(old_auths)-len(new_auths) != 1) {
4581
t.Fatal(err)
4682
}
4783
}

0 commit comments

Comments
 (0)