Example #1
0
        public void GetColumnsWorks()
        {
            // Drop all tables first
            MySqlTestHelper.DropAllTables();

            // Now get the columns for system tables so we know a prefix works
            using var connection = new MySqlConnection(MySqlTestHelper.ConnectionString);
            connection.Open();
            var columns = connection.GetColumns("information_schema", "tables");

            Assert.AreEqual("varchar", columns["TABLE_CATALOG"]);
            Assert.That(columns["VERSION"], Is.EqualTo("bigint").Or.EqualTo("int"));
            Assert.AreEqual("datetime", columns["update_time"]);

            // Now create two tables so we can see it works for our tables without a schema prefix
            const string tableName1 = "tableName1";
            const string tableName2 = "tableName2";

            CreateTables(connection, tableName1, tableName2);
            columns = connection.GetColumns("", tableName1);
            Assert.AreEqual(2, columns.Count);
            Assert.AreEqual("bigint", columns["id1"]);
            Assert.AreEqual("mediumblob", columns["col1"]);
            columns = connection.GetColumns("", tableName2);
            Assert.AreEqual(2, columns.Count);
            Assert.AreEqual("bigint", columns["id2"]);
            Assert.AreEqual("longblob", columns["col2"]);
        }
Example #2
0
        public void TableNamesWorks()
        {
            // Drop all tables first
            MySqlTestHelper.DropAllTables();

            // Should have no tables in our database schema
            using var connection = new MySqlConnection(MySqlTestHelper.ConnectionString);
            connection.Open();
            var tableNames = connection.GetTableNames();

            Assert.AreEqual(0, tableNames.Count);

            // Now create two tables so we can see it works
            const string tableName1 = "tableName1";
            const string tableName2 = "tableName2";

            CreateTables(connection, tableName1, tableName2);

            // Check they are now there
            tableNames = connection.GetTableNames();
            Assert.AreEqual(2, tableNames.Count);
            var table1 = new TableName("", tableName1);

            Assert.IsTrue(tableNames.Contains(table1));
            var table2 = new TableName("", tableName2);

            Assert.IsTrue(tableNames.Contains(table2));
        }
Example #3
0
        protected override void SetUp()
        {
            MySqlTestHelper.DropAllTables();

            var queueName = TestConfig.GetName("connection_timeout");

            _activator = new BuiltinHandlerActivator();

            Using(_activator);

            _loggerFactory = new ListLoggerFactory(outputToConsole: true);

            _starter = Configure.With(_activator)
                       .Logging(l => l.Use(_loggerFactory))
                       .Transport(t => t.UseMySql(new MySqlTransportOptions(MySqlTestHelper.ConnectionString), queueName))
                       .Create();
        }
        protected override void SetUp()
        {
            MySqlTestHelper.DropAllTables();

            var rebusTime            = new DefaultRebusTime();
            var consoleLoggerFactory = new ConsoleLoggerFactory(false);
            var connectionProvider   = new DbConnectionProvider(MySqlTestHelper.ConnectionString, consoleLoggerFactory);
            var asyncTaskFactory     = new TplAsyncTaskFactory(consoleLoggerFactory);

            _transport = new MySqlTransport(connectionProvider, QueueName, consoleLoggerFactory, asyncTaskFactory, rebusTime, new MySqlTransportOptions(connectionProvider));
            _transport.EnsureTableIsCreated();

            Using(_transport);

            _transport.Initialize();

            _cancellationToken = new CancellationTokenSource().Token;
        }
