From e62d2f57df5ba5149f9a73406721cee7fc55a231 Mon Sep 17 00:00:00 2001 From: Zachary Wasserman Date: Mon, 16 Jul 2018 09:35:21 -0700 Subject: [PATCH] Improve error message when client is not logged in (#1867) --- cmd/fleetctl/api.go | 15 ++++++++++++++- cmd/fleetctl/login.go | 2 +- cmd/fleetctl/setup.go | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cmd/fleetctl/api.go b/cmd/fleetctl/api.go index b94f427af2..efa5b974e6 100644 --- a/cmd/fleetctl/api.go +++ b/cmd/fleetctl/api.go @@ -8,7 +8,7 @@ import ( "github.com/urfave/cli" ) -func clientFromCLI(c *cli.Context) (*service.Client, error) { +func unauthenticatedClientFromCLI(c *cli.Context) (*service.Client, error) { if err := makeConfigIfNotExists(c.String("config")); err != nil { return nil, errors.Wrapf(err, "error verifying that config exists at %s", c.String("config")) } @@ -32,12 +32,25 @@ func clientFromCLI(c *cli.Context) (*service.Client, error) { return nil, errors.Wrap(err, "error creating Fleet API client handler") } + return fleet, nil +} + +func clientFromCLI(c *cli.Context) (*service.Client, error) { + fleet, err := unauthenticatedClientFromCLI(c) + if err != nil { + return nil, err + } + + // Add authentication token t, err := getConfigValue(c, "token") if err != nil { return nil, errors.Wrap(err, "error getting token from the config") } if token, ok := t.(string); ok { + if token == "" { + return nil, errors.New("Please log in with: fleetctl login") + } fleet.SetToken(token) } else { return nil, errors.Errorf("token config value was not a string: %+v", t) diff --git a/cmd/fleetctl/login.go b/cmd/fleetctl/login.go index 709bf9425b..cabe9ea486 100644 --- a/cmd/fleetctl/login.go +++ b/cmd/fleetctl/login.go @@ -42,7 +42,7 @@ Interactively prompts for email and password if not specified in the flags or en }, }, Action: func(c *cli.Context) error { - fleet, err := clientFromCLI(c) + fleet, err := unauthenticatedClientFromCLI(c) if err != nil { return err } diff --git a/cmd/fleetctl/setup.go b/cmd/fleetctl/setup.go index d1cc592351..403e833699 100644 --- a/cmd/fleetctl/setup.go +++ b/cmd/fleetctl/setup.go @@ -46,7 +46,7 @@ func setupCommand() cli.Command { }, }, Action: func(c *cli.Context) error { - fleet, err := clientFromCLI(c) + fleet, err := unauthenticatedClientFromCLI(c) if err != nil { return err }