diff --git a/cli/README.md b/cli/README.md index 8fdaf69db7..19832909cb 100644 --- a/cli/README.md +++ b/cli/README.md @@ -7,9 +7,9 @@ make cli ## Usage ### Service -#### Get the version of Mainflux services +#### Get Mainflux Things services Health Check ```bash -mainflux-cli version +mainflux-cli health ``` ### Users management @@ -239,4 +239,4 @@ mainflux-cli groups members #### List groups that user belongs to ```bash mainflux-cli groups membership -``` \ No newline at end of file +``` diff --git a/cli/version.go b/cli/health.go similarity index 51% rename from cli/version.go rename to cli/health.go index eafce28c6d..419c1a5e2f 100644 --- a/cli/version.go +++ b/cli/health.go @@ -5,14 +5,14 @@ package cli import "github.com/spf13/cobra" -// NewVersionCmd returns version command. -func NewVersionCmd() *cobra.Command { +// NewHealthCmd returns health check command. +func NewHealthCmd() *cobra.Command { return &cobra.Command{ - Use: "version", - Short: "Mainflux services version", - Long: `Mainflux services version: get version of Mainflux Things Service`, + Use: "health", + Short: "Health Check", + Long: `Mainflux Things service Health Check`, Run: func(cmd *cobra.Command, args []string) { - v, err := sdk.Version() + v, err := sdk.Health() if err != nil { logError(err) return diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 6ca4843fd5..ff6ecc7ae6 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -41,7 +41,7 @@ func main() { } // API commands - versionCmd := cli.NewVersionCmd() + healthCmd := cli.NewHealthCmd() usersCmd := cli.NewUsersCmd() thingsCmd := cli.NewThingsCmd() groupsCmd := cli.NewGroupsCmd() @@ -52,7 +52,7 @@ func main() { certsCmd := cli.NewCertsCmd() // Root Commands - rootCmd.AddCommand(versionCmd) + rootCmd.AddCommand(healthCmd) rootCmd.AddCommand(usersCmd) rootCmd.AddCommand(groupsCmd) rootCmd.AddCommand(thingsCmd) diff --git a/coap/api/transport.go b/coap/api/transport.go index d76e31c2d4..301a13ebaf 100644 --- a/coap/api/transport.go +++ b/coap/api/transport.go @@ -40,7 +40,7 @@ var ( service coap.Service ) -//MakeHTTPHandler creates handler for version endpoint. +// MakeHandler returns a HTTP handler for API endpoints. func MakeHTTPHandler() http.Handler { b := bone.New() b.GetFunc("/health", mainflux.Health(protocol)) diff --git a/health.go b/health.go index 6f28aa0385..6b1c7e277c 100644 --- a/health.go +++ b/health.go @@ -20,7 +20,7 @@ type HealthInfo struct { // Status contains service status. Status string `json:"status"` - // Version contains service current version. + // Version contains current service version. Version string `json:"version"` // Description contains service description. diff --git a/pkg/sdk/go/README.md b/pkg/sdk/go/README.md index 7f5ff1a64c..4924b8985b 100644 --- a/pkg/sdk/go/README.md +++ b/pkg/sdk/go/README.md @@ -77,6 +77,6 @@ func (sdk mfSDK) UpdateChannel(channel Channel, token string) error func (sdk mfSDK) UpdateThing(thing Thing, token string) error UpdateThing - updates thing by ID -func (sdk mfSDK) Version() (string, error) - Version - server health check +func (sdk mfSDK) Health() (mainflux.Health, error) + Health - things service health check ``` diff --git a/pkg/sdk/go/version.go b/pkg/sdk/go/health.go similarity index 59% rename from pkg/sdk/go/version.go rename to pkg/sdk/go/health.go index 1951c37c0e..ef64c894dd 100644 --- a/pkg/sdk/go/version.go +++ b/pkg/sdk/go/health.go @@ -9,35 +9,32 @@ import ( "io/ioutil" "net/http" + "github.com/mainflux/mainflux" "github.com/mainflux/mainflux/pkg/errors" ) -type health struct { - Version string `json:"version"` -} - -func (sdk mfSDK) Version() (string, error) { +func (sdk mfSDK) Health() (mainflux.HealthInfo, error) { url := fmt.Sprintf("%s/health", sdk.thingsURL) resp, err := sdk.client.Get(url) if err != nil { - return "", err + return mainflux.HealthInfo{}, err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { - return "", err + return mainflux.HealthInfo{}, err } if resp.StatusCode != http.StatusOK { - return "", errors.Wrap(ErrFetchVersion, errors.New(resp.Status)) + return mainflux.HealthInfo{}, errors.Wrap(ErrFetchHealth, errors.New(resp.Status)) } - var h health + var h mainflux.HealthInfo if err := json.Unmarshal(body, &h); err != nil { - return "", err + return mainflux.HealthInfo{}, err } - return h.Version, nil + return h, nil } diff --git a/pkg/sdk/go/version_test.go b/pkg/sdk/go/health_test.go similarity index 73% rename from pkg/sdk/go/version_test.go rename to pkg/sdk/go/health_test.go index 8788659322..706b0290ee 100644 --- a/pkg/sdk/go/version_test.go +++ b/pkg/sdk/go/health_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" ) -func TestVersion(t *testing.T) { +func TestHealth(t *testing.T) { svc := newThingsService(map[string]string{token: email}) ts := newThingsServer(svc) defer ts.Close() @@ -24,14 +24,14 @@ func TestVersion(t *testing.T) { empty bool err error }{ - "get version": { + "get things service version": { empty: false, err: nil, }, } for desc, tc := range cases { - ver, err := mainfluxSDK.Version() + h, err := mainfluxSDK.Health() assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", desc, tc.err, err)) - assert.Equal(t, tc.empty, ver == "", fmt.Sprintf("%s: expected non-empty result version, got %s", desc, ver)) + assert.Equal(t, tc.empty, h.Version == "", fmt.Sprintf("%s: expected non-empty result version, got %s", desc, h.Version)) } } diff --git a/pkg/sdk/go/sdk.go b/pkg/sdk/go/sdk.go index c1a5a2acb9..a89026f65d 100644 --- a/pkg/sdk/go/sdk.go +++ b/pkg/sdk/go/sdk.go @@ -7,6 +7,8 @@ import ( "crypto/tls" "errors" "net/http" + + "github.com/mainflux/mainflux" ) const ( @@ -52,8 +54,8 @@ var ( // was passed. ErrInvalidContentType = errors.New("Unknown Content Type") - // ErrFetchVersion indicates that fetching of version failed. - ErrFetchVersion = errors.New("failed to fetch version") + // ErrFetchHealth indicates that fetching of health check failed. + ErrFetchHealth = errors.New("failed to fetch health check") // ErrFailedWhitelist failed to whitelist configs ErrFailedWhitelist = errors.New("failed to whitelist") @@ -224,8 +226,8 @@ type SDK interface { // SetContentType sets message content type. SetContentType(ct ContentType) error - // Version returns used mainflux version. - Version() (string, error) + // Health returns things service health check. + Health() (mainflux.HealthInfo, error) // AddBootstrap add bootstrap configuration AddBootstrap(token string, cfg BootstrapConfig) (string, error) diff --git a/vendor/github.com/spf13/cobra/user_guide.md b/vendor/github.com/spf13/cobra/user_guide.md index 311abce284..bede809382 100644 --- a/vendor/github.com/spf13/cobra/user_guide.md +++ b/vendor/github.com/spf13/cobra/user_guide.md @@ -175,10 +175,10 @@ import ( ) func init() { - rootCmd.AddCommand(versionCmd) + rootCmd.AddCommand(healthCmd) } -var versionCmd = &cobra.Command{ +var healthCmd = &cobra.Command{ Use: "version", Short: "Print the version number of Hugo", Long: `All software has versions. This is Hugo's`,