|
14 | 14 | specify "the API must define a provider mutator" do |
15 | 15 | provider = OpenFeature::SDK::Provider::NoOpProvider.new |
16 | 16 |
|
17 | | - OpenFeature::SDK.provider = provider |
| 17 | + OpenFeature::SDK.set_provider(provider) |
18 | 18 |
|
19 | 19 | expect(OpenFeature::SDK.provider).to be(provider) |
20 | 20 | end |
|
25 | 25 | provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
26 | 26 | expect(provider).to receive(:init) |
27 | 27 |
|
28 | | - OpenFeature::SDK.provider = provider |
| 28 | + OpenFeature::SDK.set_provider(provider) |
29 | 29 | end |
30 | 30 | end |
31 | 31 |
|
|
37 | 37 | expect(previous_provider).to receive(:shutdown) |
38 | 38 | expect(new_provider).not_to receive(:shutdown) |
39 | 39 |
|
40 | | - OpenFeature::SDK.provider = previous_provider |
41 | | - OpenFeature::SDK.provider = new_provider |
| 40 | + OpenFeature::SDK.set_provider(previous_provider) |
| 41 | + OpenFeature::SDK.set_provider(new_provider) |
| 42 | + end |
| 43 | + end |
| 44 | + |
| 45 | + context "Requirement 1.1.3" do |
| 46 | + specify "the API must provide a function to bind a given provider to one or more client names" do |
| 47 | + first_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
| 48 | + second_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
| 49 | + |
| 50 | + OpenFeature::SDK.set_provider(first_provider, domain: "first") |
| 51 | + OpenFeature::SDK.set_provider(second_provider, domain: "second") |
| 52 | + |
| 53 | + expect(OpenFeature::SDK.provider(domain: "first")).to be(first_provider) |
| 54 | + expect(OpenFeature::SDK.provider(domain: "second")).to be(second_provider) |
| 55 | + end |
| 56 | + |
| 57 | + specify "if client name is already bound, it is overwritten" do |
| 58 | + previous_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
| 59 | + new_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
| 60 | + |
| 61 | + OpenFeature::SDK.set_provider(previous_provider, domain: "testing") |
| 62 | + expect(OpenFeature::SDK.provider(domain: "testing")).to be(previous_provider) |
| 63 | + |
| 64 | + OpenFeature::SDK.set_provider(new_provider, domain: "testing") |
| 65 | + expect(OpenFeature::SDK.provider(domain: "testing")).to be(new_provider) |
42 | 66 | end |
43 | 67 | end |
44 | 68 | end |
|
0 commit comments