Skip to content

Commit 74d4e14

Browse files
committed
Adding back missing overloads and reverting registering behavior
1 parent cea6a97 commit 74d4e14

13 files changed

+111
-102
lines changed

src/AutoMapper.DI.Tests/AppDomainResolutionTests.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ public AppDomainResolutionTests()
1717
{
1818
IServiceCollection services = new ServiceCollection();
1919
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
20-
services.AddAutoMapper(opt =>
21-
{
22-
opt.AddMaps(typeof(AppDomainResolutionTests));
23-
});
20+
services.AddAutoMapper(_ => { }, typeof(AppDomainResolutionTests));
2421
_provider = services.BuildServiceProvider();
2522
}
2623

src/AutoMapper.DI.Tests/AssemblyResolutionTests.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ private static ServiceProvider BuildServiceProvider()
2323
{
2424
IServiceCollection services = new ServiceCollection();
2525
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
26-
services.AddAutoMapper(opt =>
27-
{
28-
opt.AddMaps(typeof(Source).GetTypeInfo().Assembly);
29-
});
26+
services.AddAutoMapper(_ => { }, typeof(Source).GetTypeInfo().Assembly);
3027
var serviceProvider = services.BuildServiceProvider();
3128
return serviceProvider;
3229
}

src/AutoMapper.DI.Tests/AttributeTests.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ public void Should_not_register_static_instance_when_configured()
1414
{
1515
IServiceCollection services = new ServiceCollection();
1616
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
17-
services.AddAutoMapper(opt =>
18-
{
19-
opt.AddMaps(typeof(Source3));
20-
});
17+
services.AddAutoMapper(_ => { }, typeof(Source3));
2118

2219
var serviceProvider = services.BuildServiceProvider();
2320

src/AutoMapper.DI.Tests/DependencyTests.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ public DependencyTests()
1717
IServiceCollection services = new ServiceCollection();
1818
services.AddTransient<ISomeService>(sp => new FooService(5));
1919
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
20-
services.AddAutoMapper(opt =>
21-
{
22-
opt.AddMaps(typeof(Source), typeof(Profile));
23-
});
20+
services.AddAutoMapper(_ => { }, typeof(Source), typeof(Profile));
2421
_provider = services.BuildServiceProvider();
2522

2623
_provider.GetService<IConfigurationProvider>().AssertConfigurationIsValid();

src/AutoMapper.DI.Tests/Integrations/ServiceLifetimeTests.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,8 @@ public void CanUseDefaultInjectedIMapperInSingletonService()
5050
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
5151
services.AddAutoMapper(opt =>
5252
{
53-
opt.AddMaps(GetType().Assembly);
5453
opt.CreateMap<Foo, Bar>().ReverseMap();
55-
});
54+
}, GetType().Assembly);
5655
var sp = services.BuildServiceProvider();
5756
Bar actual;
5857

src/AutoMapper.DI.Tests/MultipleRegistrationTests.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,9 @@ public void Can_register_assembly_multiple_times()
3030
var services = new ServiceCollection();
3131
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
3232

33-
services.AddAutoMapper(opt =>
34-
{
35-
opt.AddMaps(typeof(MultipleRegistrationTests));
36-
});
37-
services.AddAutoMapper(opt =>
38-
{
39-
opt.AddMaps(typeof(MultipleRegistrationTests));
40-
});
41-
services.AddAutoMapper(opt =>
42-
{
43-
opt.AddMaps(typeof(MultipleRegistrationTests));
44-
});
33+
services.AddAutoMapper(_ => { }, typeof(MultipleRegistrationTests));
34+
services.AddAutoMapper(_ => { }, typeof(MultipleRegistrationTests));
35+
services.AddAutoMapper(_ => { }, typeof(MultipleRegistrationTests));
4536
services.AddTransient<ISomeService, MutableService>();
4637

4738
var serviceProvider = services.BuildServiceProvider();

