Fix log return disposed obj (#705)

* generator not to dispose stream

* new generated code

* test to cover log stream
This commit is contained in:
Boshi Lian
2021-09-17 08:21:00 -07:00
committed by GitHub
parent 4e29dff8d2
commit 07ab21bb98
5 changed files with 308 additions and 221 deletions

View File

@@ -466,7 +466,7 @@ namespace k8s
}
throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
}
{{/IfReturnType operation "stream"}}
{{/IfReturnType operation "obj"}}
}
{{/IfReturnType operation "any"}}
if (_shouldTrace)

View File

@@ -64,6 +64,17 @@ namespace k8s
{{/operation.parameters}}
CancellationToken cancellationToken = default(CancellationToken))
{
{{#IfReturnType operation "stream"}}
var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}(
{{#operation.parameters}}
{{GetDotNetName .}},
{{/operation.parameters}}
null,
cancellationToken);
_result.Request.Dispose();
{{GetReturnType operation "_result.Body"}};
{{/IfReturnType operation "stream"}}
{{#IfReturnType operation "obj"}}
using (var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}(
{{#operation.parameters}}
{{GetDotNetName .}},
@@ -73,6 +84,17 @@ namespace k8s
{
{{GetReturnType operation "_result.Body"}};
}
{{/IfReturnType operation "obj"}}
{{#IfReturnType operation "void"}}
using (var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}(
{{#operation.parameters}}
{{GetDotNetName .}},
{{/operation.parameters}}
null,
cancellationToken).ConfigureAwait(false))
{
}
{{/IfReturnType operation "void"}}
}
{{/.}}

View File

@@ -956,7 +956,7 @@ namespace KubernetesWatchGenerator
{
fn(null);
}
else if (type == "stream" && rt == "Stream")
else if (type.ToLower() == rt.ToLower())
{
fn(null);
}

View File

@@ -12671,7 +12671,7 @@ namespace k8s
bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedPodAttachWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedPodAttachWithHttpMessagesAsync(
name,
namespaceParameter,
container,
@@ -12680,11 +12680,10 @@ namespace k8s
stdout,
tty,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to attach of Pod
@@ -12789,7 +12788,7 @@ namespace k8s
bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedPodAttachWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedPodAttachWithHttpMessagesAsync(
name,
namespaceParameter,
container,
@@ -12798,11 +12797,10 @@ namespace k8s
stdout,
tty,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// create binding of a Pod
@@ -13418,7 +13416,7 @@ namespace k8s
bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedPodExecWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedPodExecWithHttpMessagesAsync(
name,
namespaceParameter,
command,
@@ -13428,11 +13426,10 @@ namespace k8s
stdout,
tty,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to exec of Pod
@@ -13540,7 +13537,7 @@ namespace k8s
bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedPodExecWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedPodExecWithHttpMessagesAsync(
name,
namespaceParameter,
command,
@@ -13550,11 +13547,10 @@ namespace k8s
stdout,
tty,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// read log of the specified Pod
@@ -13713,7 +13709,7 @@ namespace k8s
bool? timestamps = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ReadNamespacedPodLogWithHttpMessagesAsync(
var _result = await operations.ReadNamespacedPodLogWithHttpMessagesAsync(
name,
namespaceParameter,
container,
@@ -13726,11 +13722,10 @@ namespace k8s
tailLines,
timestamps,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to portforward of Pod
@@ -13787,16 +13782,15 @@ namespace k8s
int? ports = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedPodPortforwardWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedPodPortforwardWithHttpMessagesAsync(
name,
namespaceParameter,
ports,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to portforward of Pod
@@ -13853,16 +13847,15 @@ namespace k8s
int? ports = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedPodPortforwardWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedPodPortforwardWithHttpMessagesAsync(
name,
namespaceParameter,
ports,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect DELETE requests to proxy of Pod
@@ -13919,16 +13912,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectDeleteNamespacedPodProxyWithHttpMessagesAsync(
var _result = await operations.ConnectDeleteNamespacedPodProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to proxy of Pod
@@ -13985,16 +13977,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedPodProxyWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedPodProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect HEAD requests to proxy of Pod
@@ -14051,16 +14042,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectHeadNamespacedPodProxyWithHttpMessagesAsync(
var _result = await operations.ConnectHeadNamespacedPodProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PATCH requests to proxy of Pod
@@ -14117,16 +14107,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPatchNamespacedPodProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPatchNamespacedPodProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to proxy of Pod
@@ -14183,16 +14172,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedPodProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedPodProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PUT requests to proxy of Pod
@@ -14249,16 +14237,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPutNamespacedPodProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPutNamespacedPodProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect DELETE requests to proxy of Pod
@@ -14324,17 +14311,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectDeleteNamespacedPodProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectDeleteNamespacedPodProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to proxy of Pod
@@ -14400,17 +14386,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedPodProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedPodProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect HEAD requests to proxy of Pod
@@ -14476,17 +14461,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectHeadNamespacedPodProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectHeadNamespacedPodProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PATCH requests to proxy of Pod
@@ -14552,17 +14536,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPatchNamespacedPodProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPatchNamespacedPodProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to proxy of Pod
@@ -14628,17 +14611,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedPodProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedPodProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PUT requests to proxy of Pod
@@ -14704,17 +14686,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPutNamespacedPodProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPutNamespacedPodProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// read status of the specified Pod
@@ -22341,16 +22322,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectDeleteNamespacedServiceProxyWithHttpMessagesAsync(
var _result = await operations.ConnectDeleteNamespacedServiceProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to proxy of Service
@@ -22415,16 +22395,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedServiceProxyWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedServiceProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect HEAD requests to proxy of Service
@@ -22489,16 +22468,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectHeadNamespacedServiceProxyWithHttpMessagesAsync(
var _result = await operations.ConnectHeadNamespacedServiceProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PATCH requests to proxy of Service
@@ -22563,16 +22541,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPatchNamespacedServiceProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPatchNamespacedServiceProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to proxy of Service
@@ -22637,16 +22614,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedServiceProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedServiceProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PUT requests to proxy of Service
@@ -22711,16 +22687,15 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPutNamespacedServiceProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPutNamespacedServiceProxyWithHttpMessagesAsync(
name,
namespaceParameter,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect DELETE requests to proxy of Service
@@ -22794,17 +22769,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectDeleteNamespacedServiceProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectDeleteNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to proxy of Service
@@ -22878,17 +22852,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNamespacedServiceProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectGetNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect HEAD requests to proxy of Service
@@ -22962,17 +22935,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectHeadNamespacedServiceProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectHeadNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PATCH requests to proxy of Service
@@ -23046,17 +23018,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPatchNamespacedServiceProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPatchNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to proxy of Service
@@ -23130,17 +23101,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNamespacedServiceProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPostNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PUT requests to proxy of Service
@@ -23214,17 +23184,16 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPutNamespacedServiceProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPutNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name,
namespaceParameter,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// read status of the specified Service
@@ -25358,15 +25327,14 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectDeleteNodeProxyWithHttpMessagesAsync(
var _result = await operations.ConnectDeleteNodeProxyWithHttpMessagesAsync(
name,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to proxy of Node
@@ -25414,15 +25382,14 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNodeProxyWithHttpMessagesAsync(
var _result = await operations.ConnectGetNodeProxyWithHttpMessagesAsync(
name,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect HEAD requests to proxy of Node
@@ -25470,15 +25437,14 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectHeadNodeProxyWithHttpMessagesAsync(
var _result = await operations.ConnectHeadNodeProxyWithHttpMessagesAsync(
name,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PATCH requests to proxy of Node
@@ -25526,15 +25492,14 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPatchNodeProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPatchNodeProxyWithHttpMessagesAsync(
name,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to proxy of Node
@@ -25582,15 +25547,14 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNodeProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPostNodeProxyWithHttpMessagesAsync(
name,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PUT requests to proxy of Node
@@ -25638,15 +25602,14 @@ namespace k8s
string path = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPutNodeProxyWithHttpMessagesAsync(
var _result = await operations.ConnectPutNodeProxyWithHttpMessagesAsync(
name,
path,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect DELETE requests to proxy of Node
@@ -25703,16 +25666,15 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectDeleteNodeProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectDeleteNodeProxyWithPathWithHttpMessagesAsync(
name,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect GET requests to proxy of Node
@@ -25769,16 +25731,15 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectGetNodeProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectGetNodeProxyWithPathWithHttpMessagesAsync(
name,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect HEAD requests to proxy of Node
@@ -25835,16 +25796,15 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectHeadNodeProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectHeadNodeProxyWithPathWithHttpMessagesAsync(
name,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PATCH requests to proxy of Node
@@ -25901,16 +25861,15 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPatchNodeProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPatchNodeProxyWithPathWithHttpMessagesAsync(
name,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect POST requests to proxy of Node
@@ -25967,16 +25926,15 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPostNodeProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPostNodeProxyWithPathWithHttpMessagesAsync(
name,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// connect PUT requests to proxy of Node
@@ -26033,16 +25991,15 @@ namespace k8s
string path1 = null,
CancellationToken cancellationToken = default(CancellationToken))
{
using (var _result = await operations.ConnectPutNodeProxyWithPathWithHttpMessagesAsync(
var _result = await operations.ConnectPutNodeProxyWithPathWithHttpMessagesAsync(
name,
path,
path1,
null,
cancellationToken).ConfigureAwait(false))
{
cancellationToken);
_result.Request.Dispose();
return _result.Body;
}
}
/// <summary>
/// read status of the specified Node
@@ -94394,7 +94351,6 @@ namespace k8s
null,
cancellationToken).ConfigureAwait(false))
{
;
}
}
@@ -94440,7 +94396,6 @@ namespace k8s
null,
cancellationToken).ConfigureAwait(false))
{
;
}
}

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -28,10 +29,20 @@ namespace k8s.E2E
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
if (pods.Items.Any(p => p.Metadata.Name == podName))
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{
if (e.Response.StatusCode == System.Net.HttpStatusCode.NotFound)
{
return;
}
}
}
}
try
@@ -326,6 +337,105 @@ namespace k8s.E2E
}
}
[MinikubeFact]
public async Task LogStreamTestAsync()
{
var namespaceParameter = "default";
var podName = "k8scsharp-e2e-logstream-pod";
var client = CreateClient();
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{
if (e.Response.StatusCode == System.Net.HttpStatusCode.NotFound)
{
return;
}
}
}
}
try
{
Cleanup();
client.CreateNamespacedPod(
new V1Pod()
{
Metadata = new V1ObjectMeta { Name = podName, },
Spec = new V1PodSpec
{
Containers = new[]
{
new V1Container()
{
Name = "k8scsharp-e2e-logstream",
Image = "busybox",
Command = new[] { "ping" },
Args = new[] { "-i", "10", "127.0.0.1" },
},
},
},
},
namespaceParameter);
var lines = new List<string>();
var started = new ManualResetEvent(false);
async Task<V1Pod> Pod()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pod = pods.Items.First();
while (pod.Status.Phase != "Running")
{
await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false);
return await Pod().ConfigureAwait(false);
}
return pod;
}
var pod = await Pod().ConfigureAwait(false);
var stream = client.ReadNamespacedPodLog(pod.Metadata.Name, pod.Metadata.NamespaceProperty, follow: true);
using var reader = new StreamReader(stream);
var copytask = Task.Run(() =>
{
for (; ; )
{
try
{
lines.Add(reader.ReadLine());
}
finally
{
started.Set();
}
}
});
Assert.True(started.WaitOne(TimeSpan.FromMinutes(2)));
await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false);
Assert.Null(copytask.Exception);
Assert.Equal(2, lines.Count);
await Task.Delay(TimeSpan.FromSeconds(11)).ConfigureAwait(false);
Assert.Equal(3, lines.Count);
}
finally
{
Cleanup();
}
}
[MinikubeFact]
public async Task DatetimeFieldTest()
{