...
1 package get
2
3 import (
4 "context"
5 "net/http/httptest"
6 "os"
7 "testing"
8
9 "github.com/stretchr/testify/require"
10
11 "edge-infra.dev/pkg/edge/api/fake"
12 "edge-infra.dev/pkg/edge/edgecli"
13 "edge-infra.dev/pkg/edge/edgecli/flagutil"
14 )
15
16 var (
17 testBanner = edgecli.BannerContext{
18 BannerEdgeID: "test-banner-edge-id-0",
19 BannerName: "test-banner-0",
20 TenantOrg: "test-org-0",
21 Username: "test-user-0",
22 Token: "test-token-0",
23 }
24 testCurrrentBanner = "test-current-banner"
25 testConfig = edgecli.Config{
26 CurrentBannerContext: testCurrrentBanner,
27 BannerContexts: map[string]*edgecli.BannerContext{
28 testCurrrentBanner: &testBanner,
29 },
30 }
31 edgeAPIMockSvr *httptest.Server
32 edgeAPIMockURL string
33 )
34
35 func TestMain(m *testing.M) {
36 edgeAPIMockSvr = fake.GetMockAPIServer()
37 edgeAPIMockURL = edgeAPIMockSvr.URL + "/api/v2"
38 run := m.Run()
39 edgeAPIMockSvr.Close()
40 os.Exit(run)
41 }
42
43 func TestActivationCodeGet(t *testing.T) {
44 testConfig.BannerContexts[testCurrrentBanner].Endpoint = edgeAPIMockURL
45 cmd := NewCmd(&testConfig)
46
47 require.Error(t, cmd.Command().Exec(context.Background(), []string{}), "Flag 'terminal-id' is required")
48 require.NoError(t, flagutil.SetFlag(cmd.Rags, flagutil.TerminalID, "42c0ba2a-45a2-43f1-bf49-08445d73a885"))
49 require.NoError(t, cmd.Command().Exec(context.Background(), []string{}))
50 }
51
52 func TestActivationCodeGetBadTerminalID(t *testing.T) {
53 testConfig.BannerContexts[testCurrrentBanner].Endpoint = edgeAPIMockURL
54 cmd := NewCmd(&testConfig)
55
56 require.Error(t, cmd.Command().Exec(context.Background(), []string{}), "Flag 'terminal-id' is required")
57 require.NoError(t, flagutil.SetFlag(cmd.Rags, flagutil.TerminalID, "#*&(@&#(&@(&#_#@#@"))
58 require.ErrorContains(t, cmd.Command().Exec(context.Background(), []string{}), "invalid terminalID uuid #*&(@&#(&@(&#_#@#@")
59 }
60
View as plain text