package get import ( "context" "net/http/httptest" "os" "testing" "github.com/stretchr/testify/require" "edge-infra.dev/pkg/edge/api/fake" "edge-infra.dev/pkg/edge/edgecli" "edge-infra.dev/pkg/edge/edgecli/flagutil" ) var ( testBanner = edgecli.BannerContext{ BannerEdgeID: "test-banner-edge-id-0", BannerName: "test-banner-0", TenantOrg: "test-org-0", Username: "test-user-0", Token: "test-token-0", } testCurrrentBanner = "test-current-banner" testConfig = edgecli.Config{ CurrentBannerContext: testCurrrentBanner, BannerContexts: map[string]*edgecli.BannerContext{ testCurrrentBanner: &testBanner, }, } edgeAPIMockSvr *httptest.Server edgeAPIMockURL string ) func TestMain(m *testing.M) { edgeAPIMockSvr = fake.GetMockAPIServer() edgeAPIMockURL = edgeAPIMockSvr.URL + "/api/v2" run := m.Run() edgeAPIMockSvr.Close() os.Exit(run) } func TestActivationCodeGet(t *testing.T) { testConfig.BannerContexts[testCurrrentBanner].Endpoint = edgeAPIMockURL cmd := NewCmd(&testConfig) require.Error(t, cmd.Command().Exec(context.Background(), []string{}), "Flag 'terminal-id' is required") require.NoError(t, flagutil.SetFlag(cmd.Rags, flagutil.TerminalID, "42c0ba2a-45a2-43f1-bf49-08445d73a885")) require.NoError(t, cmd.Command().Exec(context.Background(), []string{})) } func TestActivationCodeGetBadTerminalID(t *testing.T) { testConfig.BannerContexts[testCurrrentBanner].Endpoint = edgeAPIMockURL cmd := NewCmd(&testConfig) require.Error(t, cmd.Command().Exec(context.Background(), []string{}), "Flag 'terminal-id' is required") require.NoError(t, flagutil.SetFlag(cmd.Rags, flagutil.TerminalID, "#*&(@&#(&@(&#_#@#@")) require.ErrorContains(t, cmd.Command().Exec(context.Background(), []string{}), "invalid terminalID uuid #*&(@&#(&@(&#_#@#@") }