Enable and fix AuthTests.ExternalToken (#484)

* Enable and fix AuthTests.ExternalToken

* Try to fix osx
This commit is contained in:
Fraser Waters
2020-09-25 17:07:12 +01:00
committed by GitHub
parent c47babf203
commit 34eb9d053f

View File

@@ -270,60 +270,44 @@ namespace k8s.Tests
#endif // NETCOREAPP2_1 #endif // NETCOREAPP2_1
#if NETSTANDARD2_0
[Fact] [Fact]
public void ExternalToken() public void ExternalToken()
{ {
const string token const string token = "testingtoken";
= "testingtoken"; const string name = "testing_irrelevant";
const string name
= "testing_irrelevant";
using (var server using (var server = new MockKubeApiServer(testOutput, cxt =>
= new MockKubeApiServer(testOutput, cxt => {
{ var header = cxt.Request.Headers["Authorization"].FirstOrDefault();
var header
= cxt.Request.Headers["Authorization"].FirstOrDefault();
var expect var expect = new AuthenticationHeaderValue("Bearer", token).ToString();
= new AuthenticationHeaderValue("Bearer", token).ToString();
if (header != expect) if (header != expect)
{ {
cxt.Response.StatusCode cxt.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
= (int) HttpStatusCode.Unauthorized; return Task.FromResult(false);
return Task.FromResult(false); }
}
return Task.FromResult(true); return Task.FromResult(true);
})) }))
{ {
{ {
var kubernetesConfig var kubernetesConfig = GetK8SConfiguration(server.Uri.ToString(), token, name);
= GetK8SConfiguration(server.Uri.ToString(), token, name); var clientConfig = KubernetesClientConfiguration.BuildConfigFromConfigObject(kubernetesConfig, name);
var clientConfig var client = new Kubernetes(clientConfig);
= KubernetesClientConfiguration.BuildConfigFromConfigObject(kubernetesConfig, name); var listTask = ExecuteListPods(client);
var client
= new Kubernetes(clientConfig);
var listTask
= ExecuteListPods(client);
Assert.True(listTask.Response.IsSuccessStatusCode); Assert.True(listTask.Response.IsSuccessStatusCode);
Assert.Equal(1, listTask.Body.Items.Count); Assert.Equal(1, listTask.Body.Items.Count);
} }
{ {
var kubernetesConfig var kubernetesConfig = GetK8SConfiguration(server.Uri.ToString(), "wrong token", name);
= GetK8SConfiguration(server.Uri.ToString(), "wrong token", name); var clientConfig = KubernetesClientConfiguration.BuildConfigFromConfigObject(kubernetesConfig, name);
var clientConfig var client = new Kubernetes(clientConfig);
= KubernetesClientConfiguration.BuildConfigFromConfigObject(kubernetesConfig, name); var listTask = ExecuteListPods(client);
var client
= new Kubernetes(clientConfig);
var listTask
= ExecuteListPods(client);
Assert.Equal(HttpStatusCode.Unauthorized, listTask.Response.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, listTask.Response.StatusCode);
} }
} }
} }
#endif // NETSTANDARD2_0
[Fact] [Fact]
public void Token() public void Token()
@@ -447,12 +431,15 @@ namespace k8s.Tests
arguments = ($"/c echo {responseJson}").Split(" "); arguments = ($"/c echo {responseJson}").Split(" ");
} }
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{ {
arguments = new[] { responseJson }; arguments = new[] { responseJson.Replace("\"", "\\\"") };
} }
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
arguments = new[] { "\"%s\"", responseJson.Replace("\"", "\\\"") };
}
var users = new List<User> var users = new List<User>
{ {