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

Publish helper structs and methods.

Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
David Calavera
2016-03-24 15:08:17 -07:00
parent 4b8917b1cf
commit df8c7a02f1
9 changed files with 25 additions and 37 deletions
+1 -1
View File
@@ -6,5 +6,5 @@ import (
) )
func main() { func main() {
credentials.Serve(osxkeychain.New()) credentials.Serve(osxkeychain.Osxkeychain{})
} }
+5 -9
View File
@@ -22,15 +22,11 @@ import (
// when the credentials are not in the keychain. // when the credentials are not in the keychain.
const errCredentialsNotFound = "The specified item could not be found in the keychain." const errCredentialsNotFound = "The specified item could not be found in the keychain."
type osxkeychain struct{} // Osxkeychain handles secrets using the OS X Keychain as store.
type Osxkeychain struct{}
// New creates a new osxkeychain.
func New() credentials.Helper {
return osxkeychain{}
}
// Add adds new credentials to the keychain. // Add adds new credentials to the keychain.
func (h osxkeychain) Add(creds *credentials.Credentials) error { func (h Osxkeychain) Add(creds *credentials.Credentials) error {
s, err := splitServer(creds.ServerURL) s, err := splitServer(creds.ServerURL)
if err != nil { if err != nil {
return err return err
@@ -52,7 +48,7 @@ func (h osxkeychain) Add(creds *credentials.Credentials) error {
} }
// Delete removes credentials from the keychain. // Delete removes credentials from the keychain.
func (h osxkeychain) Delete(serverURL string) error { func (h Osxkeychain) Delete(serverURL string) error {
s, err := splitServer(serverURL) s, err := splitServer(serverURL)
if err != nil { if err != nil {
return err return err
@@ -69,7 +65,7 @@ func (h osxkeychain) Delete(serverURL string) error {
} }
// Get returns the username and secret to use for a given registry server URL. // Get returns the username and secret to use for a given registry server URL.
func (h osxkeychain) Get(serverURL string) (string, string, error) { func (h Osxkeychain) Get(serverURL string) (string, string, error) {
s, err := splitServer(serverURL) s, err := splitServer(serverURL)
if err != nil { if err != nil {
return "", "", err return "", "", err
+2 -2
View File
@@ -13,7 +13,7 @@ func TestOSXKeychainHelper(t *testing.T) {
Secret: "foobarbaz", Secret: "foobarbaz",
} }
helper := New() helper := Osxkeychain{}
if err := helper.Add(creds); err != nil { if err := helper.Add(creds); err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -37,7 +37,7 @@ func TestOSXKeychainHelper(t *testing.T) {
} }
func TestMissingCredentials(t *testing.T) { func TestMissingCredentials(t *testing.T) {
helper := New() helper := Osxkeychain{}
_, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd") _, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd")
if err != credentials.ErrCredentialsNotFound { if err != credentials.ErrCredentialsNotFound {
t.Fatalf("exptected ErrCredentialsNotFound, got %v", err) t.Fatalf("exptected ErrCredentialsNotFound, got %v", err)
+1 -1
View File
@@ -6,5 +6,5 @@ import (
) )
func main() { func main() {
credentials.Serve(secretservice.New()) credentials.Serve(secretservice.Secretservice{})
} }
+6 -10
View File
@@ -14,15 +14,11 @@ import (
"github.com/docker/docker-credential-helpers/credentials" "github.com/docker/docker-credential-helpers/credentials"
) )
type secretservice struct{} // Secretservice handles secrets using Linux secret-service as a store.
type Secretservice struct{}
// New creates a new secretservice.
func New() credentials.Helper {
return secretservice{}
}
// Add adds new credentials to the keychain. // Add adds new credentials to the keychain.
func (h secretservice) Add(creds *credentials.Credentials) error { func (h Secretservice) Add(creds *credentials.Credentials) error {
if creds == nil { if creds == nil {
return errors.New("missing credentials") return errors.New("missing credentials")
} }
@@ -41,8 +37,8 @@ func (h secretservice) Add(creds *credentials.Credentials) error {
return nil return nil
} }
// Delete removes credentials from the keychain. // Delete removes credentials from the store.
func (h secretservice) Delete(serverURL string) error { func (h Secretservice) Delete(serverURL string) error {
if serverURL == "" { if serverURL == "" {
return errors.New("missing server url") return errors.New("missing server url")
} }
@@ -58,7 +54,7 @@ func (h secretservice) Delete(serverURL string) error {
} }
// Get returns the username and secret to use for a given registry server URL. // Get returns the username and secret to use for a given registry server URL.
func (h secretservice) Get(serverURL string) (string, string, error) { func (h Secretservice) Get(serverURL string) (string, string, error) {
if serverURL == "" { if serverURL == "" {
return "", "", errors.New("missing server url") return "", "", errors.New("missing server url")
} }
+2 -2
View File
@@ -15,7 +15,7 @@ func TestSecretServiceHelper(t *testing.T) {
Secret: "foobarbaz", Secret: "foobarbaz",
} }
helper := New() helper := Secretservice{}
if err := helper.Add(creds); err != nil { if err := helper.Add(creds); err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -41,7 +41,7 @@ func TestSecretServiceHelper(t *testing.T) {
func TestMissingCredentials(t *testing.T) { func TestMissingCredentials(t *testing.T) {
t.Skip("test requires gnome-keyring but travis CI doesn't have it") t.Skip("test requires gnome-keyring but travis CI doesn't have it")
helper := New() helper := Secretservice{}
_, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd") _, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd")
if err != credentials.ErrCredentialsNotFound { if err != credentials.ErrCredentialsNotFound {
t.Fatalf("exptected ErrCredentialsNotFound, got %v", err) t.Fatalf("exptected ErrCredentialsNotFound, got %v", err)
+1 -1
View File
@@ -6,5 +6,5 @@ import (
) )
func main() { func main() {
credentials.Serve(wincred.New()) credentials.Serve(wincred.Wincred{})
} }
+5 -9
View File
@@ -5,15 +5,11 @@ import (
"github.com/docker/docker-credential-helpers/credentials" "github.com/docker/docker-credential-helpers/credentials"
) )
type wincred struct{} // Wincred handles secrets using the Windows credential service.
type Wincred struct{}
// New creates a new wincred.
func New() credentials.Helper {
return wincred{}
}
// Add adds new credentials to the windows credentials manager. // Add adds new credentials to the windows credentials manager.
func (h wincred) Add(creds *credentials.Credentials) error { func (h Wincred) Add(creds *credentials.Credentials) error {
g := winc.NewGenericCredential(creds.ServerURL) g := winc.NewGenericCredential(creds.ServerURL)
g.UserName = creds.Username g.UserName = creds.Username
g.CredentialBlob = []byte(creds.Secret) g.CredentialBlob = []byte(creds.Secret)
@@ -22,7 +18,7 @@ func (h wincred) Add(creds *credentials.Credentials) error {
} }
// Delete removes credentials from the windows credentials manager. // Delete removes credentials from the windows credentials manager.
func (h wincred) Delete(serverURL string) error { func (h Wincred) Delete(serverURL string) error {
g, err := winc.GetGenericCredential(serverURL) g, err := winc.GetGenericCredential(serverURL)
if g == nil { if g == nil {
return nil return nil
@@ -34,7 +30,7 @@ func (h wincred) Delete(serverURL string) error {
} }
// Get retrieves credentials from the windows credentials manager. // Get retrieves credentials from the windows credentials manager.
func (h wincred) Get(serverURL string) (string, string, error) { func (h Wincred) Get(serverURL string) (string, string, error) {
g, _ := winc.GetGenericCredential(serverURL) g, _ := winc.GetGenericCredential(serverURL)
if g == nil { if g == nil {
return "", "", credentials.ErrCredentialsNotFound return "", "", credentials.ErrCredentialsNotFound
+2 -2
View File
@@ -13,7 +13,7 @@ func TestWinCredHelper(t *testing.T) {
Secret: "foobarbaz", Secret: "foobarbaz",
} }
helper := New() helper := Wincred{}
if err := helper.Add(creds); err != nil { if err := helper.Add(creds); err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -37,7 +37,7 @@ func TestWinCredHelper(t *testing.T) {
} }
func TestMissingCredentials(t *testing.T) { func TestMissingCredentials(t *testing.T) {
helper := New() helper := Wincred{}
_, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd") _, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd")
if err != credentials.ErrCredentialsNotFound { if err != credentials.ErrCredentialsNotFound {
t.Fatalf("exptected ErrCredentialsNotFound, got %v", err) t.Fatalf("exptected ErrCredentialsNotFound, got %v", err)