feat: implement repo create command
This commit is contained in:
parent
73d54fde9c
commit
a43a79d78f
4 changed files with 248 additions and 2 deletions
53
cmd/repo_create_test.go
Normal file
53
cmd/repo_create_test.go
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
package cmd
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseCreateName(t *testing.T) {
|
||||
t.Run("simple repo name", func(t *testing.T) {
|
||||
org, repo, isOrg, err := parseCreateName("myrepo")
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if org != "" || repo != "myrepo" || isOrg {
|
||||
t.Errorf("got (%q, %q, %v), want (%q, %q, %v)", org, repo, isOrg, "", "myrepo", false)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("org/repo name", func(t *testing.T) {
|
||||
org, repo, isOrg, err := parseCreateName("myorg/myrepo")
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if org != "myorg" || repo != "myrepo" || !isOrg {
|
||||
t.Errorf("got (%q, %q, %v), want (%q, %q, %v)", org, repo, isOrg, "myorg", "myrepo", true)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("empty string", func(t *testing.T) {
|
||||
_, _, _, err := parseCreateName("")
|
||||
if err == nil {
|
||||
t.Error("expected error for empty string, got nil")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("slash only", func(t *testing.T) {
|
||||
_, _, _, err := parseCreateName("/")
|
||||
if err == nil {
|
||||
t.Error("expected error for '/', got nil")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("empty repo after slash", func(t *testing.T) {
|
||||
_, _, _, err := parseCreateName("org/")
|
||||
if err == nil {
|
||||
t.Error("expected error for 'org/', got nil")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("empty org before slash", func(t *testing.T) {
|
||||
_, _, _, err := parseCreateName("/repo")
|
||||
if err == nil {
|
||||
t.Error("expected error for '/repo', got nil")
|
||||
}
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue