mirror of
https://github.com/nkanaev/yarr.git
synced 2025-05-24 00:33:14 +00:00
48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestPasswordFromAuthfile(t *testing.T) {
|
|
for _, tc := range [...]struct {
|
|
authfile string
|
|
expectedUsername string
|
|
expectedPassword string
|
|
expectedError bool
|
|
}{
|
|
{
|
|
authfile: "username:password",
|
|
expectedUsername: "username",
|
|
expectedPassword: "password",
|
|
expectedError: false,
|
|
},
|
|
{
|
|
authfile: "username-and-no-password",
|
|
expectedError: true,
|
|
},
|
|
{
|
|
authfile: "username:password:with:columns",
|
|
expectedUsername: "username",
|
|
expectedPassword: "password:with:columns",
|
|
expectedError: false,
|
|
},
|
|
} {
|
|
t.Run(tc.authfile, func(t *testing.T) {
|
|
username, password, err := parseAuthfile(strings.NewReader(tc.authfile))
|
|
if tc.expectedUsername != username {
|
|
t.Errorf("expected username %q, got %q", tc.expectedUsername, username)
|
|
}
|
|
if tc.expectedPassword != password {
|
|
t.Errorf("expected password %q, got %q", tc.expectedPassword, password)
|
|
}
|
|
if tc.expectedError && err == nil {
|
|
t.Errorf("expected error, got nil")
|
|
} else if !tc.expectedError && err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
})
|
|
}
|
|
}
|