forked from ozonru/sarama-keycloak
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig_test.go
124 lines (114 loc) · 2.42 KB
/
config_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
115
116
117
118
119
120
121
122
123
124
package saramakeycloak
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"go.uber.org/zap"
)
func TestConfigApplyDefaults(t *testing.T) {
c := Config{}
c.applyDefaults()
assert.Equal(t, defaultRefreshThreshold, c.RefreshThreshold)
assert.NotNil(t, c.Logger)
}
func TestConfigApplyDefaults_DontOverride(t *testing.T) {
logger := zap.NewExample()
c := Config{
RefreshThreshold: time.Second,
Logger: logger,
}
c.applyDefaults()
assert.Equal(t, time.Second, c.RefreshThreshold)
assert.Equal(t, logger, c.Logger)
}
func TestConfigValidate(t *testing.T) {
cases := []struct {
c Config
err error
}{
{
c: Config{},
err: errorInvalidCredentials,
},
{
c: Config{
ClientID: "<client-id>",
},
err: errorInvalidCredentials,
},
{
c: Config{
ClientSecret: "<client-secret>",
},
err: errorInvalidCredentials,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
},
err: errorInvalidRealm,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
Realm: "<realm>",
},
err: errorInvalidHostPort,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
Realm: "<realm>",
KeycloakHostPort: "ht\\invalid",
},
err: errorInvalidHostPort,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
Realm: "<realm>",
KeycloakHostPort: "http://keycloak.host",
RefreshThreshold: -1,
},
err: errInvalidRefreshThreshold,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
Realm: "<realm>",
KeycloakHostPort: "http://keycloak.host",
KeycloakTimeout: -1,
},
err: errInvalidKeycloakTimeout,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
Realm: "<realm>",
KeycloakHostPort: "http://keycloak.host",
KeycloakRetryInterval: -1,
},
err: errInvalidKeycloakRetryInterval,
},
{
c: Config{
ClientID: "<client-id>",
ClientSecret: "<client-secret>",
Realm: "<realm>",
KeycloakHostPort: "http://keycloak.host",
},
},
}
for _, tc := range cases {
t.Run("", func(t *testing.T) {
err := tc.c.validate()
assert.Equal(t, tc.err, err)
})
}
}