public static void UseMongoPersistence( this BewitPayloadContext context, IConfiguration configuration) { MongoNonceOptions options = configuration .GetSection("Bewit:Mongo") .Get <MongoNonceOptions>(); context.UseMongoPersistence(options); }
public void UseMongoPersistence_WithOnlyMandatoryParameters_ShouldInitAndReturnMongoNonceRepository() { //Arrange var builder = new BewitPayloadContext(typeof(object)); IMongoCollection <Foo> collection = _mongoResource.CreateCollection <Foo>(); //Act builder.UseMongoPersistence( new MongoNonceOptions { ConnectionString = _mongoResource.ConnectionString, DatabaseName = collection.Database.DatabaseNamespace.DatabaseName } ); //Assert builder.Should().Be(builder); builder.CreateRepository.Should().NotBeNull(); }
public void UseMongoPersistence_WithBuilderNull_ShouldThrowArgumentNullException() { //Arrange BewitPayloadContext context = null; IMongoCollection <Foo> collection = _mongoResource.CreateCollection <Foo>(); //Act Action useRepository = () => context.UseMongoPersistence( new MongoNonceOptions { ConnectionString = _mongoResource.ConnectionString, DatabaseName = collection.Database.DatabaseNamespace.DatabaseName } ); //Assert useRepository.Should().Throw <ArgumentNullException>(); }
public void UseMongoPersistence_WithMissingDatabaseNameInConfiguration_ShouldInitAndReturnMongoNonceRepository() { //Arrange var builder = new BewitPayloadContext(typeof(object)); IMongoCollection <Foo> collection = _mongoResource.CreateCollection <Foo>(); IConfiguration configuration = new ConfigurationBuilder() .AddInMemoryCollection(new[] { new KeyValuePair <string, string>("Bewit:Mongo:ConnectionString", _mongoResource.ConnectionString), new KeyValuePair <string, string>("Bewit:Mongo:sefef", collection.Database.DatabaseNamespace.DatabaseName), }) .Build(); //Act Action builder2 = () => builder.UseMongoPersistence(configuration); //Assert builder2.Should().Throw <ArgumentException>(); }
public void UseMongoPersistence_WithValidConfiguration_ShouldInitAndReturnMongoNonceRepository() { //Arrange var builder = new BewitPayloadContext(typeof(object)); IMongoCollection <Foo> collection = _mongoResource.CreateCollection <Foo>(); IConfiguration configuration = new ConfigurationBuilder() .AddInMemoryCollection(new[] { new KeyValuePair <string, string>("Bewit:Mongo:ConnectionString", _mongoResource.ConnectionString), new KeyValuePair <string, string>("Bewit:Mongo:DatabaseName", collection.Database.DatabaseNamespace.DatabaseName), }) .Build(); //Act builder.UseMongoPersistence(configuration); //Assert builder.Should().Be(builder); builder.CreateRepository.Should().NotBeNull(); }