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.
This commit is contained in:
Praburaj 2014-05-30 12:19:19 -07:00
parent 9cb6325bf3
commit 6cd501c5f7
2 changed files with 15 additions and 1 deletions

View File

@ -9,9 +9,18 @@ namespace MusicStore.Models
public class ApplicationDbContext : IdentitySqlContext<ApplicationUser>
{
private IdentityDbContextOptions options;
public ApplicationDbContext(IServiceProvider serviceProvider, IOptionsAccessor<IdentityDbContextOptions> 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; }
}
}

View File

@ -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<MusicStoreDbContextOptions>(options =>