public void RegisterMySqlConnection_Requires_Config()
        {
            // arrange
            ContainerBuilder cb = new ContainerBuilder();

            // act & assert
            Assert.Throws <ArgumentNullException>(() => MySqlContainerBuilderExtensions.RegisterMySqlConnection(cb, null));
        }
        public void RegisterMySqlConnection_Requires_Builder()
        {
            // arrange
            IConfiguration config = new ConfigurationBuilder().Build();

            // act & assert
            Assert.Throws <ArgumentNullException>(() => MySqlContainerBuilderExtensions.RegisterMySqlConnection(null, config));
        }
        public void RegisterMySqlConnection_AddsHealthContributorToContainer()
        {
            // arrange
            ContainerBuilder container = new ContainerBuilder();
            IConfiguration   config    = new ConfigurationBuilder().Build();

            // act
            var regBuilder        = MySqlContainerBuilderExtensions.RegisterMySqlConnection(container, config);
            var services          = container.Build();
            var healthContributor = services.Resolve <IHealthContributor>();

            // assert
            Assert.NotNull(healthContributor);
            Assert.IsType <RelationalHealthContributor>(healthContributor);
        }
        public void RegisterMySqlConnection_AddsToContainer()
        {
            // arrange
            ContainerBuilder container = new ContainerBuilder();
            IConfiguration   config    = new ConfigurationBuilder().Build();

            // act
            var regBuilder = MySqlContainerBuilderExtensions.RegisterMySqlConnection(container, config);
            var services   = container.Build();
            var dbConn     = services.Resolve <IDbConnection>();

            // assert
            Assert.NotNull(dbConn);
            Assert.Equal(typeof(MySqlConnection).FullName, dbConn.GetType().FullName);
        }