|
43 | 43 | end |
44 | 44 |
|
45 | 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 |
| 46 | + specify "the API must provide a function to bind a given provider to one or more client domains" do |
47 | 47 | first_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
48 | 48 | second_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
49 | 49 |
|
|
54 | 54 | expect(OpenFeature::SDK.provider(domain: "second")).to be(second_provider) |
55 | 55 | end |
56 | 56 |
|
57 | | - specify "if client name is already bound, it is overwritten" do |
| 57 | + specify "if client domain is already bound, it is overwritten" do |
58 | 58 | previous_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
59 | 59 | new_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
60 | 60 |
|
|
65 | 65 | expect(OpenFeature::SDK.provider(domain: "testing")).to be(new_provider) |
66 | 66 | end |
67 | 67 | end |
| 68 | + |
| 69 | + context "Requirement 1.1.4" do |
| 70 | + pending "The API must provide a function to add hooks which accepts one or more API-conformant hooks, and appends them to the collection of any previously added hooks." |
| 71 | + |
| 72 | + pending "When new hooks are added, previously added hooks are not removed." |
| 73 | + end |
| 74 | + |
| 75 | + context "Requirement 1.1.5" do |
| 76 | + before do |
| 77 | + default_provider = OpenFeature::SDK::Provider::InMemoryProvider.new |
| 78 | + OpenFeature::SDK.set_provider(default_provider) |
| 79 | + |
| 80 | + domain_1_provider = OpenFeature::SDK::Provider::NoOpProvider.new |
| 81 | + OpenFeature::SDK.set_provider(domain_1_provider, domain: "domain_1") |
| 82 | + end |
| 83 | + |
| 84 | + specify "The API MUST provide a function for retrieving the metadata field of the configured provider." do |
| 85 | + expect(OpenFeature::SDK.provider.metadata.name).to eq("In-memory Provider") |
| 86 | + end |
| 87 | + |
| 88 | + specify "It's possible to access provider metadata using a domain." do |
| 89 | + expect(OpenFeature::SDK.provider(domain: "domain_1").metadata.name).to eq("No-op Provider") |
| 90 | + end |
| 91 | + |
| 92 | + specify "If a provider has not be registered under the requested domain, the default provider metadata is returned." do |
| 93 | + expect(OpenFeature::SDK.provider(domain: "not_here").metadata.name).to eq("In-memory Provider") |
| 94 | + end |
| 95 | + end |
68 | 96 | end |
69 | 97 | end |
0 commit comments