Index: Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/Migration_5_17.1.sql =================================================================== diff -u -r1c60547d2fedbc14afb97de7874a0b3220cc5a05 -r92c99376daee71036fa992b005fe0732e037ed82 --- Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/Migration_5_17.1.sql (.../Migration_5_17.1.sql) (revision 1c60547d2fedbc14afb97de7874a0b3220cc5a05) +++ Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/Migration_5_17.1.sql (.../Migration_5_17.1.sql) (revision 92c99376daee71036fa992b005fe0732e037ed82) @@ -32,8 +32,8 @@ SELECT [DikeProfileEntityId], [FailureMechanismEntityId], + CASE WHEN Suffix THEN [Name] || '(' || Suffix || ')' ELSE [Name] END as [Id], CASE WHEN Suffix THEN [Name] || '(' || Suffix || ')' ELSE [Name] END as [Name], - CASE WHEN Suffix THEN [Name] || '(' || Suffix || ')' ELSE [Name] END as [Name], [Orientation], [BreakWaterType], [BreakWaterHeight], Index: Application/Ringtoets/test/Application.Ringtoets.Migration.Core.Test/test-data/FullTestProject164.rtd =================================================================== diff -u -r42dcffee31844c72228f950cc35286c929014f5a -r92c99376daee71036fa992b005fe0732e037ed82 Binary files differ Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/MigrationTo171IntegrationTest.cs =================================================================== diff -u -r5fa8aef400798363971b419cd20171a7bf6076e1 -r92c99376daee71036fa992b005fe0732e037ed82 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/MigrationTo171IntegrationTest.cs (.../MigrationTo171IntegrationTest.cs) (revision 5fa8aef400798363971b419cd20171a7bf6076e1) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/MigrationTo171IntegrationTest.cs (.../MigrationTo171IntegrationTest.cs) (revision 92c99376daee71036fa992b005fe0732e037ed82) @@ -69,12 +69,29 @@ AssertWaveImpactAsphaltCoverFailureMechanism(reader); AssertHydraulicBoundaryLocations(reader); + AssertDikeProfiles(reader); + AssertForeshoreProfiles(reader); } AssertLogDatabase(logFilePath); } } + private static void AssertDikeProfiles(MigratedDatabaseReader reader) + { + const string validateDikeProfiles = "SELECT " + + "(SELECT COUNT(DISTINCT(Name)) = COUNT() FROM DikeProfileEntity) " + + "AND (SELECT COUNT() = 0 FROM DikeProfileEntity WHERE Id != Name);"; + reader.AssertReturnedDataIsValid(validateDikeProfiles); + } + + private static void AssertForeshoreProfiles(MigratedDatabaseReader reader) + { + const string validateDikeProfiles = "SELECT COUNT() = 0 " + + "FROM ForeshoreProfileEntity WHERE Id != Name;"; + reader.AssertReturnedDataIsValid(validateDikeProfiles); + } + private static void AssertLogDatabase(string logFilePath) { using (var reader = new MigrationLogDatabaseReader(logFilePath)) @@ -96,67 +113,95 @@ private static void AssertClosingStructuresFailureMechanism(MigratedDatabaseReader reader) { - const string getClosingStructuresCalculationOutput = "SELECT 'x' " + - "FROM ClosingStructuresOutputEntity"; + const string getClosingStructuresCalculationOutput = + "SELECT 'x' " + + "FROM ClosingStructuresOutputEntity"; reader.AssertNoDataToBeRead(getClosingStructuresCalculationOutput); } private static void AssertGrassCoverErosionInwardsFailureMechanism(MigratedDatabaseReader reader) { - const string getGrassCoverErosionInwardsCalculationOutput = "SELECT 'x' " + - "FROM GrassCoverErosionInwardsDikeHeightOutputEntity " + - "JOIN GrassCoverErosionInwardsOutputEntity"; + const string validateFailureMechanisms = + "SELECT COUNT() = 0 " + + "FROM [GrassCoverErosionInwardsFailureMechanismMetaEntity] " + + "WHERE [DikeProfileCollectionSourcePath] != \"Onbekend\";"; + reader.AssertReturnedDataIsValid(validateFailureMechanisms); + + const string validateCalculations = + "SELECT COUNT() = 0 " + + "FROM [GrassCoverErosionInwardsCalculationEntity] " + + "WHERE [OvertoppingRateCalculationType] != 1;"; + reader.AssertReturnedDataIsValid(validateCalculations); + + const string getGrassCoverErosionInwardsCalculationOutput = + "SELECT 'x' " + + "FROM [GrassCoverErosionInwardsDikeHeightOutputEntity] " + + "JOIN [GrassCoverErosionInwardsOutputEntity];"; reader.AssertNoDataToBeRead(getGrassCoverErosionInwardsCalculationOutput); } private static void AssertGrassCoverErosionOutwardsFailureMechanism(MigratedDatabaseReader reader) { - const string getGrassCoverErosionOutwardsCalculationOutput = "SELECT 'x' " + - "FROM GrassCoverErosionOutwardsHydraulicLocationOutputEntity " + - "JOIN GrassCoverErosionOutwardsWaveConditionsOutputEntity"; + const string getGrassCoverErosionOutwardsCalculationOutput = + "SELECT 'x' " + + "FROM GrassCoverErosionOutwardsHydraulicLocationOutputEntity " + + "JOIN GrassCoverErosionOutwardsWaveConditionsOutputEntity"; reader.AssertNoDataToBeRead(getGrassCoverErosionOutwardsCalculationOutput); } private static void AssertHeightStructuresFailureMechanism(MigratedDatabaseReader reader) { - const string getHeightStructuresCalculationOutput = "SELECT 'x' " + - "FROM HeightStructuresOutputEntity"; + const string getHeightStructuresCalculationOutput = + "SELECT 'x' " + + "FROM HeightStructuresOutputEntity"; reader.AssertNoDataToBeRead(getHeightStructuresCalculationOutput); } private static void AssertHydraulicBoundaryLocations(MigratedDatabaseReader reader) { - const string getHydraulicBoundaryLocationsOutput = "SELECT 'x' " + - "FROM HydraulicLocationOutputEntity"; + const string getHydraulicBoundaryLocationsOutput = + "SELECT 'x' " + + "FROM HydraulicLocationOutputEntity"; reader.AssertNoDataToBeRead(getHydraulicBoundaryLocationsOutput); } private static void AssertPipingFailureMechanism(MigratedDatabaseReader reader) { - const string getPipingCalculationOutput = "SELECT 'x' " + - "FROM PipingCalculationOutputEntity " + - "JOIN PipingSemiProbabilisticOutputEntity"; + const string validateFailureMechanisms = + "SELECT COUNT() = 0 " + + "FROM [PipingFailureMechanismMetaEntity] " + + "WHERE [StochasticSoilModelSourcePath] != \"Onbekend\"" + + "OR [SurfacelineSourcePath] != \"Onbekend\";"; + reader.AssertReturnedDataIsValid(validateFailureMechanisms); + + const string getPipingCalculationOutput = + "SELECT 'x' " + + "FROM PipingCalculationOutputEntity " + + "JOIN PipingSemiProbabilisticOutputEntity"; reader.AssertNoDataToBeRead(getPipingCalculationOutput); } private static void AssertStabilityPointStructuresFailureMechanism(MigratedDatabaseReader reader) { - const string getStabilityPointStructuresCalculationOutput = "SELECT 'x' " + - "FROM StabilityPointStructuresOutputEntity"; + const string getStabilityPointStructuresCalculationOutput = + "SELECT 'x' " + + "FROM StabilityPointStructuresOutputEntity"; reader.AssertNoDataToBeRead(getStabilityPointStructuresCalculationOutput); } private static void AssertStabilityStoneCoverFailureMechanism(MigratedDatabaseReader reader) { - const string getStabilityStoneCoverWaveConditionsCalculationOutput = "SELECT 'x' " + - "FROM StabilityStoneCoverWaveConditionsOutputEntity"; + const string getStabilityStoneCoverWaveConditionsCalculationOutput = + "SELECT 'x' " + + "FROM StabilityStoneCoverWaveConditionsOutputEntity"; reader.AssertNoDataToBeRead(getStabilityStoneCoverWaveConditionsCalculationOutput); } private static void AssertWaveImpactAsphaltCoverFailureMechanism(MigratedDatabaseReader reader) { - const string getWaveImpactAsphaltCoverCalculationOutput = "SELECT 'x' " + - "FROM WaveImpactAsphaltCoverWaveConditionsOutputEntity"; + const string getWaveImpactAsphaltCoverCalculationOutput = + "SELECT 'x' " + + "FROM WaveImpactAsphaltCoverWaveConditionsOutputEntity"; reader.AssertNoDataToBeRead(getWaveImpactAsphaltCoverCalculationOutput); } @@ -192,6 +237,16 @@ Assert.IsFalse(dataReader.Read()); } } + + public void AssertReturnedDataIsValid(string queryString) + { + using (IDataReader dataReader = CreateDataReader(queryString)) + { + Assert.IsTrue(dataReader.Read()); + Assert.AreEqual(1, dataReader.FieldCount); + Assert.AreEqual(1, dataReader[0]); + } + } } } } \ No newline at end of file