/
generic_images_api_mocked.go
113 lines (84 loc) · 3.52 KB
/
generic_images_api_mocked.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package cloud
import (
"encoding/json"
"fmt"
"github.com/flexiant/concerto/api/types"
"github.com/flexiant/concerto/utils"
"github.com/stretchr/testify/assert"
"testing"
)
// TODO exclude from release compile
// GetGenericImageListMocked test mocked function
func GetGenericImageListMocked(t *testing.T, genericImagesIn *[]types.GenericImage) *[]types.GenericImage {
assert := assert.New(t)
// wire up
cs := &utils.MockConcertoService{}
ds, err := NewGenericImageService(cs)
assert.Nil(err, "Couldn't load genericImage service")
assert.NotNil(ds, "GenericImage service not instanced")
// to json
dIn, err := json.Marshal(genericImagesIn)
assert.Nil(err, "GenericImage test data corrupted")
// call service
cs.On("Get", "/v1/cloud/generic_images").Return(dIn, 200, nil)
genericImagesOut, err := ds.GetGenericImageList()
assert.Nil(err, "Error getting genericImage list")
assert.Equal(*genericImagesIn, genericImagesOut, "GetGenericImageList returned different genericImages")
return &genericImagesOut
}
// GetGenericImageListFailErrMocked test mocked function
func GetGenericImageListFailErrMocked(t *testing.T, genericImagesIn *[]types.GenericImage) *[]types.GenericImage {
assert := assert.New(t)
// wire up
cs := &utils.MockConcertoService{}
ds, err := NewGenericImageService(cs)
assert.Nil(err, "Couldn't load genericImage service")
assert.NotNil(ds, "GenericImage service not instanced")
// to json
dIn, err := json.Marshal(genericImagesIn)
assert.Nil(err, "GenericImage test data corrupted")
// call service
cs.On("Get", "/v1/cloud/generic_images").Return(dIn, 200, fmt.Errorf("Mocked error"))
genericImagesOut, err := ds.GetGenericImageList()
assert.NotNil(err, "We are expecting an error")
assert.Nil(genericImagesOut, "Expecting nil output")
assert.Equal(err.Error(), "Mocked error", "Error should be 'Mocked error'")
return &genericImagesOut
}
// GetGenericImageListFailStatusMocked test mocked function
func GetGenericImageListFailStatusMocked(t *testing.T, genericImagesIn *[]types.GenericImage) *[]types.GenericImage {
assert := assert.New(t)
// wire up
cs := &utils.MockConcertoService{}
ds, err := NewGenericImageService(cs)
assert.Nil(err, "Couldn't load genericImage service")
assert.NotNil(ds, "GenericImage service not instanced")
// to json
dIn, err := json.Marshal(genericImagesIn)
assert.Nil(err, "GenericImage test data corrupted")
// call service
cs.On("Get", "/v1/cloud/generic_images").Return(dIn, 499, nil)
genericImagesOut, err := ds.GetGenericImageList()
assert.NotNil(err, "We are expecting an status code error")
assert.Nil(genericImagesOut, "Expecting nil output")
assert.Contains(err.Error(), "499", "Error should contain http code 499")
return &genericImagesOut
}
// GetGenericImageListFailJSONMocked test mocked function
func GetGenericImageListFailJSONMocked(t *testing.T, genericImagesIn *[]types.GenericImage) *[]types.GenericImage {
assert := assert.New(t)
// wire up
cs := &utils.MockConcertoService{}
ds, err := NewGenericImageService(cs)
assert.Nil(err, "Couldn't load genericImage service")
assert.NotNil(ds, "GenericImage service not instanced")
// wrong json
dIn := []byte{10, 20, 30}
// call service
cs.On("Get", "/v1/cloud/generic_images").Return(dIn, 200, nil)
genericImagesOut, err := ds.GetGenericImageList()
assert.NotNil(err, "We are expecting a marshalling error")
assert.Nil(genericImagesOut, "Expecting nil output")
assert.Contains(err.Error(), "invalid character", "Error message should include the string 'invalid character'")
return &genericImagesOut
}