Index: Migration/Console/src/Migration.Console/ErrorCode.cs
===================================================================
diff -u -r111d72b3e14a3dddfaacddbae3f06ae214049f91 -rdb555a35f4ca5c9bb274d0842d1cce5dab6c34ee
--- Migration/Console/src/Migration.Console/ErrorCode.cs (.../ErrorCode.cs) (revision 111d72b3e14a3dddfaacddbae3f06ae214049f91)
+++ Migration/Console/src/Migration.Console/ErrorCode.cs (.../ErrorCode.cs) (revision db555a35f4ca5c9bb274d0842d1cce5dab6c34ee)
@@ -27,13 +27,18 @@
public enum ErrorCode
{
///
+ /// Exit successfully.
+ ///
+ ErrorSuccess = 0,
+
+ ///
/// Exit because the command provide failed.
///
ErrorBadCommand = 22,
///
- /// Exit because bad arguments were provided.
+ /// Exit because invalid command line arguments were provided.
///
- ErrorBadArguments = 160
+ ErrorInvalidCommandLine = 160
}
}
\ No newline at end of file
Index: Migration/Console/src/Migration.Console/RingtoetsMigrationTool.cs
===================================================================
diff -u -r111d72b3e14a3dddfaacddbae3f06ae214049f91 -rdb555a35f4ca5c9bb274d0842d1cce5dab6c34ee
--- Migration/Console/src/Migration.Console/RingtoetsMigrationTool.cs (.../RingtoetsMigrationTool.cs) (revision 111d72b3e14a3dddfaacddbae3f06ae214049f91)
+++ Migration/Console/src/Migration.Console/RingtoetsMigrationTool.cs (.../RingtoetsMigrationTool.cs) (revision db555a35f4ca5c9bb274d0842d1cce5dab6c34ee)
@@ -24,6 +24,7 @@
using Migration.Console.Properties;
using Migration.Core.Storage;
using Migration.Scripts.Data;
+using Migration.Scripts.Data.Exceptions;
using SystemConsole = System.Console;
namespace Migration.Console
@@ -52,11 +53,22 @@
{
ExecuteCommand(args);
}
- catch (ArgumentException exception)
+ catch (Exception exception)
{
ConsoleHelper.WriteErrorLine(exception.Message);
- Exit(ErrorCode.ErrorBadArguments);
+ ConsoleHelper.WriteErrorLine("");
+ DisplayAllCommands();
+
+ if (exception is CriticalDatabaseMigrationException || exception is NotSupportedException)
+ {
+ Exit(ErrorCode.ErrorBadCommand);
+ return;
+ }
+ Exit(ErrorCode.ErrorInvalidCommandLine);
+ return;
}
+
+ Exit(ErrorCode.ErrorSuccess);
}
private static void ExecuteCommand(string[] args)
@@ -75,8 +87,6 @@
break;
default:
InvalidCommand(command);
- DisplayAllCommands();
- Exit(ErrorCode.ErrorBadCommand);
break;
}
}
@@ -99,8 +109,7 @@
private static void InvalidCommand(string command)
{
- ConsoleHelper.WriteErrorLine(Resources.CommandInvalid_Command_0_Is_not_valid, command);
- SystemConsole.WriteLine("");
+ throw new NotSupportedException(string.Format(Resources.CommandInvalid_Command_0_Is_not_valid, command));
}
#endregion
@@ -111,11 +120,8 @@
{
if (args.Length != 2)
{
- ConsoleHelper.WriteErrorLine(Resources.Command_0_Incorrect_number_of_parameters, commandVersionSupported);
- SystemConsole.WriteLine("");
- ShowSupportedCommand();
- Exit(ErrorCode.ErrorBadArguments);
- return;
+ throw new InvalidOperationException(string.Format(Resources.Command_0_Incorrect_number_of_parameters,
+ commandVersionSupported));
}
string version = args[1];
@@ -142,13 +148,9 @@
{
if (args.Length != 4)
{
- ConsoleHelper.WriteErrorLine(Resources.Command_0_Incorrect_number_of_parameters, commandMigrate);
- SystemConsole.WriteLine("");
- ShowMigrateCommand();
- Exit(ErrorCode.ErrorBadArguments);
- return;
+ throw new InvalidOperationException(string.Format(Resources.Command_0_Incorrect_number_of_parameters,
+ commandMigrate));
}
-
var migrator = new VersionedFileMigrator();
string filepath = args[1];
@@ -157,20 +159,7 @@
var sourceFile = new VersionedFile(filepath);
- try
- {
- migrator.Migrate(sourceFile, toVersion, toFilepath);
- }
- catch (Exception exception)
- {
- ConsoleHelper.WriteErrorLine(exception.Message);
- if (exception is ArgumentException)
- {
- Exit(ErrorCode.ErrorBadArguments);
- return;
- }
- Exit(ErrorCode.ErrorBadCommand);
- }
+ migrator.Migrate(sourceFile, toVersion, toFilepath);
}
private static void ShowMigrateCommand()
Index: Migration/Console/test/Migration.Console.Test/RingtoetsMigrationToolTest.cs
===================================================================
diff -u -rb5aa83e7766c6fccd8ad0bc55eca6548c3da43de -rdb555a35f4ca5c9bb274d0842d1cce5dab6c34ee
--- Migration/Console/test/Migration.Console.Test/RingtoetsMigrationToolTest.cs (.../RingtoetsMigrationToolTest.cs) (revision b5aa83e7766c6fccd8ad0bc55eca6548c3da43de)
+++ Migration/Console/test/Migration.Console.Test/RingtoetsMigrationToolTest.cs (.../RingtoetsMigrationToolTest.cs) (revision db555a35f4ca5c9bb274d0842d1cce5dab6c34ee)
@@ -137,7 +137,15 @@
// Result
Assert.AreEqual($"Er is een verkeerd aantal parameters opgegeven voor de opdracht '{supportedCommand}'"
+ Environment.NewLine + Environment.NewLine
- + $"{supportedCommand} RINGTOETSBESTANDSPAD\t"
+ + "--help\tGeef het hulp menu weer."
+ + Environment.NewLine
+ + "--migrate RINGTOETSBESTANDSPAD NIEUWEVERSIE UITVOERPAD"
+ + "\t"
+ + "RINGTOETSBESTANDSPAD is het bestandspad naar het Ringtoetsdatabase bestand dat gemigreerd moet worden. "
+ + "NIEUWEVERSIE is de versie naar waar gemigreerd moet worden. "
+ + "UITVOERPAD is het pad waar de het gemigreerde Ringtoetsbestand opgeslagen zal worden."
+ + Environment.NewLine
+ + "--supported RINGTOETSBESTANDSPAD\t"
+ "RINGTOETSBESTANDSPAD is het bestandspad naar het Ringtoetsdatabase bestand waarvan de versie gevalideerd moet worden."
+ Environment.NewLine
, consoleText);
@@ -195,12 +203,17 @@
// Result
Assert.AreEqual($"Er is een verkeerd aantal parameters opgegeven voor de opdracht '{migrateCommand}'"
+ Environment.NewLine + Environment.NewLine
- + $"{migrateCommand} RINGTOETSBESTANDSPAD NIEUWEVERSIE UITVOERPAD\t"
+ + "--help\tGeef het hulp menu weer."
+ + Environment.NewLine
+ + "--migrate RINGTOETSBESTANDSPAD NIEUWEVERSIE UITVOERPAD"
+ + "\t"
+ "RINGTOETSBESTANDSPAD is het bestandspad naar het Ringtoetsdatabase bestand dat gemigreerd moet worden. "
+ "NIEUWEVERSIE is de versie naar waar gemigreerd moet worden. "
+ "UITVOERPAD is het pad waar de het gemigreerde Ringtoetsbestand opgeslagen zal worden."
+ Environment.NewLine
- , consoleText);
+ + "--supported RINGTOETSBESTANDSPAD\t"
+ + "RINGTOETSBESTANDSPAD is het bestandspad naar het Ringtoetsdatabase bestand waarvan de versie gevalideerd moet worden."
+ + Environment.NewLine, consoleText);
Assert.AreEqual(160, environmentControl.ErrorCodeCalled);
}
@@ -266,7 +279,18 @@
// Result
Assert.That(consoleText.StartsWith("Er is een onverwachte fout opgetreden tijdens het verplaatsen van het gemigreerde bestand "));
- Assert.That(consoleText.EndsWith($" naar '{targetFilePath}'." + Environment.NewLine));
+ Assert.That(consoleText.EndsWith($" naar '{targetFilePath}'." + Environment.NewLine + Environment.NewLine
+ + "--help\tGeef het hulp menu weer."
+ + Environment.NewLine
+ + "--migrate RINGTOETSBESTANDSPAD NIEUWEVERSIE UITVOERPAD"
+ + "\t"
+ + "RINGTOETSBESTANDSPAD is het bestandspad naar het Ringtoetsdatabase bestand dat gemigreerd moet worden. "
+ + "NIEUWEVERSIE is de versie naar waar gemigreerd moet worden. "
+ + "UITVOERPAD is het pad waar de het gemigreerde Ringtoetsbestand opgeslagen zal worden."
+ + Environment.NewLine
+ + "--supported RINGTOETSBESTANDSPAD\t"
+ + "RINGTOETSBESTANDSPAD is het bestandspad naar het Ringtoetsdatabase bestand waarvan de versie gevalideerd moet worden."
+ + Environment.NewLine));
Assert.AreEqual(22, environmentControl.ErrorCodeCalled);
}
}
Index: Migration/Core/test/Migration.Core.Storage.Test/Migration.Core.Storage.Test.csproj
===================================================================
diff -u -rf312ebb819e2bae83d5e3b55aa92773b79712bfa -rdb555a35f4ca5c9bb274d0842d1cce5dab6c34ee
--- Migration/Core/test/Migration.Core.Storage.Test/Migration.Core.Storage.Test.csproj (.../Migration.Core.Storage.Test.csproj) (revision f312ebb819e2bae83d5e3b55aa92773b79712bfa)
+++ Migration/Core/test/Migration.Core.Storage.Test/Migration.Core.Storage.Test.csproj (.../Migration.Core.Storage.Test.csproj) (revision db555a35f4ca5c9bb274d0842d1cce5dab6c34ee)
@@ -83,6 +83,10 @@
{D749EE4C-CE50-4C17-BF01-9A953028C126}
Core.Common.TestUtil
+
+ {6a074d65-a81c-4c1c-8e24-f36c916e4ed7}
+ Ringtoets.Common.Utils
+
{EED7826A-5397-4EEB-A1F8-A7550078459E}
Migration.Ringtoets.Data