File tree Expand file tree Collapse file tree 2 files changed +16
-5
lines changed Expand file tree Collapse file tree 2 files changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -66,10 +66,16 @@ func (h Osxkeychain) Delete(serverURL string) error {
66
66
}
67
67
defer freeServer (s )
68
68
69
- errMsg := C .keychain_delete (s )
70
- if errMsg != nil {
69
+ if errMsg := C .keychain_delete (s ); errMsg != nil {
71
70
defer C .free (unsafe .Pointer (errMsg ))
72
- return errors .New (C .GoString (errMsg ))
71
+ switch goMsg := C .GoString (errMsg ); goMsg {
72
+ case errCredentialsNotFound :
73
+ return credentials .NewErrCredentialsNotFound ()
74
+ case errInteractionNotAllowed :
75
+ return ErrInteractionNotAllowed
76
+ default :
77
+ return errors .New (goMsg )
78
+ }
73
79
}
74
80
75
81
return nil
Original file line number Diff line number Diff line change @@ -205,9 +205,14 @@ func TestOSXKeychainHelperStoreRetrieve(t *testing.T) {
205
205
}
206
206
207
207
func TestMissingCredentials (t * testing.T ) {
208
+ const nonExistingCred = "https://adsfasdf.invalid/asdfsdddd"
208
209
helper := Osxkeychain {}
209
- _ , _ , err := helper .Get ("https://adsfasdf.wrewerwer.com/asdfsdddd" )
210
+ _ , _ , err := helper .Get (nonExistingCred )
210
211
if ! credentials .IsErrCredentialsNotFound (err ) {
211
- t .Fatalf ("expected ErrCredentialsNotFound, got %v" , err )
212
+ t .Errorf ("expected ErrCredentialsNotFound, got %v" , err )
213
+ }
214
+ err = helper .Delete (nonExistingCred )
215
+ if ! credentials .IsErrCredentialsNotFound (err ) {
216
+ t .Errorf ("expected ErrCredentialsNotFound, got %v" , err )
212
217
}
213
218
}
You can’t perform that action at this time.
0 commit comments