Skip to content

Commit 70878e5

Browse files
committed
added test checking if error thrown for unique name if not unique
Signed-off-by: bbland1 <[email protected]>
1 parent c6aaf74 commit 70878e5

File tree

1 file changed

+44
-31
lines changed

1 file changed

+44
-31
lines changed

providers/multi-provider/pkg/providers_test.go

+44-31
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func TestNewMultiProvider_ProviderMetadataUniqueNames(t *testing.T) {
3131

3232
multiProvider, err := NewMultiProvider([]UniqueNameProvider{
3333
{
34-
Provider: testProvider1,
34+
Provider: testProvider1,
3535
}, {
3636
Provider: testProvider2,
3737
},
@@ -79,12 +79,12 @@ func TestNewMultiProvider_DuplicateProviderGenerateUniqueNames(t *testing.T) {
7979

8080
multiProvider, err := NewMultiProvider([]UniqueNameProvider{
8181
{
82-
Provider: testProvider1,
82+
Provider: testProvider1,
8383
}, {
8484
Provider: testProvider2,
8585
}, {
8686
Provider: testProvider3,
87-
},{
87+
}, {
8888
Provider: testProvider4,
8989
},
9090
}, "test", defaultLogger)
@@ -112,22 +112,9 @@ func TestNewMultiProvider_DuplicateProviderGenerateUniqueNames(t *testing.T) {
112112
t.Errorf("Expected there to be 4 provider entries, got: '%d'", len(providerEntries))
113113
}
114114
}
115-
func TestNewMultiProvider_(t *testing.T) {
116-
testProvider1 := memprovider.NewInMemoryProvider(map[string]memprovider.InMemoryFlag{
117-
"boolFlag": {
118-
Key: "boolFlag",
119-
State: memprovider.Enabled,
120-
DefaultVariant: "true",
121-
Variants: map[string]interface{}{
122-
"true": true,
123-
"false": false,
124-
},
125-
ContextEvaluator: nil,
126-
},
127-
})
115+
func TestNewMultiProvider_ProvidersUsePassedNames(t *testing.T) {
116+
testProvider1 := oft.NewTestProvider()
128117
testProvider2 := oft.NewTestProvider()
129-
testProvider3 := oft.NewTestProvider()
130-
testProvider4 := oft.NewTestProvider()
131118

132119
defaultLogger, err := hooks.NewLoggingHook(false)
133120
if err != nil {
@@ -137,29 +124,55 @@ func TestNewMultiProvider_(t *testing.T) {
137124
multiProvider, err := NewMultiProvider([]UniqueNameProvider{
138125
{
139126
Provider: testProvider1,
127+
UniqueName: "theFirst",
140128
}, {
141-
Provider: testProvider2,
142-
}, {
143-
Provider: testProvider3,
144-
},{
145-
Provider: testProvider4,
129+
Provider: testProvider2,
130+
UniqueName: "theSecond",
146131
},
147132
}, "test", defaultLogger)
148133

149134
if err != nil {
150135
t.Errorf("Expected the multiprovider to successfully make an instance, '%s'", err)
151136
}
152137

153-
if multiProvider.providersEntries[0].UniqueName != "InMemoryProvider" {
154-
t.Errorf("Expected unique provider name to be: 'InMemoryProvider', got: '%s'", multiProvider.providersEntries[0].UniqueName)
138+
providerEntries := multiProvider.Providers()
139+
140+
if providerEntries[0].UniqueName != "theFirst" {
141+
t.Errorf("Expected unique provider name to be: 'theFirst', got: '%s'", providerEntries[0].UniqueName)
155142
}
156-
if multiProvider.providersEntries[1].UniqueName != "NoopProvider-1" {
157-
t.Errorf("Expected unique provider name to be: 'NoopProvider', got: '%s'", multiProvider.providersEntries[1].UniqueName)
143+
if providerEntries[1].UniqueName != "theSecond" {
144+
t.Errorf("Expected unique provider name to be: 'theSecond', got: '%s'", providerEntries[1].UniqueName)
158145
}
159-
if multiProvider.providersEntries[2].UniqueName != "NoopProvider-2" {
160-
t.Errorf("Expected unique provider name to be: 'NoopProvider', got: '%s'", multiProvider.providersEntries[2].UniqueName)
146+
147+
if len(providerEntries) != 2 {
148+
t.Errorf("Expected there to be 2 provider entries, got: '%d'", len(providerEntries))
161149
}
162-
if multiProvider.providersEntries[3].UniqueName != "NoopProvider-3" {
163-
t.Errorf("Expected unique provider name to be: 'NoopProvider', got: '%s'", multiProvider.providersEntries[3].UniqueName)
150+
}
151+
152+
func TestNewMultiProvider_ProvidersErrorNameNotUnique(t *testing.T) {
153+
testProvider1 := oft.NewTestProvider()
154+
testProvider2 := oft.NewTestProvider()
155+
156+
defaultLogger, err := hooks.NewLoggingHook(false)
157+
if err != nil {
158+
t.Errorf("Issue setting up logger,'%s'", err)
159+
}
160+
161+
_, err = NewMultiProvider([]UniqueNameProvider{
162+
{
163+
Provider: testProvider1,
164+
UniqueName: "provider",
165+
}, {
166+
Provider: testProvider2,
167+
UniqueName: "provider",
168+
},
169+
}, "test", defaultLogger)
170+
171+
if err == nil {
172+
t.Errorf("Expected the multiprovider to have an error")
173+
}
174+
175+
if err.Error() != "provider names must be unique" {
176+
t.Errorf("Expected the multiprovider to have an error of: '%s', got: '%s'", errUniqueName, err.Error())
164177
}
165178
}

0 commit comments

Comments
 (0)