remote: add a test to see that we're calling the credentials callback

This does get called when we use the libgit2 stack, but is not yet something the
Go one does.
This commit is contained in:
Carlos Martín Nieto 2017-04-17 19:02:49 +02:00 committed by Carlos Martín Nieto
parent e80ae1125a
commit 464c24ab07
1 changed files with 23 additions and 0 deletions

View File

@ -184,3 +184,26 @@ func TestRemotePrune(t *testing.T) {
t.Fatal("Expected error getting a pruned reference")
}
}
func TestRemoteCredentialsCalled(t *testing.T) {
t.Parallel()
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
remote, err := repo.Remotes.CreateAnonymous("https://github.com/libgit2/non-existent")
checkFatal(t, err)
fetchOpts := FetchOptions{
RemoteCallbacks: RemoteCallbacks{
CredentialsCallback: func(url, username string, allowedTypes CredType) (ErrorCode, *Cred) {
return ErrUser, nil
},
},
}
err = remote.Fetch(nil, &fetchOpts, "fetch")
if !IsErrorCode(err, ErrUser) {
t.Fatal("Bad Fetch return, expected ErrUser, got", err)
}
}