src/AutoMapper.DI.Tests/ScopeTests.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ public void Can_depend_on_scoped_services_as_transient_default()
1313
{
1414
var services = new ServiceCollection();
1515
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
16-
services.AddAutoMapper(opt =>
17-
{
18-
opt.AddMaps(typeof(Source).Assembly);
19-
});
16+
services.AddAutoMapper(_ => { }, typeof(Source).Assembly);
2017
services.AddScoped<ISomeService, MutableService>();
2118

2219
var provider = services.BuildServiceProvider();
@@ -39,11 +36,9 @@ public void Can_depend_on_scoped_services_as_scoped()
3936
{
4037
var services = new ServiceCollection();
4138
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
42-
services.AddAutoMapper(opt =>
39+
services.AddAutoMapper(_ =>
4340
{
44-
opt.ServiceLifetime = ServiceLifetime.Scoped;
45-
opt.AddMaps(typeof(Source).Assembly);
46-
});
41+
}, [typeof(Source).Assembly], ServiceLifetime.Scoped);
4742
services.AddScoped<ISomeService, MutableService>();
4843

4944
var provider = services.BuildServiceProvider();
@@ -65,12 +60,8 @@ public void Can_depend_on_scoped_services_as_scoped()
6560
public void Cannot_correctly_resolve_scoped_services_as_singleton()
6661
{
6762
var services = new ServiceCollection();
68-
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
69-
services.AddAutoMapper(opt =>
70-
{
71-
opt.AddMaps(typeof(Source).Assembly);
72-
opt.ServiceLifetime = ServiceLifetime.Singleton;
73-
});
63+
services.AddSingleaton<ILoggerFactory>(NullLoggerFactory.Instance);
64+
services.AddAutoMapper(_ => { }, [typeof(Source).Assembly], ServiceLifetime.Singleton);
7465
services.AddScoped<ISomeService, MutableService>();
7566

7667
var provider = services.BuildServiceProvider();

src/AutoMapper.DI.Tests/ServiceLifetimeTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@ public void AddAutoMapperExtensionDefaultWithServiceLifetime()
3434
var serviceCollection = new ServiceCollection();
3535

3636
//act
37-
serviceCollection.AddAutoMapper(opt =>
37+
serviceCollection.AddAutoMapper(_ =>
3838
{
39-
opt.ServiceLifetime = ServiceLifetime.Singleton;
40-
});
39+
}, new List<Assembly>(), ServiceLifetime.Singleton);
4140
var serviceDescriptor = serviceCollection.FirstOrDefault(sd => sd.ServiceType == typeof(IMapper));
4241

4342
//assert
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
using Microsoft.Extensions.Logging;
2+
using Microsoft.Extensions.Logging.Abstractions;
3+
4+
namespace AutoMapper.Extensions.Microsoft.DependencyInjection.Tests
5+
{
6+
using System;
7+
using global::Microsoft.Extensions.DependencyInjection;
8+
using Shouldly;
9+
using Xunit;
10+
11+
public class ServiceProviderTests
12+
{
13+
private readonly IServiceProvider _provider;
14+
15+
public ServiceProviderTests()
16+
{
17+
IServiceCollection services = new ServiceCollection();
18+
services.AddTransient<ISomeService>(sp => new FooService(5));
19+
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
20+
services.AddAutoMapper((sp, _) =>
21+
{
22+
var service = sp.GetRequiredService<ISomeService>();
23+
service.Modify(5);
24+
}, typeof(Source), typeof(Profile));
25+
_provider = services.BuildServiceProvider();
26+
27+
_provider.GetService<IConfigurationProvider>().AssertConfigurationIsValid();
28+
}
29+
30+
[Fact]
31+
public void ShouldResolveWithDependency()
32+
{
33+
var mapper = _provider.GetService<IMapper>();
34+
var dest = mapper.Map<Source2, Dest2>(new Source2());
35+
36+
dest.ResolvedValue.ShouldBe(5);
37+
}
38+
39+
[Fact]
40+
public void ShouldConvertWithDependency()
41+
{
42+
var mapper = _provider.GetService<IMapper>();
43+
var dest = mapper.Map<Source2, Dest2>(new Source2 { ConvertedValue = 5});
44+
45+
dest.ConvertedValue.ShouldBe(10);
46+
}
47+
}
48+
}

src/AutoMapper.DI.Tests/TypeResolutionTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@ public TypeResolutionTests()
1717
{
1818
IServiceCollection services = new ServiceCollection();
1919
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
20-
services.AddAutoMapper(opt =>
20+
services.AddAutoMapper(_ =>
2121
{
22-
opt.AddMaps(typeof(Source));
23-
});
22+
}, typeof(Source));
2423

2524
_provider = services.BuildServiceProvider();
2625
}

0 commit comments

Comments
 (0)