Skip to content

Commit

Permalink
fixes after upgrading JasperFx.Core
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremydmiller committed Nov 18, 2024
1 parent fdc81a0 commit aa998f2
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 40 deletions.
14 changes: 6 additions & 8 deletions src/Tests/CommandFactoryTester.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
using System.Reflection;
using System.Threading.Tasks;
using ExtensionCommands;
using Lamar;
using Lamar.Microsoft.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Oakton;
using Oakton.Help;
Expand Down Expand Up @@ -385,16 +384,15 @@ public void discover_and_apply_extension_service()
// There's a marked extension type on this assembly
factory.RegisterCommands(typeof(ExtensionInput).Assembly);

var builder = Host.CreateDefaultBuilder()
.UseLamar();
var builder = Host.CreateDefaultBuilder();

factory.ApplyExtensions(builder);

using var host = builder.Build();
var container = (IContainer)host.Services;
container.Model.For<IExtensionService>().Default.ImplementationType
.ShouldBe(typeof(ExtensionService));
var container = host.Services;

container.GetRequiredService<IExtensionService>()
.ShouldBeOfType<ExtensionService>();
}
}

Expand Down
51 changes: 20 additions & 31 deletions src/Tests/Resources/ResourceHostExtensionsTests.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Lamar;
using Lamar.Microsoft.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using NSubstitute;
using NSubstitute.ReceivedExtensions;
Expand Down Expand Up @@ -80,72 +79,62 @@ public static async Task usages_for_testing(IHost host)
[Fact]
public void add_resource_startup()
{
using var container = Container.For(services =>
{
services.AddResourceSetupOnStartup();

// Only does it once!
services.AddResourceSetupOnStartup();
services.AddResourceSetupOnStartup();
services.AddResourceSetupOnStartup();
services.AddResourceSetupOnStartup();
});

container.Model.For<IHostedService>()
.Instances.Single().ImplementationType.ShouldBe(typeof(ResourceSetupHostService));
var services = new ServiceCollection();
services.AddResourceSetupOnStartup();

// Only does it once!
services.AddResourceSetupOnStartup();
services.AddResourceSetupOnStartup();
services.AddResourceSetupOnStartup();
services.AddResourceSetupOnStartup();

container.GetInstance<IHostedService>()
using var provider = services.BuildServiceProvider();

provider.GetRequiredService<IHostedService>()
.ShouldBeOfType<ResourceSetupHostService>();
}

[Fact]
public void use_resource_setup()
{
using var host = Host.CreateDefaultBuilder()
.UseLamar()
.UseResourceSetupOnStartup()
.Build();

var container = (IContainer)host.Services;

container.Model.For<IHostedService>()
.Instances.Single().ImplementationType.ShouldBe(typeof(ResourceSetupHostService));
var container = host.Services;

container.GetInstance<IHostedService>()
container.GetRequiredService<IHostedService>()
.ShouldBeOfType<ResourceSetupHostService>();
}

[Fact]
public void use_conditional_resource_setup_in_development()
{
using var host = Host.CreateDefaultBuilder()
.UseLamar()
.UseResourceSetupOnStartupInDevelopment()
.UseEnvironment("Development")
.Build();

var container = (IContainer)host.Services;

container.Model.For<IHostedService>()
.Instances.Single().ImplementationType.ShouldBe(typeof(ResourceSetupHostService));
var container = host.Services;

container.GetInstance<IHostedService>()
container.GetRequiredService<IHostedService>()
.ShouldBeOfType<ResourceSetupHostService>();
}

[Fact]
public void use_conditional_resource_setup_only_in_development_does_nothing_in_prod()
{
using var host = Host.CreateDefaultBuilder()
.UseLamar()
.UseResourceSetupOnStartupInDevelopment()
.UseEnvironment("Production")
.Build();

var container = (IContainer)host.Services;
var container = host.Services;

container.Model.For<IHostedService>()
.Instances.Any().ShouldBeFalse();
container.GetServices<IHostedService>()
.Any().ShouldBeFalse();

}

[Fact]
Expand Down
1 change: 0 additions & 1 deletion src/Tests/Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Lamar.Microsoft.DependencyInjection" Version="8.1.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
<PackageReference Include="NSubstitute" Version="4.3.0" />
<PackageReference Include="Shouldly" Version="4.0.1" />
Expand Down

0 comments on commit aa998f2

Please sign in to comment.