@@ -31,7 +31,7 @@ func TestNewMultiProvider_ProviderMetadataUniqueNames(t *testing.T) {
31
31
32
32
multiProvider , err := NewMultiProvider ([]UniqueNameProvider {
33
33
{
34
- Provider : testProvider1 ,
34
+ Provider : testProvider1 ,
35
35
}, {
36
36
Provider : testProvider2 ,
37
37
},
@@ -79,12 +79,12 @@ func TestNewMultiProvider_DuplicateProviderGenerateUniqueNames(t *testing.T) {
79
79
80
80
multiProvider , err := NewMultiProvider ([]UniqueNameProvider {
81
81
{
82
- Provider : testProvider1 ,
82
+ Provider : testProvider1 ,
83
83
}, {
84
84
Provider : testProvider2 ,
85
85
}, {
86
86
Provider : testProvider3 ,
87
- },{
87
+ }, {
88
88
Provider : testProvider4 ,
89
89
},
90
90
}, "test" , defaultLogger )
@@ -112,22 +112,9 @@ func TestNewMultiProvider_DuplicateProviderGenerateUniqueNames(t *testing.T) {
112
112
t .Errorf ("Expected there to be 4 provider entries, got: '%d'" , len (providerEntries ))
113
113
}
114
114
}
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 ()
128
117
testProvider2 := oft .NewTestProvider ()
129
- testProvider3 := oft .NewTestProvider ()
130
- testProvider4 := oft .NewTestProvider ()
131
118
132
119
defaultLogger , err := hooks .NewLoggingHook (false )
133
120
if err != nil {
@@ -137,29 +124,55 @@ func TestNewMultiProvider_(t *testing.T) {
137
124
multiProvider , err := NewMultiProvider ([]UniqueNameProvider {
138
125
{
139
126
Provider : testProvider1 ,
127
+ UniqueName : "theFirst" ,
140
128
}, {
141
- Provider : testProvider2 ,
142
- }, {
143
- Provider : testProvider3 ,
144
- },{
145
- Provider : testProvider4 ,
129
+ Provider : testProvider2 ,
130
+ UniqueName : "theSecond" ,
146
131
},
147
132
}, "test" , defaultLogger )
148
133
149
134
if err != nil {
150
135
t .Errorf ("Expected the multiprovider to successfully make an instance, '%s'" , err )
151
136
}
152
137
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 )
155
142
}
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 )
158
145
}
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 ))
161
149
}
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 ())
164
177
}
165
178
}
0 commit comments