public void Setup() { _testConfiguration = ConfigureWithEmptyWorkspace(); //create test data service provider var testDataServiceFactory = new TestDataServiceFactory(); _testDataService = testDataServiceFactory.Create(_testConfiguration.Platform); //create data service factory for migration proper _directoryService = new DirectoryService(); _traceService = new FileTraceService(_directoryService) { IsDebugEnabled = true }; _migrationServiceFactory = new MigrationServiceFactory(_traceService); }
public override TestResult[] Execute(ITestMethod testMethod) { var platform = EnvironmentHelper.GetEnvironmentVariable(ENVIRONMENT_TEST_VARIABLE.YUNIQL_TEST_PLATFORM); var testDataServiceFactory = new TestDataServiceFactory(); var testDataService = testDataServiceFactory.Create(platform); //Ignores test methods with [TestMethodExAttribute (Requires = "IsTransactionalDdlNotSupported")] attribute //For test cases applicable only to platforms that do not support for transactional DDL (mysql, snowflake, ...) if (Requires.Contains("IsMultiTenancySupported") && !testDataService.IsMultiTenancySupported) { var message = $"Target database platform or version does not support multitenancy. " + $"The platform only supports single database for the given server instance."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } //Ignores test methods with [TestMethodExAttribute (Requires = "IsSchemaSupported")] attribute //For test cases applicable only to platforms that do not support schema if (Requires.Contains(nameof(testDataService.IsSchemaSupported)) && !testDataService.IsSchemaSupported) { var message = $"Target database platform or version does not support schema within the same database."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } return(base.Execute(testMethod)); }
public override TestResult[] Execute(ITestMethod testMethod) { var platform = EnvironmentHelper.GetEnvironmentVariable(ENVIRONMENT_TEST_VARIABLE.YUNIQL_TEST_PLATFORM); var testDataServiceFactory = new TestDataServiceFactory(); var testDataService = testDataServiceFactory.Create(platform); //Ignores test methods with [TestMethodExAttribute (Requires = "IsTransactionalDdlSupported")] attribute //For test cases applicable only to platforms that has full support for transactional DDL (sqlserver, pgsql, ...) if (Requires.Contains(nameof(testDataService.IsTransactionalDdlSupported)) && !testDataService.IsTransactionalDdlSupported) { var message = $"Target database platform or version does not support atomic DDL operations. " + $"DDL operations like CREATE TABLE, CREATE VIEW are not gauranteed to be executed transactional."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } //Ignores test methods with [TestMethodExAttribute (Requires = "IsTransactionalDdlNotSupported")] attribute //For test cases applicable only to platforms that do not support for transactional DDL (mysql, snowflake, ...) if (Requires.Contains("IsTransactionalDdlNotSupported") && testDataService.IsTransactionalDdlSupported) { var message = $"Target database platform or version does not support atomic DDL operations. " + $"DDL operations like CREATE TABLE, CREATE VIEW are not gauranteed to be executed transactional."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } //Ignores test methods with [TestMethodExAttribute (Requires = "IsSchemaSupported")] attribute //For test cases applicable only to platforms that do not support schema if (Requires.Contains(nameof(testDataService.IsSchemaSupported)) && !testDataService.IsSchemaSupported) { var message = $"Target database platform or version does not support schema within the same database."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } //Ignores test methods with [TestMethodExAttribute (Requires = "IsBatchSqlSupported")] attribute if (Requires.Contains(nameof(testDataService.IsBatchSqlSupported)) && !testDataService.IsBatchSqlSupported) { var message = $"Target database platform or version does not support batching sql statements in single session or request."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } //Ignores test methods with [TestMethodExAttribute (Requires = "IsBatchSqlSupportedAndIsTransactionalDdlSupported")] attribute if (Requires.Contains(nameof(TestDataServiceBase.IsBatchSqlSupported) + "And" + nameof(TestDataServiceBase.IsTransactionalDdlSupported)) && (!testDataService.IsBatchSqlSupported || !testDataService.IsTransactionalDdlSupported)) { var message = $"Target database platform or version does not support batching sql statements in single session or request."; return(new[] { new TestResult { Outcome = UnitTestOutcome.NotRunnable, LogOutput = message } }); } return(base.Execute(testMethod)); }