MCPcopy
hub / github.com/cli/cli / TestApp_StopCodespace

Function TestApp_StopCodespace

pkg/cmd/codespace/stop_test.go:13–105  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestApp_StopCodespace(t *testing.T) {
14 type fields struct {
15 apiClient apiClient
16 }
17 tests := []struct {
18 name string
19 fields fields
20 opts *stopOptions
21 }{
22 {
23 name: "Stop a codespace I own",
24 opts: &stopOptions{
25 selector: &CodespaceSelector{codespaceName: "test-codespace"},
26 },
27 fields: fields{
28 apiClient: &apiClientMock{
29 GetCodespaceFunc: func(ctx context.Context, name string, includeConnection bool) (*api.Codespace, error) {
30 if name != "test-codespace" {
31 return nil, fmt.Errorf("got codespace name %s, wanted %s", name, "test-codespace")
32 }
33
34 return &api.Codespace{
35 State: api.CodespaceStateAvailable,
36 }, nil
37 },
38 StopCodespaceFunc: func(ctx context.Context, name string, orgName string, userName string) error {
39 if name != "test-codespace" {
40 return fmt.Errorf("got codespace name %s, wanted %s", name, "test-codespace")
41 }
42
43 if orgName != "" {
44 return fmt.Errorf("got orgName %s, expected none", orgName)
45 }
46
47 return nil
48 },
49 },
50 },
51 },
52 {
53 name: "Stop a codespace as an org admin",
54 opts: &stopOptions{
55 selector: &CodespaceSelector{codespaceName: "test-codespace"},
56 orgName: "test-org",
57 userName: "test-user",
58 },
59 fields: fields{
60 apiClient: &apiClientMock{
61 GetOrgMemberCodespaceFunc: func(ctx context.Context, orgName string, userName string, codespaceName string) (*api.Codespace, error) {
62 if codespaceName != "test-codespace" {
63 return nil, fmt.Errorf("got codespace name %s, wanted %s", codespaceName, "test-codespace")
64 }
65 if orgName != "test-org" {
66 return nil, fmt.Errorf("got org name %s, wanted %s", orgName, "test-org")
67 }
68 if userName != "test-user" {
69 return nil, fmt.Errorf("got user name %s, wanted %s", userName, "test-user")
70 }

Callers

nothing calls this directly

Calls 4

StopCodespaceMethod · 0.95
TestFunction · 0.92
ErrorfMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected