|
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