Skip to content

Commit 5daed62

Browse files
committed
Add unit test
1 parent 5e07a97 commit 5daed62

File tree

4 files changed

+32
-3
lines changed

4 files changed

+32
-3
lines changed

src/KubernetesClient/AssemblyInfo.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
using System.Runtime.CompilerServices;
2+
3+
[assembly: InternalsVisibleTo("KubernetesClient.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004917ad4e106c573cc5dbb3b7456de8b6c07128ae43de292752b339eb423de60f0db6a6c0cb21e6640fc672cc84df4a772db85df1505e5dd08c98d5d115eed7a7b59c67fe1f4b32fa716b7177743a417b3fcf88606861650a81f565ac6614abbf8b6b7710436edb497a83974165f9fe6995b70af13047a110bf63cdbfa45f89ac")]

src/KubernetesClient/Utilities.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ internal static class Utilities
88
/// <summary>Given a <see cref="StringBuilder"/> that is building a query string, adds a parameter to it.</summary>
99
public static void AddQueryParameter(StringBuilder sb, string key, string value)
1010
{
11-
if(sb == null) throw new ArgumentNullException(nameof(sb));
12-
if(string.IsNullOrEmpty(key)) throw new ArgumentNullException(nameof(key));
11+
if (sb == null) throw new ArgumentNullException(nameof(sb));
12+
if (string.IsNullOrEmpty(key)) throw new ArgumentNullException(nameof(key));
1313
sb.Append(sb.Length != 0 ? '&' : '?').Append(Uri.EscapeDataString(key)).Append('=');
14-
if(!string.IsNullOrEmpty(value)) sb.Append(Uri.EscapeDataString(value));
14+
if (!string.IsNullOrEmpty(value)) sb.Append(Uri.EscapeDataString(value));
1515
}
1616
}
1717
}

tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<PropertyGroup>
33
<IsPackable>false</IsPackable>
44
<RootNamespace>k8s.Tests</RootNamespace>
5+
<SignAssembly>true</SignAssembly>
6+
<AssemblyOriginatorKeyFile>../../src/KubernetesClient/kubernetes-client.snk</AssemblyOriginatorKeyFile>
57
<TargetFrameworks>netcoreapp2.1;netcoreapp2.0</TargetFrameworks>
68
</PropertyGroup>
79

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using System;
2+
using System.Text;
3+
using Xunit;
4+
5+
namespace k8s.Tests
6+
{
7+
public class UtilityTests
8+
{
9+
[Fact]
10+
public void TestQueryStringUtilities()
11+
{
12+
var sb = new StringBuilder();
13+
Assert.Throws<ArgumentNullException>(() => Utilities.AddQueryParameter(null, "key", "value"));
14+
Assert.Throws<ArgumentNullException>(() => Utilities.AddQueryParameter(sb, null, "value"));
15+
Assert.Throws<ArgumentNullException>(() => Utilities.AddQueryParameter(sb, "", "value"));
16+
17+
Utilities.AddQueryParameter(sb, "key", "value");
18+
Utilities.AddQueryParameter(sb, "key", "a=b");
19+
Utilities.AddQueryParameter(sb, "+key", null);
20+
Utilities.AddQueryParameter(sb, "ekey", "");
21+
Assert.Equal("?key=value&key=a%3Db&%2Bkey=&ekey=", sb.ToString());
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)