|
1 | 1 | using System; |
2 | 2 | using System.Diagnostics.CodeAnalysis; |
3 | 3 | using System.Linq; |
| 4 | +using System.Threading.Channels; |
4 | 5 | using System.Threading.Tasks; |
5 | 6 | using NSubstitute; |
6 | 7 | using OpenFeature.Constant; |
@@ -47,25 +48,29 @@ public async Task OpenFeature_Should_Shutdown_Unused_Provider() |
47 | 48 | { |
48 | 49 | var providerA = Substitute.For<FeatureProvider>(); |
49 | 50 | providerA.Status.Returns(ProviderStatus.NotReady); |
| 51 | + providerA.GetEventChannel().Returns(Channel.CreateBounded<object>(1)); |
50 | 52 |
|
51 | 53 | await Api.Instance.SetProviderAsync(providerA); |
52 | 54 | await providerA.Received(1).InitializeAsync(Api.Instance.GetContext()); |
53 | 55 |
|
54 | 56 | var providerB = Substitute.For<FeatureProvider>(); |
55 | 57 | providerB.Status.Returns(ProviderStatus.NotReady); |
| 58 | + providerB.GetEventChannel().Returns(Channel.CreateBounded<object>(1)); |
56 | 59 |
|
57 | 60 | await Api.Instance.SetProviderAsync(providerB); |
58 | 61 | await providerB.Received(1).InitializeAsync(Api.Instance.GetContext()); |
59 | 62 | await providerA.Received(1).ShutdownAsync(); |
60 | 63 |
|
61 | 64 | var providerC = Substitute.For<FeatureProvider>(); |
62 | 65 | providerC.Status.Returns(ProviderStatus.NotReady); |
| 66 | + providerC.GetEventChannel().Returns(Channel.CreateBounded<object>(1)); |
63 | 67 |
|
64 | 68 | await Api.Instance.SetProviderAsync("named", providerC); |
65 | 69 | await providerC.Received(1).InitializeAsync(Api.Instance.GetContext()); |
66 | 70 |
|
67 | 71 | var providerD = Substitute.For<FeatureProvider>(); |
68 | 72 | providerD.Status.Returns(ProviderStatus.NotReady); |
| 73 | + providerD.GetEventChannel().Returns(Channel.CreateBounded<object>(1)); |
69 | 74 |
|
70 | 75 | await Api.Instance.SetProviderAsync("named", providerD); |
71 | 76 | await providerD.Received(1).InitializeAsync(Api.Instance.GetContext()); |
|
0 commit comments