mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-06-04 20:42:58 +00:00
small fix, don't worry about it
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
package api
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestNormalizeRepositoryFullName(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
input string
|
||||
wantName string
|
||||
wantFullName string
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "owner slash repo",
|
||||
input: "acme/platform",
|
||||
wantName: "platform",
|
||||
wantFullName: "acme/platform",
|
||||
},
|
||||
{
|
||||
name: "https clone URL",
|
||||
input: "https://github.com/acme/platform.git",
|
||||
wantName: "platform",
|
||||
wantFullName: "acme/platform",
|
||||
},
|
||||
{
|
||||
name: "ssh URL",
|
||||
input: "git@github.com:acme/platform.git",
|
||||
wantName: "platform",
|
||||
wantFullName: "acme/platform",
|
||||
},
|
||||
{
|
||||
name: "invalid format",
|
||||
input: "acme",
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "empty",
|
||||
input: "",
|
||||
wantErr: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
gotName, gotFullName, err := normalizeRepositoryFullName(tc.input)
|
||||
if tc.wantErr {
|
||||
if err == nil {
|
||||
t.Fatalf("expected error, got nil")
|
||||
}
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("expected no error, got %v", err)
|
||||
}
|
||||
if gotName != tc.wantName {
|
||||
t.Fatalf("name mismatch: got %q want %q", gotName, tc.wantName)
|
||||
}
|
||||
if gotFullName != tc.wantFullName {
|
||||
t.Fatalf("full name mismatch: got %q want %q", gotFullName, tc.wantFullName)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeriveCloneURL(t *testing.T) {
|
||||
fullName := "acme/platform"
|
||||
cases := []struct {
|
||||
provider string
|
||||
want string
|
||||
}{
|
||||
{provider: "github", want: "https://github.com/acme/platform.git"},
|
||||
{provider: "gitlab", want: "https://gitlab.com/acme/platform.git"},
|
||||
{provider: "bitbucket", want: "https://bitbucket.org/acme/platform.git"},
|
||||
{provider: "unknown", want: "acme/platform"},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.provider, func(t *testing.T) {
|
||||
got := deriveCloneURL(tc.provider, fullName)
|
||||
if got != tc.want {
|
||||
t.Fatalf("deriveCloneURL(%q) = %q, want %q", tc.provider, got, tc.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user