From 6cd501c5f79698d468fd2b6835596be2e7cc0549 Mon Sep 17 00:00:00 2001 From: Praburaj Date: Fri, 30 May 2014 12:19:19 -0700 Subject: [PATCH] Work around for the identity bug to unblock CI test Identity internally overrides the explicitly specified connection string by overriding it with a default value. This results in reusing a default database causing test failures. Until identity is fixed this is a work around. --- src/MusicStore/Models/IdentityModels.cs | 12 ++++++++++++ src/MusicStore/Startup.cs | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/MusicStore/Models/IdentityModels.cs b/src/MusicStore/Models/IdentityModels.cs index dcc779d1d8..ba6183bf1e 100644 --- a/src/MusicStore/Models/IdentityModels.cs +++ b/src/MusicStore/Models/IdentityModels.cs @@ -9,9 +9,18 @@ namespace MusicStore.Models public class ApplicationDbContext : IdentitySqlContext { + private IdentityDbContextOptions options; + public ApplicationDbContext(IServiceProvider serviceProvider, IOptionsAccessor optionsAccessor) : base(serviceProvider, optionsAccessor.Options) { + options = optionsAccessor.Options; + } + + protected override void OnConfiguring(DbContextOptions builder) + { + //Bug: Identity overriding the passed in connection string with a default value. https://github.com/aspnet/identity/issues/102 + builder.UseSqlServer(options.ConnectionString); } } @@ -20,5 +29,8 @@ namespace MusicStore.Models public string DefaultAdminUserName { get; set; } public string DefaultAdminPassword { get; set; } + + //Bug: Identity overriding the passed in connection string with a default value. https://github.com/aspnet/identity/issues/102 + public string ConnectionString { get; set; } } } \ No newline at end of file diff --git a/src/MusicStore/Startup.cs b/src/MusicStore/Startup.cs index 9fa98cc65e..aa64eda4d2 100644 --- a/src/MusicStore/Startup.cs +++ b/src/MusicStore/Startup.cs @@ -40,7 +40,9 @@ namespace MusicStore { options.DefaultAdminUserName = configuration.Get("DefaultAdminUsername"); options.DefaultAdminPassword = configuration.Get("DefaultAdminPassword"); - options.UseSqlServer(configuration.Get("Data:IdentityConnection:ConnectionString")); + //Bug: Identity overriding the passed in connection string with a default value. https://github.com/aspnet/identity/issues/102 + options.ConnectionString = configuration.Get("Data:IdentityConnection:ConnectionString"); + options.UseSqlServer(options.ConnectionString); }); services.SetupOptions(options =>