Example #5
0
        protected override void SetUp()
        {
            // start clean
            MySqlTestHelper.DropAllTables();

            // end clean
            Using(new DisposableCallback(MySqlTestHelper.DropAllTables));

            var loggerFactory      = new ListLoggerFactory();
            var connectionProvider = new DbConnectionProvider(MySqlTestHelper.ConnectionString, loggerFactory);

            _subscriptionStorage = new MySqlSubscriptionStorage(connectionProvider, "Subscriptions", isCentralized: true, loggerFactory);
            _subscriptionStorage.EnsureTableIsCreated();

            _subscriberTransport = Using(new MySqlTransport(connectionProvider, "subscriber", loggerFactory, new TplAsyncTaskFactory(loggerFactory), new FakeRebusTime(), new MySqlTransportOptions(connectionProvider)));
            _subscriberTransport.EnsureTableIsCreated();
            _subscriberTransport.Initialize();
        }
        protected override void SetUp()
        {
            MySqlTestHelper.DropAllTables();

            _activator = Using(new BuiltinHandlerActivator());

            _starter = Configure.With(_activator)
                       .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "auditing-buggerino"))
                       .Sagas(s => s.StoreInMemory())
                       .Options(o =>
            {
                o.EnableSagaAuditing().StoreInMySql(MySqlTestHelper.ConnectionString, TableName);
                o.SetMaxParallelism(1);
            })
                       .Create();

            Console.WriteLine($@"The test is now running - we have the following tables:

{string.Join(Environment.NewLine, MySqlTestHelper.GetTableNames())}");
        }
 protected override void SetUp()
 {
     MySqlTestHelper.DropAllTables();
 }
 public MySqlBusFactory()
 {
     MySqlTestHelper.DropAllTables();
 }
 public MySqlTransportFactory()
 {
     MySqlTestHelper.DropAllTables();
 }
Example #10
0
        public void CreateAndDropColumnAndIndexSql()
        {
            // Drop all tables first
            MySqlTestHelper.DropAllTables();

            // Open a connection
            using var connection = new MySqlConnection(MySqlTestHelper.ConnectionString);
            connection.Open();

            // Create a table to test with
            var          schema    = connection.Database;
            const string tableName = "tableName";

            CreateTables(connection, tableName);

            // This column should already exist, so it should do nothing
            var sql     = MySqlMagic.CreateColumnIfNotExistsSql(schema, tableName, "col1", "varchar(255) null");
            var command = connection.CreateCommand();

            command.CommandText = sql;
            var result = command.ExecuteScalar() as string;

            Assert.AreEqual("column exists", result);

            // Now create a new column
            sql                 = MySqlMagic.CreateColumnIfNotExistsSql(schema, tableName, "date1", "datetime(6) null");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual(null, result);
            var columns = connection.GetColumns("", tableName);

            Assert.AreEqual(3, columns.Count);
            Assert.AreEqual("bigint", columns["id1"]);
            Assert.AreEqual("mediumblob", columns["col1"]);
            Assert.AreEqual("datetime", columns["date1"]);

            // Now lets add an index
            sql                 = MySqlMagic.CreateIndexIfNotExistsSql(schema, tableName, "idx1", "col1(10), date1");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual(null, result);

            // Check the index got added
            var indexes = connection.GetIndexes("", tableName);

            Assert.AreEqual(2, indexes.Count);
            Assert.AreEqual("id1", indexes["PRIMARY"]);
            Assert.AreEqual("col1,date1", indexes["idx1"]);

            // Try again and it should exist
            sql                 = MySqlMagic.CreateIndexIfNotExistsSql(schema, tableName, "idx1", "col1(10), date1");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual("index exists", result);

            // Now drop the index
            sql                 = MySqlMagic.DropIndexIfExistsSql(schema, tableName, "idx1");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual(null, result);

            // Check the index got removed
            indexes = connection.GetIndexes("", tableName);
            Assert.AreEqual(1, indexes.Count);
            Assert.AreEqual("id1", indexes["PRIMARY"]);

            // Try again and it should not exist
            sql                 = MySqlMagic.DropIndexIfExistsSql(schema, tableName, "idx1");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual("index does not exist", result);

            // Now drop the column
            sql                 = MySqlMagic.DropColumnIfExistsSql(schema, tableName, "date1");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual(null, result);
            columns = connection.GetColumns("", tableName);
            Assert.AreEqual(2, columns.Count);
            Assert.AreEqual("bigint", columns["id1"]);
            Assert.AreEqual("mediumblob", columns["col1"]);

            // Now drop the column again and nothing happens
            sql                 = MySqlMagic.DropColumnIfExistsSql(schema, tableName, "date1");
            command             = connection.CreateCommand();
            command.CommandText = sql;
            command.CommandText = sql;
            result              = command.ExecuteScalar() as string;
            Assert.AreEqual("column does not exist", result);
        }
Example #11
0
 public MySqlSubscriptionStorageFactory()
 {
     MySqlTestHelper.DropAllTables();
 }
Example #12
0
 public MySqlTimeoutManagerFactory()
 {
     MySqlTestHelper.DropAllTables();
 }