コード例 #1
0
        public static void UseMongoPersistence(
            this BewitPayloadContext context,
            IConfiguration configuration)
        {
            MongoNonceOptions options = configuration
                                        .GetSection("Bewit:Mongo")
                                        .Get <MongoNonceOptions>();

            context.UseMongoPersistence(options);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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>();
        }
コード例 #4
0
        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>();
        }
コード例 #5
0
        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();
        }