diff --git a/Directory.Build.props b/Directory.Build.props
index 6a3dcd7a..1ee7e9c6 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -4,7 +4,7 @@
- 1.0.4.18
+ 1.0.4.19
diff --git a/GitHubReleaseNotes.txt b/GitHubReleaseNotes.txt
index 1c882871..3a0dc0aa 100644
--- a/GitHubReleaseNotes.txt
+++ b/GitHubReleaseNotes.txt
@@ -1,3 +1,3 @@
https://github.com/StefH/GitHubReleaseNotes
-GitHubReleaseNotes.exe . --output CHANGELOG.md --skip-empty-releases
\ No newline at end of file
+GitHubReleaseNotes.exe . --output CHANGELOG.md --skip-empty-releases --version 1.0.4.19
\ No newline at end of file
diff --git a/README.md b/README.md
index 617a6e62..80748659 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@ A C# .NET version based on [mock4net](https://github.com/alexvictoor/mock4net) w
| **Sonar Bugs** | [](https://sonarcloud.io/project/issues?id=wiremock&resolved=false&types=BUG) |
| **Sonar Code Smells** | [](https://sonarcloud.io/project/issues?id=wiremock&resolved=false&types=CODE_SMELL) |
| **Sonar Coverage** | [](https://sonarcloud.io/component_measures?id=wiremock&metric=coverage) |
+| **Codecov** | [](https://codecov.io/gh/WireMock-Net/WireMock.Net) |
| **Coveralls** | [](https://coveralls.io/github/WireMock-Net/WireMock.Net?branch=master) |
| |
| ***NuGet*** | |
diff --git a/src/WireMock.Net.StandAlone/SimpleCommandLineParser.cs b/src/WireMock.Net.StandAlone/SimpleCommandLineParser.cs
index 760d9e80..44ddf2d8 100644
--- a/src/WireMock.Net.StandAlone/SimpleCommandLineParser.cs
+++ b/src/WireMock.Net.StandAlone/SimpleCommandLineParser.cs
@@ -8,28 +8,20 @@ namespace WireMock.Net.StandAlone
internal class SimpleCommandLineParser
{
private const string Sigil = "--";
- private const string SigilAzureServiceFabric = "'--";
-
- private enum SigilType
- {
- Normal,
- AzureServiceFabric
- }
private IDictionary Arguments { get; } = new Dictionary();
- public void Parse(string[] args)
+ public void Parse(string[] arguments)
{
- SigilType sigil = SigilType.Normal;
string currentName = null;
var values = new List();
- foreach (string arg in args)
+
+ // Split a single argument on a space character to fix issue (e.g. Azure Service Fabric) when an argument is supplied like "--x abc" or '--x abc'
+ foreach (string arg in arguments.SelectMany(arg => arg.Split(' ')))
{
if (arg.StartsWith(Sigil))
{
- sigil = SigilType.Normal;
-
if (!string.IsNullOrEmpty(currentName))
{
Arguments[currentName] = values.ToArray();
@@ -38,33 +30,13 @@ namespace WireMock.Net.StandAlone
values.Clear();
currentName = arg.Substring(Sigil.Length);
}
- // Azure Service Fabric passes the command line parameter surrounded with single quotes. (https://github.com/Microsoft/service-fabric/issues/234)
- else if (arg.StartsWith(SigilAzureServiceFabric))
- {
- sigil = SigilType.AzureServiceFabric;
-
- if (!string.IsNullOrEmpty(currentName))
- {
- Arguments[currentName] = values.ToArray();
- }
-
- values.Clear();
- currentName = arg.Substring(SigilAzureServiceFabric.Length);
- }
else if (string.IsNullOrEmpty(currentName))
{
Arguments[arg] = new string[0];
}
else
{
- if (sigil == SigilType.Normal)
- {
- values.Add(arg);
- }
- else
- {
- values.Add(arg.Substring(0, arg.Length - 1));
- }
+ values.Add(arg);
}
}
diff --git a/test/WireMock.Net.Tests/StandAlone/SimpleCommandLineParserTests.cs b/test/WireMock.Net.Tests/StandAlone/SimpleCommandLineParserTests.cs
index f1a0d688..0fbd4874 100644
--- a/test/WireMock.Net.Tests/StandAlone/SimpleCommandLineParserTests.cs
+++ b/test/WireMock.Net.Tests/StandAlone/SimpleCommandLineParserTests.cs
@@ -31,10 +31,10 @@ namespace WireMock.Net.Tests.StandAlone
}
[Fact]
- public void SimpleCommandLineParser_Parse_ArgumentsWithSingleQuotes()
+ public void SimpleCommandLineParser_Parse_ArgumentsAsCombinedKeyAndValue()
{
// Assign
- _parser.Parse(new[] { "'--test1", "one'", "'--test2", "two'", "'--test3", "three'" });
+ _parser.Parse(new[] { "--test1 one", "--test2 two", "--test3 three" });
// Act
string value1 = _parser.GetStringValue("test1");
@@ -51,7 +51,7 @@ namespace WireMock.Net.Tests.StandAlone
public void SimpleCommandLineParser_Parse_ArgumentsMixed()
{
// Assign
- _parser.Parse(new[] { "'--test1", "one'", "--test2", "two", "--test3", "three" });
+ _parser.Parse(new[] { "--test1 one", "--test2", "two", "--test3 three" });
// Act
string value1 = _parser.GetStringValue("test1");
@@ -68,7 +68,7 @@ namespace WireMock.Net.Tests.StandAlone
public void SimpleCommandLineParser_Parse_GetBoolValue()
{
// Assign
- _parser.Parse(new[] { "'--test1", "false'", "--test2", "true" });
+ _parser.Parse(new[] { "'--test1", "false'", "--test2 true" });
// Act
bool value1 = _parser.GetBoolValue("test1");
@@ -85,7 +85,7 @@ namespace WireMock.Net.Tests.StandAlone
public void SimpleCommandLineParser_Parse_GetIntValue()
{
// Assign
- _parser.Parse(new[] { "'--test1", "42'", "--test2", "55" });
+ _parser.Parse(new[] { "--test1", "42", "--test2 55" });
// Act
int? value1 = _parser.GetIntValue("test1");