예제 #1
0
        private static void AssertLogDatabase(string logFilePath)
        {
            using (var reader = new MigrationLogDatabaseReader(logFilePath))
            {
                ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages();

                Assert.AreEqual(6, messages.Count);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("5", newVersion, "Gevolgen van de migratie van versie 16.4 naar versie 17.1:"),
                    messages[0]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("5", newVersion, "* Alle berekende resultaten zijn verwijderd."),
                    messages[1]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("5", newVersion, "* Traject: 'assessmentSection'"),
                    messages[2]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("5", newVersion, "  + Faalmechanisme: 'Grasbekleding erosie kruin en binnentalud'"),
                    messages[3]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("5", newVersion, "    - De naam van dijkprofiel '1' is veranderd naar '102' en wordt ook gebruikt als ID."),
                    messages[4]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("5", newVersion, "    - De naam van dijkprofiel '10' is veranderd naar '104' en wordt ook gebruikt als ID."),
                    messages[5]);
            }
        }
예제 #2
0
        public void GetMigrationLogMessages_EmptyMigrationLogFile_ReturnsEmptyLogMessages()
        {
            // Setup
            string fileName = TestHelper.GetTestDataPath(testPath, "emptyMigrationLog.sqlite");

            using (var reader = new MigrationLogDatabaseReader(fileName))
            {
                // Call
                ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages();

                // Assert
                Assert.AreEqual(0, messages.Count);
            }
        }
        private static void AssertLogDatabase(string logFilePath)
        {
            using (var reader = new MigrationLogDatabaseReader(logFilePath))
            {
                ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages();

                Assert.AreEqual(2, messages.Count);
                var i = 0;
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("17.2", newVersion, "Gevolgen van de migratie van versie 17.2 naar versie 17.3:"),
                    messages[i++]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("17.2", newVersion, "* Alle berekende resultaten van het faalmechanisme 'Macrostabiliteit binnenwaarts' zijn verwijderd."),
                    messages[i]);
            }
        }
        private static void AssertLogDatabase(string logFilePath)
        {
            using (var reader = new MigrationLogDatabaseReader(logFilePath))
            {
                ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages();

                Assert.AreEqual(2, messages.Count);
                var i = 0;
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("22.1", newVersion, "Gevolgen van de migratie van versie 22.1 naar versie 22.2:"),
                    messages[i++]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                    new MigrationLogMessage("22.1", newVersion, "* Geen aanpassingen."),
                    messages[i]);
            }
        }
예제 #5
0
        public void GetMigrationLogMessages_IncompleteMigrationLogFile_ThrowsCriticalFileReadException()
        {
            // Setup
            string fileName = TestHelper.GetTestDataPath(testPath, "incompleteMigrationLog.sqlite");

            using (var reader = new MigrationLogDatabaseReader(fileName))
            {
                // Call
                TestDelegate test = () => reader.GetMigrationLogMessages();

                // Assert
                var exception = Assert.Throws <CriticalFileReadException>(test);
                Assert.AreEqual("Kritieke fout opgetreden bij het uitlezen van het Riskeer logbestand van de migratie.",
                                exception.Message);
                Assert.IsInstanceOf <ArgumentException>(exception.InnerException);
            }
        }
예제 #6
0
        public void GetMigrationLogMessages_ValidMigrationLogFile_ReturnsExpectedLogMessages()
        {
            // Setup
            string fileName = TestHelper.GetTestDataPath(testPath, "validMigrationLog.sqlite");

            using (var reader = new MigrationLogDatabaseReader(fileName))
            {
                // Call
                ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages();

                // Assert
                Assert.AreEqual(2, messages.Count);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(new MigrationLogMessage("version 1", "version 2", "some message"),
                                                                      messages[0]);
                MigrationLogTestHelper.AssertMigrationLogMessageEqual(new MigrationLogMessage("version 2", "version 3", "different message"),
                                                                      messages[1]);
            }
        }
