Ejemplo n.º 1
0
        private static void PlanToGoBetweenVersions(int currentVersion, int?targetVersion)
        {
            var databaseLocalMemory = new DatabaseLocalMemory();

            ChangePlanner.MakePlan(databaseLocalMemory, new ChangeGoal(currentVersion, targetVersion),
                                   TestData.Migrations(3, 4, 5).ToLoaders());
        }
        private static MigrationSet RequestMigrationBetween(int currentVersion, int?destinationVersion,
                                                            IMigrationLoader[] migrationsAvailable = null)
        {
            var available = migrationsAvailable ?? DefinedVersions(0);

            return(ChangePlanner.MakePlan(null, new ChangeGoal(currentVersion, destinationVersion),
                                          available));
        }
        public void MigrationSetShouldFindMigrationsFromDiskAndSpecialZeroMigrationLoader()
        {
            const string dirName     = "c:\\";
            var          testSubject = new ChangePlanner(null, new ChangeGoal(0, null));
            var          result      = testSubject.UsingMigrationsFrom(dirName);

            result.Loaders.Should().BeEquivalentTo(
                new MigrationRepoDirectory(new DirectoryOnDisk(dirName)),
                new MigrationRepoMakeDbVersionAware());
        }
        public void MigrationSetShouldGiveGoodErrorWhenGivenInvalidDirectory()
        {
            const string dirName     = @"c:\directory\that\does\not\exist";
            var          testSubject = new ChangePlanner(null, new ChangeGoal(0, null));

            testSubject.Invoking(t => t.UsingMigrationsFrom(dirName))
            .Should().Throw <TerminateProgramWithMessageException>()
            .WithMessage(
                @"Could not find migration directory.

You said migrations were in 'c:\directory\that\does\not\exist'.
However, I could not find that directory.")
            .And.ErrorLevel.Should().Be(2);
        }