public void Ctor_Taking_Factory_Method_When_Called_With_Null_Factory_Method_Throws_ArgumentNullException() { Assert.Catch <ArgumentNullException>(() => { // Act FactoryMethodDbContextProvider factoryMethodDbContextProvider = new FactoryMethodDbContextProvider(null as LogModelFunc <DbContext>); }); }
public void Ctor_Taking_Factory_Method_When_Called_Sets_Factory_Method() { // Arrange LogModelFunc <DbContext> factoryMethod = d => null; // Act FactoryMethodDbContextProvider factoryMethodDbContextProvider = new FactoryMethodDbContextProvider(factoryMethod); // Assert Assert.AreEqual(factoryMethod, factoryMethodDbContextProvider.FactoryMethod); }
public void GetDbContext_Taking_LogModel_When_Called_Returns_Result_From_Factory_Method() { // Arrange DbContext contextReturnedFromFactoryMethod = new Mock <DbContext>().Object; LogModelFunc <DbContext> factoryMethod = d => contextReturnedFromFactoryMethod; FactoryMethodDbContextProvider factoryMethodDbContextProvider = new FactoryMethodDbContextProvider(factoryMethod); // Act var contextFromMethod = factoryMethodDbContextProvider.GetDbContext(new LogModel()); // Assert Assert.AreEqual(contextReturnedFromFactoryMethod, contextFromMethod); }
public void Adding_Entity_Framework_Destination_With_DbContext_Function() { IDbContextProvider factoryMethodDbContextProvider = new FactoryMethodDbContextProvider((logModel) => { if (logModel.HasTag("App1")) { return(dbContext1); } else { return(dbContext2); } }); IDbEntityBuilder dbEntityBuilder = new LogDbModelEntityBuilder(); EntityFrameworkDestination entityFrameworkDestination = new EntityFrameworkDestination(factoryMethodDbContextProvider, dbEntityBuilder); Logger logger = new Logger(); logger.AddLogDestinations(entityFrameworkDestination); }