|
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