Пример #1
0
        public void ValidateMigrationNamingConventions()
        {
            // Arrange
            long oldVer   = 0;
            var  migrator = new LiteMigration(Assembly.GetExecutingAssembly(), _baseNamespace);

            // Act
            var items = migrator.Migrations.GetSortedMigrations();

            // Assert
            System.Diagnostics.Debug.Print("==============");
            System.Diagnostics.Debug.Print("===[ GetSortedMigrationsTest");

            bool found = false;

            foreach (var item in items)
            {
                Assert.IsTrue(item.Key > oldVer);
                oldVer = item.Key;

                System.Diagnostics.Debug.Print($"==> version: '{item.Key}' Name: '{item.Value}");
                found = true;
            }

            Assert.IsTrue(found, "No migration scripts found");
        }
Пример #2
0
        public void GetMigrationScriptVerionTest()
        {
            var resourceAssm = Assembly.GetExecutingAssembly();
            var migrator     = new LiteMigration(resourceAssm, _baseNamespace);

            var results = migrator.Migrations.GetMigrationScriptByVersion(_scriptRevision, out string sql);

            // Assert
            Assert.IsTrue(results);
            Assert.IsTrue(!string.IsNullOrEmpty(sql));
            Assert.IsNotNull(sql);
        }
Пример #3
0
        public void GetMigrationScriptTest()
        {
            var assm     = Assembly.GetExecutingAssembly();
            var migrator = new LiteMigration(assm, _baseNamespace);

            // Sample: "Xeno.MyProject.Client.Business.Migrations.201909150000-BaseDDL.sql"
            bool success = migrator.Migrations.GetMigrationScriptByName(_script001, out string data);

            Assert.IsTrue(success);
            Assert.IsNotNull(data);
            Assert.IsTrue(data.Length > 0, "Could not read migration script");
        }
Пример #4
0
        public void GetResourceNamedTest()
        {
            // Arrange
            var resourceAssm = Assembly.GetExecutingAssembly();
            var migrator     = new LiteMigration(resourceAssm, _baseNamespace);

            // Act
            string data = migrator.Migrations.GetResourceNamed(_scriptName);

            // Assert
            Assert.IsNotNull(data);
            Assert.IsTrue(data.Length > 0);
        }
Пример #5
0
        public void GetMigrationScriptNamedTest()
        {
            // Arrange
            var resourceAssm = Assembly.GetExecutingAssembly();
            var migrator     = new LiteMigration(resourceAssm, _baseNamespace);

            // Act
            string ns = migrator.Migrations.GetResourceNamed(_scriptName);

            migrator.Migrations.GetMigrationScriptByName(ns, out string sql);

            // Assert
            Assert.IsTrue(!string.IsNullOrEmpty(ns));
            Assert.IsTrue(!string.IsNullOrEmpty(sql));
            Assert.IsNotNull(sql);
        }
        public async Task AllMigrationsAreNotInstalledTestAsync()
        {
            // Get not installed scripts.
            // returns sorted list of IMigration with namespace path to resource
            ClearVersionInfo();

            var resourceAssm = Assembly.GetExecutingAssembly();
            var mig          = new LiteMigration(TempDatabasePath, resourceAssm, _baseNamespace);

            var allMigs = mig.Migrations.GetSortedMigrations();
            var missing = await mig.GetMissingMigrationsAsync();

            Assert.IsTrue(allMigs.Count > 0);
            Assert.IsNotNull(missing);
            Assert.AreEqual(allMigs.Count, missing.Count);
        }
Пример #7
0
        public void GetResourcesTests()
        {
            // Arrange
            var migrator = new LiteMigration(Assembly.GetExecutingAssembly(), _baseNamespace);

            // Act
            var items = migrator.Migrations.GetResources();

            // Assert
            System.Diagnostics.Debug.Print("======================");
            System.Diagnostics.Debug.Print("===[ GetResourcesTests");
            foreach (var item in items)
            {
                System.Diagnostics.Debug.Print("==> " + item);
            }

            Assert.IsTrue(items.Count > 0, $"Not migration scripts found in namespace, '{_baseNamespace}'");
        }
        public async Task InstallMigrationsTestAsync()
        {
            DeleteDatabase();

            var resourceAssm = Assembly.GetExecutingAssembly();
            var mig          = new LiteMigration(TempDatabasePath, resourceAssm, _baseNamespace);

            var allMigs = mig.Migrations.GetSortedMigrations();
            var missing = await mig.GetMissingMigrationsAsync();

            Assert.IsTrue(allMigs.Count > 0);
            Assert.IsNotNull(missing);
            Assert.AreEqual(allMigs.Count, missing.Count);

            // Act
            bool success = await mig.MigrateUpAsync();

            // Assert
            Assert.IsTrue(success, mig.LastError);
            missing = await mig.GetMissingMigrationsAsync();

            Assert.AreEqual(0, missing.Count);
        }