diff --git a/clients/http/system.go b/clients/http/system.go deleted file mode 100644 index e8b84626..00000000 --- a/clients/http/system.go +++ /dev/null @@ -1,60 +0,0 @@ -// -// Copyright (C) 2021 IOTech Ltd -// -// SPDX-License-Identifier: Apache-2.0 - -package http - -import ( - "context" - "net/url" - "strings" - - "github.com/edgexfoundry/go-mod-core-contracts/v3/clients/http/utils" - "github.com/edgexfoundry/go-mod-core-contracts/v3/clients/interfaces" - "github.com/edgexfoundry/go-mod-core-contracts/v3/common" - dtoCommon "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/common" - "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/requests" - "github.com/edgexfoundry/go-mod-core-contracts/v3/errors" -) - -type SystemManagementClient struct { - baseUrl string -} - -func NewSystemManagementClient(baseUrl string) interfaces.SystemManagementClient { - return &SystemManagementClient{ - baseUrl: baseUrl, - } -} - -func (smc *SystemManagementClient) GetHealth(ctx context.Context, services []string) (res []dtoCommon.BaseWithServiceNameResponse, err errors.EdgeX) { - requestParams := url.Values{} - requestParams.Set(common.Services, strings.Join(services, common.CommaSeparator)) - err = utils.GetRequest(ctx, &res, smc.baseUrl, common.ApiHealthRoute, requestParams) - if err != nil { - return res, errors.NewCommonEdgeXWrapper(err) - } - - return -} - -func (smc *SystemManagementClient) GetConfig(ctx context.Context, services []string) (res []dtoCommon.BaseWithConfigResponse, err errors.EdgeX) { - requestParams := url.Values{} - requestParams.Set(common.Services, strings.Join(services, common.CommaSeparator)) - err = utils.GetRequest(ctx, &res, smc.baseUrl, common.ApiMultiConfigRoute, requestParams) - if err != nil { - return res, errors.NewCommonEdgeXWrapper(err) - } - - return -} - -func (smc *SystemManagementClient) DoOperation(ctx context.Context, reqs []requests.OperationRequest) (res []dtoCommon.BaseResponse, err errors.EdgeX) { - err = utils.PostRequestWithRawData(ctx, &res, smc.baseUrl, common.ApiOperationRoute, nil, reqs) - if err != nil { - return res, errors.NewCommonEdgeXWrapper(err) - } - - return -} diff --git a/clients/http/system_test.go b/clients/http/system_test.go deleted file mode 100644 index 6913d595..00000000 --- a/clients/http/system_test.go +++ /dev/null @@ -1,48 +0,0 @@ -// -// Copyright (C) 2021 IOTech Ltd -// -// SPDX-License-Identifier: Apache-2.0 - -package http - -import ( - "context" - "net/http" - "testing" - - "github.com/stretchr/testify/require" - - "github.com/edgexfoundry/go-mod-core-contracts/v3/common" - dtoCommon "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/common" - "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/requests" -) - -func TestSystemManagementClient_GetHealth(t *testing.T) { - ts := newTestServer(http.MethodGet, common.ApiHealthRoute, []dtoCommon.BaseWithServiceNameResponse{}) - defer ts.Close() - - client := NewSystemManagementClient(ts.URL) - res, err := client.GetHealth(context.Background(), []string{"core-data"}) - require.NoError(t, err) - require.IsType(t, []dtoCommon.BaseWithServiceNameResponse{}, res) -} - -func TestSystemManagementClient_GetConfig(t *testing.T) { - ts := newTestServer(http.MethodGet, common.ApiMultiConfigRoute, []dtoCommon.BaseWithConfigResponse{}) - defer ts.Close() - - client := NewSystemManagementClient(ts.URL) - res, err := client.GetConfig(context.Background(), []string{"core-data"}) - require.NoError(t, err) - require.IsType(t, []dtoCommon.BaseWithConfigResponse{}, res) -} - -func TestSystemManagementClient_DoOperation(t *testing.T) { - ts := newTestServer(http.MethodPost, common.ApiOperationRoute, []dtoCommon.BaseResponse{}) - defer ts.Close() - - client := NewSystemManagementClient(ts.URL) - res, err := client.DoOperation(context.Background(), []requests.OperationRequest{}) - require.NoError(t, err) - require.IsType(t, []dtoCommon.BaseResponse{}, res) -} diff --git a/clients/interfaces/mocks/SystemManagementClient.go b/clients/interfaces/mocks/SystemManagementClient.go deleted file mode 100644 index 6a4ae8d7..00000000 --- a/clients/interfaces/mocks/SystemManagementClient.go +++ /dev/null @@ -1,110 +0,0 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. - -package mocks - -import ( - context "context" - - common "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/common" - - errors "github.com/edgexfoundry/go-mod-core-contracts/v3/errors" - - mock "github.com/stretchr/testify/mock" - - requests "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/requests" -) - -// SystemManagementClient is an autogenerated mock type for the SystemManagementClient type -type SystemManagementClient struct { - mock.Mock -} - -// DoOperation provides a mock function with given fields: ctx, reqs -func (_m *SystemManagementClient) DoOperation(ctx context.Context, reqs []requests.OperationRequest) ([]common.BaseResponse, errors.EdgeX) { - ret := _m.Called(ctx, reqs) - - var r0 []common.BaseResponse - if rf, ok := ret.Get(0).(func(context.Context, []requests.OperationRequest) []common.BaseResponse); ok { - r0 = rf(ctx, reqs) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).([]common.BaseResponse) - } - } - - var r1 errors.EdgeX - if rf, ok := ret.Get(1).(func(context.Context, []requests.OperationRequest) errors.EdgeX); ok { - r1 = rf(ctx, reqs) - } else { - if ret.Get(1) != nil { - r1 = ret.Get(1).(errors.EdgeX) - } - } - - return r0, r1 -} - -// GetConfig provides a mock function with given fields: ctx, services -func (_m *SystemManagementClient) GetConfig(ctx context.Context, services []string) ([]common.BaseWithConfigResponse, errors.EdgeX) { - ret := _m.Called(ctx, services) - - var r0 []common.BaseWithConfigResponse - if rf, ok := ret.Get(0).(func(context.Context, []string) []common.BaseWithConfigResponse); ok { - r0 = rf(ctx, services) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).([]common.BaseWithConfigResponse) - } - } - - var r1 errors.EdgeX - if rf, ok := ret.Get(1).(func(context.Context, []string) errors.EdgeX); ok { - r1 = rf(ctx, services) - } else { - if ret.Get(1) != nil { - r1 = ret.Get(1).(errors.EdgeX) - } - } - - return r0, r1 -} - -// GetHealth provides a mock function with given fields: ctx, services -func (_m *SystemManagementClient) GetHealth(ctx context.Context, services []string) ([]common.BaseWithServiceNameResponse, errors.EdgeX) { - ret := _m.Called(ctx, services) - - var r0 []common.BaseWithServiceNameResponse - if rf, ok := ret.Get(0).(func(context.Context, []string) []common.BaseWithServiceNameResponse); ok { - r0 = rf(ctx, services) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).([]common.BaseWithServiceNameResponse) - } - } - - var r1 errors.EdgeX - if rf, ok := ret.Get(1).(func(context.Context, []string) errors.EdgeX); ok { - r1 = rf(ctx, services) - } else { - if ret.Get(1) != nil { - r1 = ret.Get(1).(errors.EdgeX) - } - } - - return r0, r1 -} - -type mockConstructorTestingTNewSystemManagementClient interface { - mock.TestingT - Cleanup(func()) -} - -// NewSystemManagementClient creates a new instance of SystemManagementClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewSystemManagementClient(t mockConstructorTestingTNewSystemManagementClient) *SystemManagementClient { - mock := &SystemManagementClient{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/clients/interfaces/system.go b/clients/interfaces/system.go deleted file mode 100644 index 132ea4cc..00000000 --- a/clients/interfaces/system.go +++ /dev/null @@ -1,24 +0,0 @@ -// -// Copyright (C) 2021 IOTech Ltd -// -// SPDX-License-Identifier: Apache-2.0 - -package interfaces - -import ( - "context" - - "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/common" - "github.com/edgexfoundry/go-mod-core-contracts/v3/dtos/requests" - "github.com/edgexfoundry/go-mod-core-contracts/v3/errors" -) - -// SystemManagementClient defines the interface for interactions with the API endpoint on the EdgeX Foundry sys-mgmt-agent service. -type SystemManagementClient interface { - // GetHealth obtain health information of services via registry by their name - GetHealth(ctx context.Context, services []string) ([]common.BaseWithServiceNameResponse, errors.EdgeX) - // GetConfig obtain configuration from services by their name - GetConfig(ctx context.Context, services []string) ([]common.BaseWithConfigResponse, errors.EdgeX) - // DoOperation issue a start, stop, restart action to the targeted services - DoOperation(ctx context.Context, reqs []requests.OperationRequest) ([]common.BaseResponse, errors.EdgeX) -}