|
1 | 1 | using System.Linq; |
2 | 2 | using System.Threading; |
3 | 3 | using System.Threading.Tasks; |
4 | | -using Lamar; |
5 | | -using Lamar.Microsoft.DependencyInjection; |
| 4 | +using Microsoft.Extensions.DependencyInjection; |
6 | 5 | using Microsoft.Extensions.Hosting; |
7 | 6 | using NSubstitute; |
8 | 7 | using NSubstitute.ReceivedExtensions; |
@@ -80,72 +79,62 @@ public static async Task usages_for_testing(IHost host) |
80 | 79 | [Fact] |
81 | 80 | public void add_resource_startup() |
82 | 81 | { |
83 | | - using var container = Container.For(services => |
84 | | - { |
85 | | - services.AddResourceSetupOnStartup(); |
86 | | - |
87 | | - // Only does it once! |
88 | | - services.AddResourceSetupOnStartup(); |
89 | | - services.AddResourceSetupOnStartup(); |
90 | | - services.AddResourceSetupOnStartup(); |
91 | | - services.AddResourceSetupOnStartup(); |
92 | | - }); |
93 | 82 |
|
94 | | - container.Model.For<IHostedService>() |
95 | | - .Instances.Single().ImplementationType.ShouldBe(typeof(ResourceSetupHostService)); |
| 83 | + var services = new ServiceCollection(); |
| 84 | + services.AddResourceSetupOnStartup(); |
| 85 | + |
| 86 | + // Only does it once! |
| 87 | + services.AddResourceSetupOnStartup(); |
| 88 | + services.AddResourceSetupOnStartup(); |
| 89 | + services.AddResourceSetupOnStartup(); |
| 90 | + services.AddResourceSetupOnStartup(); |
96 | 91 |
|
97 | | - container.GetInstance<IHostedService>() |
| 92 | + using var provider = services.BuildServiceProvider(); |
| 93 | + |
| 94 | + provider.GetRequiredService<IHostedService>() |
98 | 95 | .ShouldBeOfType<ResourceSetupHostService>(); |
99 | 96 | } |
100 | 97 |
|
101 | 98 | [Fact] |
102 | 99 | public void use_resource_setup() |
103 | 100 | { |
104 | 101 | using var host = Host.CreateDefaultBuilder() |
105 | | - .UseLamar() |
106 | 102 | .UseResourceSetupOnStartup() |
107 | 103 | .Build(); |
108 | 104 |
|
109 | | - var container = (IContainer)host.Services; |
110 | | - |
111 | | - container.Model.For<IHostedService>() |
112 | | - .Instances.Single().ImplementationType.ShouldBe(typeof(ResourceSetupHostService)); |
| 105 | + var container = host.Services; |
113 | 106 |
|
114 | | - container.GetInstance<IHostedService>() |
| 107 | + container.GetRequiredService<IHostedService>() |
115 | 108 | .ShouldBeOfType<ResourceSetupHostService>(); |
116 | 109 | } |
117 | 110 |
|
118 | 111 | [Fact] |
119 | 112 | public void use_conditional_resource_setup_in_development() |
120 | 113 | { |
121 | 114 | using var host = Host.CreateDefaultBuilder() |
122 | | - .UseLamar() |
123 | 115 | .UseResourceSetupOnStartupInDevelopment() |
124 | 116 | .UseEnvironment("Development") |
125 | 117 | .Build(); |
126 | 118 |
|
127 | | - var container = (IContainer)host.Services; |
128 | | - |
129 | | - container.Model.For<IHostedService>() |
130 | | - .Instances.Single().ImplementationType.ShouldBe(typeof(ResourceSetupHostService)); |
| 119 | + var container = host.Services; |
131 | 120 |
|
132 | | - container.GetInstance<IHostedService>() |
| 121 | + container.GetRequiredService<IHostedService>() |
133 | 122 | .ShouldBeOfType<ResourceSetupHostService>(); |
134 | 123 | } |
135 | 124 |
|
136 | 125 | [Fact] |
137 | 126 | public void use_conditional_resource_setup_only_in_development_does_nothing_in_prod() |
138 | 127 | { |
139 | 128 | using var host = Host.CreateDefaultBuilder() |
140 | | - .UseLamar() |
141 | 129 | .UseResourceSetupOnStartupInDevelopment() |
142 | 130 | .UseEnvironment("Production") |
143 | 131 | .Build(); |
144 | 132 |
|
145 | | - var container = (IContainer)host.Services; |
| 133 | + var container = host.Services; |
146 | 134 |
|
147 | | - container.Model.For<IHostedService>() |
148 | | - .Instances.Any().ShouldBeFalse(); |
| 135 | + container.GetServices<IHostedService>() |
| 136 | + .Any().ShouldBeFalse(); |
| 137 | + |
149 | 138 | } |
150 | 139 |
|
151 | 140 | [Fact] |
|
0 commit comments