dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/clients/http/deviceservice_test.go (about) 1 // 2 // Copyright (C) 2020-2021 Unknown author 3 // Copyright (C) 2023 Intel Corporation 4 // 5 // SPDX-License-Identifier: Apache-2.0 6 7 package http 8 9 import ( 10 "context" 11 "net/http" 12 "path" 13 "testing" 14 15 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/common" 16 dtoCommon "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/common" 17 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/requests" 18 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/responses" 19 20 "github.com/stretchr/testify/assert" 21 "github.com/stretchr/testify/require" 22 ) 23 24 func TestAddDeviceServices(t *testing.T) { 25 ts := newTestServer(http.MethodPost, common.ApiDeviceServiceRoute, []dtoCommon.BaseWithIdResponse{}) 26 defer ts.Close() 27 28 client := NewDeviceServiceClient(ts.URL, NewNullAuthenticationInjector(), false) 29 res, err := client.Add(context.Background(), []requests.AddDeviceServiceRequest{}) 30 31 require.NoError(t, err) 32 assert.IsType(t, []dtoCommon.BaseWithIdResponse{}, res) 33 } 34 35 func TestPatchDeviceServices(t *testing.T) { 36 ts := newTestServer(http.MethodPatch, common.ApiDeviceServiceRoute, []dtoCommon.BaseResponse{}) 37 defer ts.Close() 38 39 client := NewDeviceServiceClient(ts.URL, NewNullAuthenticationInjector(), false) 40 res, err := client.Update(context.Background(), []requests.UpdateDeviceServiceRequest{}) 41 require.NoError(t, err) 42 assert.IsType(t, []dtoCommon.BaseResponse{}, res) 43 } 44 45 func TestQueryAllDeviceServices(t *testing.T) { 46 ts := newTestServer(http.MethodGet, common.ApiAllDeviceServiceRoute, responses.MultiDeviceServicesResponse{}) 47 defer ts.Close() 48 49 client := NewDeviceServiceClient(ts.URL, NewNullAuthenticationInjector(), false) 50 res, err := client.AllDeviceServices(context.Background(), []string{"label1", "label2"}, 1, 10) 51 require.NoError(t, err) 52 assert.IsType(t, responses.MultiDeviceServicesResponse{}, res) 53 } 54 55 func TestQueryDeviceServiceByName(t *testing.T) { 56 deviceServiceName := "deviceService" 57 path := path.Join(common.ApiDeviceServiceRoute, common.Name, deviceServiceName) 58 59 ts := newTestServer(http.MethodGet, path, responses.DeviceResponse{}) 60 defer ts.Close() 61 62 client := NewDeviceServiceClient(ts.URL, NewNullAuthenticationInjector(), false) 63 res, err := client.DeviceServiceByName(context.Background(), deviceServiceName) 64 require.NoError(t, err) 65 assert.IsType(t, responses.DeviceServiceResponse{}, res) 66 } 67 68 func TestDeleteDeviceServiceByName(t *testing.T) { 69 deviceServiceName := "deviceService" 70 path := path.Join(common.ApiDeviceServiceRoute, common.Name, deviceServiceName) 71 72 ts := newTestServer(http.MethodDelete, path, dtoCommon.BaseResponse{}) 73 defer ts.Close() 74 75 client := NewDeviceServiceClient(ts.URL, NewNullAuthenticationInjector(), false) 76 res, err := client.DeleteByName(context.Background(), deviceServiceName) 77 require.NoError(t, err) 78 assert.IsType(t, dtoCommon.BaseResponse{}, res) 79 }