Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs
===================================================================
diff -u -r11ee95784513ed761bee00e2422b061aa3060525 -r66ed29215a235e09673176f6efd2da2a6997c141
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 11ee95784513ed761bee00e2422b061aa3060525)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 66ed29215a235e09673176f6efd2da2a6997c141)
@@ -94,7 +94,7 @@
ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase = readHydraulicLocationConfigurationDatabaseResult.Items.Single();
if (!IsValidReadHydraulicLocationConfigurationDatabase(readHydraulicLocationConfigurationDatabase))
{
- Log.Error(BuildErrorMessage(GetHlcdFilePath(), "placeHolder."));
+ Log.Error(BuildErrorMessage(GetHlcdFilePath(), Resources.HydraulicBoundaryDatabaseImporter_HLCD_Invalid_number_of_ScenarioInformation_entries));
return false;
}
Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Properties/Resources.Designer.cs
===================================================================
diff -u -rad280ce365e40d1a0d110ba5ff3463a146cef26e -r66ed29215a235e09673176f6efd2da2a6997c141
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ad280ce365e40d1a0d110ba5ff3463a146cef26e)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 66ed29215a235e09673176f6efd2da2a6997c141)
@@ -132,6 +132,16 @@
}
///
+ /// Looks up a localized string similar to de tabel 'ScenarioInformation' in de HLCD moet exact 1 rij bevatten..
+ ///
+ internal static string HydraulicBoundaryDatabaseImporter_HLCD_Invalid_number_of_ScenarioInformation_entries {
+ get {
+ return ResourceManager.GetString("HydraulicBoundaryDatabaseImporter_HLCD_Invalid_number_of_ScenarioInformation_entr" +
+ "ies", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Het bijbehorende HLCD bestand is niet gevonden in dezelfde map als het HRD bestand..
///
internal static string HydraulicBoundaryDatabaseImporter_HLCD_sqlite_Not_Found {
Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Properties/Resources.resx
===================================================================
diff -u -rad280ce365e40d1a0d110ba5ff3463a146cef26e -r66ed29215a235e09673176f6efd2da2a6997c141
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Properties/Resources.resx (.../Resources.resx) (revision ad280ce365e40d1a0d110ba5ff3463a146cef26e)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Properties/Resources.resx (.../Resources.resx) (revision 66ed29215a235e09673176f6efd2da2a6997c141)
@@ -175,4 +175,7 @@
Kon het rekeninstellingen bestand niet openen. {0}
+
+ de tabel 'ScenarioInformation' in de HLCD moet exact 1 rij bevatten.
+
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Importers/HydraulicBoundaryDatabaseImporterTest.cs
===================================================================
diff -u -r11ee95784513ed761bee00e2422b061aa3060525 -r66ed29215a235e09673176f6efd2da2a6997c141
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Importers/HydraulicBoundaryDatabaseImporterTest.cs (.../HydraulicBoundaryDatabaseImporterTest.cs) (revision 11ee95784513ed761bee00e2422b061aa3060525)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Importers/HydraulicBoundaryDatabaseImporterTest.cs (.../HydraulicBoundaryDatabaseImporterTest.cs) (revision 66ed29215a235e09673176f6efd2da2a6997c141)
@@ -252,7 +252,7 @@
Action call = () => importSuccessful = importer.Import();
// Assert
- string expectedMessage = $"Fout bij het lezen van bestand '{hlcdFilePath}': placeHolder."
+ string expectedMessage = $"Fout bij het lezen van bestand '{hlcdFilePath}': de tabel 'ScenarioInformation' in de HLCD moet exact 1 rij bevatten."
+ $"{Environment.NewLine}Er is geen hydraulische belastingen database gekoppeld.";
TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1);
Assert.IsFalse(importSuccessful);
@@ -317,7 +317,7 @@
var mocks = new MockRepository();
var handler = mocks.StrictMock();
handler.Expect(h => h.IsConfirmationRequired(Arg.Is.Same(hydraulicBoundaryDatabase),
- Arg.Is.NotNull))
+ Arg.Is.NotNull))
.WhenCalled(invocation =>
{
AssertReadHydraulicBoundaryDatabase((ReadHydraulicBoundaryDatabase) invocation.Arguments[1]);
@@ -360,36 +360,44 @@
}
[Test]
- public void Import_WithValidFileAndHlcdWithValidScenarioInformation_UpdatesHydraulicBoundaryDatabaseWithImportedData()
+ [TestCase(true)]
+ [TestCase(false)]
+ public void Import_WithValidFileAndHlcdWithValidScenarioInformation_UpdatesHydraulicBoundaryDatabaseWithImportedData(bool confirmationRequired)
{
// Setup
string filePath = Path.Combine(testDataPath, "hlcdWithValidScenarioInformation", "complete.sqlite");
var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase();
var mocks = new MockRepository();
var handler = mocks.StrictMock();
- handler.Stub(h => h.IsConfirmationRequired(Arg.Is.Same(hydraulicBoundaryDatabase),
- Arg.Is.NotNull))
+ handler.Expect(h => h.IsConfirmationRequired(Arg.Is.Same(hydraulicBoundaryDatabase),
+ Arg.Is.NotNull))
.WhenCalled(invocation =>
{
- AssertReadHydraulicBoundaryDatabase((ReadHydraulicBoundaryDatabase)invocation.Arguments[1]);
+ AssertReadHydraulicBoundaryDatabase((ReadHydraulicBoundaryDatabase) invocation.Arguments[1]);
})
- .Return(false);
+ .Return(confirmationRequired);
+
+ if (confirmationRequired)
+ {
+ handler.Expect(h => h.InquireConfirmation()).Return(true);
+ }
+
handler.Expect(h => h.Update(Arg.Is.Same(hydraulicBoundaryDatabase),
Arg.Is.NotNull,
Arg.Is.NotNull,
Arg>.Is.NotNull,
Arg.Is.Same(filePath)))
.WhenCalled(invocation =>
{
- AssertReadHydraulicBoundaryDatabase((ReadHydraulicBoundaryDatabase)invocation.Arguments[1]);
+ AssertReadHydraulicBoundaryDatabase((ReadHydraulicBoundaryDatabase) invocation.Arguments[1]);
- var readHydraulicLocationConfigurationDatabase = (ReadHydraulicLocationConfigurationDatabase)invocation.Arguments[2];
+ var readHydraulicLocationConfigurationDatabase = (ReadHydraulicLocationConfigurationDatabase) invocation.Arguments[2];
Assert.AreEqual(18, readHydraulicLocationConfigurationDatabase.LocationIdMappings.Count());
Assert.AreEqual(1, readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings.Count());
Assert.IsTrue(readHydraulicLocationConfigurationDatabase.IsScenarioInformationPresent);
- var excludedLocationIds = (IEnumerable)invocation.Arguments[3];
+ var excludedLocationIds = (IEnumerable) invocation.Arguments[3];
Assert.AreEqual(0, excludedLocationIds.Count());
})
.Return(Enumerable.Empty());