예제 #7
0
        private void LogMigrationMessages()
        {
            using (var migrationLogDatabase = new MigrationLogDatabaseReader(migrationLogPath))
            {
                ReadOnlyCollection <MigrationLogMessage> migrationLogMessages = migrationLogDatabase.GetMigrationLogMessages();
                if (!migrationLogMessages.Any())
                {
                    return;
                }

                var migrationLog = new StringBuilder(Resources.ProjectMigrator_Project_file_modified_click_details_for_migration_report);
                foreach (MigrationLogMessage logMessage in migrationLogMessages)
                {
                    migrationLog.AppendLine(logMessage.Message);
                }

                log.Info(migrationLog);
            }
        }
예제 #8
0
        public void GivenEmpty164Project_WhenNoChangesMadeAndMigratingToLatestVersion_ThenLogDatabaseContainsMessagesSayingNoChangesMade()
        {
            // Given
            string sourceFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core,
                                                               "Empty valid Release 16.4.rtd");
            var fromVersionedFile = new ProjectVersionedFile(sourceFilePath);

            string targetFilePath = TestHelper.GetScratchPadPath(
                nameof(GivenEmpty164Project_WhenNoChangesMadeAndMigratingToLatestVersion_ThenLogDatabaseContainsMessagesSayingNoChangesMade));
            string logFilePath = TestHelper.GetScratchPadPath(
                string.Concat(nameof(GivenEmpty164Project_WhenNoChangesMadeAndMigratingToLatestVersion_ThenLogDatabaseContainsMessagesSayingNoChangesMade), ".log"));
            var migrator = new ProjectFileMigrator
            {
                LogPath = logFilePath
            };

            using (new FileDisposeHelper(logFilePath))
                using (new FileDisposeHelper(targetFilePath))
                {
                    // When
                    migrator.Migrate(fromVersionedFile, latestVersion, targetFilePath);

                    using (var reader = new MigrationLogDatabaseReader(logFilePath))
                    {
                        ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages();
                        Assert.AreEqual(16, messages.Count);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("5", "17.1", "Gevolgen van de migratie van versie 16.4 naar versie 17.1:"),
                            messages[0]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("5", "17.1", "* Geen aanpassingen."),
                            messages[1]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("17.1", "17.2", "Gevolgen van de migratie van versie 17.1 naar versie 17.2:"),
                            messages[2]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("17.1", "17.2", "* Geen aanpassingen."),
                            messages[3]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("17.2", "17.3", "Gevolgen van de migratie van versie 17.2 naar versie 17.3:"),
                            messages[4]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("17.2", "17.3", "* Geen aanpassingen."),
                            messages[5]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("17.3", "18.1", "Gevolgen van de migratie van versie 17.3 naar versie 18.1:"),
                            messages[6]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("17.3", "18.1", "* Geen aanpassingen."),
                            messages[7]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("18.1", "19.1", "Gevolgen van de migratie van versie 18.1 naar versie 19.1:"),
                            messages[8]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("18.1", "19.1", "* Geen aanpassingen."),
                            messages[9]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("19.1", "21.1", "Gevolgen van de migratie van versie 19.1 naar versie 21.1:"),
                            messages[10]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("19.1", "21.1", "* Geen aanpassingen."),
                            messages[11]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("21.1", "22.1", "Gevolgen van de migratie van versie 21.1 naar versie 22.1:"),
                            messages[12]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("21.1", "22.1", "* De oorspronkelijke faalmechanismen zijn omgezet naar het nieuwe formaat.\r\n* Alle toetsoordelen zijn verwijderd."),
                            messages[13]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("22.1", $"{latestVersion}", $"Gevolgen van de migratie van versie 22.1 naar versie {latestVersion}:"),
                            messages[14]);
                        MigrationLogTestHelper.AssertMigrationLogMessageEqual(
                            new MigrationLogMessage("22.1", $"{latestVersion}", "* Geen aanpassingen."),
                            messages[15]);
                    }
                }
        }