public static async Task CreateUserNoHash() { var container = ContainerGenerator.StartNew() .WithDbContext() .WithUnitOfWork() .Generate(); container.Register <IUserRepository, UserRepository>(); container.Register <IPasswordHashService, DoNothingPasswordHashService>(); container.Register <UserService>(); using (var scope = AsyncScopedLifestyle.BeginScope(container)) { var userService = container.GetInstance <UserService>(); await userService.Create(new Models.UserCreateModel { CleartextPassword = "******", Email = $"f@ke-{Guid.NewGuid().ToString("n").Substring(0, 6)}.com", FirstName = "Mike", LastName = "Devlin" }); await scope.DisposeAsync(); } }
public void IoC_Installer_Can_Install_Appropriately() { var containerGen = new ContainerGenerator(); containerGen.InstallIoC(); var continaer = containerGen.GenerateContainer(); }
public void ServiceLocator_Can_Initialize_With_Container() { var containerGen = new ContainerGenerator(); var container = containerGen.GenerateContainer(); _sut.Init(container); Assert.NotNull(_sut.Container); }
public void ServiceLocator_Can_Resolve_From_Initialized_Container() { var containerGen = new ContainerGenerator(); containerGen.RegisterInstance(new TestClass()); var container = containerGen.GenerateContainer(); _sut.Init(container); var resolved = _sut.GetService(typeof(TestClass)); Assert.IsType(typeof(TestClass), resolved); }
public string Get() { var cityGenerator = new CityGenerator(); if (!cityGenerator.Generate()) { return("Error"); } var factoryGenerator = new FactoryGenerator(); if (!factoryGenerator.Generate()) { return("Error"); } var utilityGenerator = new UtilityGenerator(); if (!utilityGenerator.Generate()) { return("Error"); } var regionGenerator = new RegionGenerator(); if (!regionGenerator.Generate()) { return("Error"); } var containerGenerator = new ContainerGenerator(); if (!containerGenerator.Generate()) { return("Error"); } var tripGenerator = new TripGenerator(); if (!tripGenerator.Generate()) { return("Error"); } return("Success"); }
public TestBase() { var containerGen = new ContainerGenerator(); // Installations containerGen.InstallIoC(); containerGen.InstallCaching(); containerGen.InstallUtility(); // Attempt to override containerGen.Register <TestServiceLocator>().As <IServiceLocator>().WithLifestyle(RegistrationLifestyleType.Singleton); // Generate Container var container = containerGen.GenerateContainer(); // Resolve and initialize singleton ServiceLocator instance var svcLocator = container.Resolve <IServiceLocator>(); svcLocator.Init(container); }
public static async Task CreateUserWithHash() { var container = ContainerGenerator.StartNew() .WithDbContext() .WithUnitOfWork() .Generate(); container.Register <IUserRepository, UserRepository>(); container.Register <IPasswordHashService, BCryptPasswordHashService>(); container.Register <UserService>(); container.Register <AuthenticationService>(); var email = $"f@ke-{Guid.NewGuid().ToString("n").Substring(0, 6)}.com"; using (var scope = AsyncScopedLifestyle.BeginScope(container)) { var userService = container.GetInstance <UserService>(); await userService.Create(new Models.UserCreateModel { CleartextPassword = "******", Email = email, FirstName = "Mike", LastName = "Devlin" }); await scope.DisposeAsync(); } using (var scope = AsyncScopedLifestyle.BeginScope(container)) { var authService = container.GetInstance <AuthenticationService>(); var happyResult = await authService.Authenticate(email, "password"); System.Console.WriteLine($"Happy result: {happyResult}"); var sadResult = await authService.Authenticate(email, ""); System.Console.WriteLine($"Sad result: {sadResult}"); } }