Exemplo n.º 1
0
        public async Task MySqlRecordCountScriptTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddDatabaseRecordsCountRule(
                    new List <RecordCountRule>()
                {
                    new RecordCountRule()
                    {
                        TableName = "mytable",
                        Operator  = "=",
                        Count     = 100
                    }
                });
            });

            var results = new List <Models.Test>
            {
                new Models.Test(
                    "mytable",
                    $@"SELECT EXISTS (SELECT * FROM `mytable` WHERE (SELECT COUNT(*) AS `count` FROM `mytable`) = 100);",
                    TestType.RecordCount,
                    DatabaseKind.MySql)
            }.ToExpectedObject();

            results.ShouldEqual(await generator.Generate());
            Assert.Equal(DatabaseKind.MySql, generator.DatabaseKind);
        }
Exemplo n.º 2
0
        public async Task MySqlRecordExistScriptTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddDatabaseRecordExitsRule(
                    new List <RecordExistRule>()
                {
                    new RecordExistRule()
                    {
                        TableName  = "mytable",
                        ColumnName = "name",
                        Operator   = "=",
                        Value      = "myname"
                    }
                });
            });

            var results = new List <Models.Test>
            {
                new Models.Test(
                    "mytable",
                    $@"SELECT EXISTS(SELECT * FROM `mytable` WHERE `name` = 'myname');",
                    TestType.RecordExist,
                    DatabaseKind.MySql)
            }.ToExpectedObject();

            results.ShouldEqual(await generator.Generate());
            Assert.Equal(DatabaseKind.MySql, generator.DatabaseKind);
        }
Exemplo n.º 3
0
        public void MySqlObjectExistScriptNullDbKindTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddDatabaseObjectExitsRule(new string[] { "sp1", "sp2" }, DatabaseObjectType.StoredProcedure);
            });

            Assert.Equal(DatabaseKind.MySql, generator.DatabaseKind);
        }
        public async Task MysqlCreateRunnerTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddDatabaseObjectExitsRule(new string[] { "mytable" }, DatabaseObjectType.Table);
            });

            var script = await generator.Generate();

            var options = Substitute.For <Action <TestRunnerOptions> >();
            var runner  = Substitute.For <MySqlTestRunnerFactory>(script, options);

            Assert.NotNull(runner);
        }
Exemplo n.º 5
0
        public async Task MySqlStoredProcedureExistScriptTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddDatabaseObjectExitsRule(new string[] { "mystoredprocedure" }, DatabaseObjectType.StoredProcedure);
            });

            var results = new List <Models.Test>
            {
                new Models.Test(
                    "mystoredprocedure",
                    $@"SELECT EXISTS(SELECT * FROM `information_schema`.`routines` WHERE `routine_name` = 'mystoredprocedure');",
                    TestType.ObjectExist,
                    DatabaseKind.MySql)
            }.ToExpectedObject();

            results.ShouldEqual(await generator.Generate());
            Assert.Equal(DatabaseKind.MySql, generator.DatabaseKind);
        }
Exemplo n.º 6
0
        public async Task MySqlCustomScriptTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddCustomSqlRule(
                    new List <string>()
                {
                    "SELECT * FROM mytable WHERE (SELECT COUNT(*) AS count FROM mytable) = 50"
                });
            });

            var results = new List <Models.Test>
            {
                new Models.Test(
                    null,
                    $@"SELECT EXISTS (SELECT * FROM mytable WHERE (SELECT COUNT(*) AS count FROM mytable) = 50);",
                    TestType.CustomScript,
                    DatabaseKind.MySql)
            }.ToExpectedObject();

            results.ShouldEqual(await generator.Generate());
            Assert.Equal(DatabaseKind.MySql, generator.DatabaseKind);
        }
Exemplo n.º 7
0
        public async Task MySqlMultipleTableExistScriptTest_Success()
        {
            var generator = new MySqlTestGenerator(options =>
            {
                options.AddDatabaseObjectExitsRule(new string[] { "table1", "table2" }, DatabaseObjectType.Table);
            });

            var results = new List <Models.Test>
            {
                new Models.Test(
                    "table1",
                    $@"SELECT EXISTS(SELECT * FROM `information_schema`.`tables` WHERE `table_name` = 'table1');",
                    TestType.ObjectExist,
                    DatabaseKind.MySql),
                new Models.Test(
                    "table2",
                    $@"SELECT EXISTS(SELECT * FROM `information_schema`.`tables` WHERE `table_name` = 'table2');",
                    TestType.ObjectExist,
                    DatabaseKind.MySql)
            }.ToExpectedObject();

            results.ShouldEqual(await generator.Generate());
            Assert.Equal(DatabaseKind.MySql, generator.DatabaseKind);
        }