-
Notifications
You must be signed in to change notification settings - Fork 9
/
endpoint_test.go
114 lines (92 loc) · 3.67 KB
/
endpoint_test.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
114
package kyc
import (
"context"
"encoding/json"
"errors"
"testing"
apikyc "github.com/cloudtrust/keycloak-bridge/api/kyc"
"github.com/cloudtrust/keycloak-bridge/pkg/kyc/mock"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/assert"
)
func TestMakeGetActionsEndpoint(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockKYCComponent := mock.NewComponent(mockCtrl)
var m = map[string]string{}
var expectedError = errors.New("get-actions")
t.Run("GetActions - success case", func(t *testing.T) {
mockKYCComponent.EXPECT().GetActions(gomock.Any()).Return([]apikyc.ActionRepresentation{}, nil)
_, err := MakeGetActionsEndpoint(mockKYCComponent)(context.Background(), m)
assert.Nil(t, err)
})
t.Run("GetActions - failure case", func(t *testing.T) {
mockKYCComponent.EXPECT().GetActions(gomock.Any()).Return([]apikyc.ActionRepresentation{}, expectedError)
_, err := MakeGetActionsEndpoint(mockKYCComponent)(context.Background(), m)
assert.Equal(t, expectedError, err)
})
}
func TestMakeGetUserEndpoint(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockKYCComponent := mock.NewComponent(mockCtrl)
var realm = "master"
var userID = "user1234"
var m = map[string]string{"realm": realm, "userId": userID}
var expectedError = errors.New("get-user")
t.Run("GetUser - success case", func(t *testing.T) {
mockKYCComponent.EXPECT().GetUser(gomock.Any(), userID).Return(apikyc.UserRepresentation{}, nil)
_, err := MakeGetUserEndpoint(mockKYCComponent)(context.Background(), m)
assert.Nil(t, err)
})
t.Run("GetUser - failure case", func(t *testing.T) {
mockKYCComponent.EXPECT().GetUser(gomock.Any(), userID).Return(apikyc.UserRepresentation{}, expectedError)
_, err := MakeGetUserEndpoint(mockKYCComponent)(context.Background(), m)
assert.Equal(t, expectedError, err)
})
}
func TestMakeGetUserByUsernameEndpoint(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockKYCComponent := mock.NewComponent(mockCtrl)
var realm = "master"
var username = "user1234"
var m = map[string]string{"realm": realm, "username": username}
var expectedError = errors.New("get-user")
t.Run("GetUserByUsername - success case", func(t *testing.T) {
mockKYCComponent.EXPECT().GetUserByUsername(gomock.Any(), username).Return(apikyc.UserRepresentation{}, nil)
_, err := MakeGetUserByUsernameEndpoint(mockKYCComponent)(context.Background(), m)
assert.Nil(t, err)
})
t.Run("GetUserByUsername - failure case", func(t *testing.T) {
mockKYCComponent.EXPECT().GetUserByUsername(gomock.Any(), username).Return(apikyc.UserRepresentation{}, expectedError)
_, err := MakeGetUserByUsernameEndpoint(mockKYCComponent)(context.Background(), m)
assert.Equal(t, expectedError, err)
})
}
func TestMakeValidateUserEndpoint(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockKYCComponent := mock.NewComponent(mockCtrl)
var realm = "master"
var first = "John"
var last = "Doe"
var userID = "ux467913"
var user = apikyc.UserRepresentation{UserID: &userID, FirstName: &first, LastName: &last}
var m = map[string]string{}
t.Run("ValidateUser - success case", func(t *testing.T) {
var bytes, _ = json.Marshal(user)
m["realm"] = realm
m["body"] = string(bytes)
m["userId"] = userID
mockKYCComponent.EXPECT().ValidateUser(gomock.Any(), userID, user).Return(nil).Times(1)
_, err := MakeValidateUserEndpoint(mockKYCComponent)(context.Background(), m)
assert.Nil(t, err)
})
t.Run("ValidateUser - failure case", func(t *testing.T) {
m["realm"] = realm
m["body"] = "{"
_, err := MakeValidateUserEndpoint(mockKYCComponent)(context.Background(), m)
assert.NotNil(t, err)
})
}