Skip to content

Commit 267f56c

Browse files
committed
fix #2394 xpack security run as header has changed
1 parent e40d294 commit 267f56c

File tree

6 files changed

+66
-69
lines changed

6 files changed

+66
-69
lines changed

src/Elasticsearch.Net/Connection/HttpConnection-CoreFx.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ protected virtual HttpRequestMessage CreateRequestMessage(RequestData requestDat
143143
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(requestData.Accept));
144144

145145
if (!requestData.RunAs.IsNullOrEmpty())
146-
requestMessage.Headers.Add("es-shield-runas-user", requestData.RunAs);
146+
requestMessage.Headers.Add(RequestData.RunAsSecurityHeader, requestData.RunAs);
147147

148148
var data = requestData.PostData;
149149

src/Elasticsearch.Net/Connection/HttpConnection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ protected virtual HttpWebRequest CreateWebRequest(RequestData requestData)
5252
request.Headers.Add("Content-Encoding", "gzip");
5353
}
5454
if (!requestData.RunAs.IsNullOrEmpty())
55-
request.Headers.Add("es-shield-runas-user", requestData.RunAs);
55+
request.Headers.Add(RequestData.RunAsSecurityHeader, requestData.RunAs);
5656

5757
if (requestData.Headers != null && requestData.Headers.HasKeys())
5858
request.Headers.Add(requestData.Headers);

src/Elasticsearch.Net/Transport/Pipeline/RequestData.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace Elasticsearch.Net
1111
public class RequestData
1212
{
1313
public const string MimeType = "application/json";
14+
public const string RunAsSecurityHeader = "es-security-runas-user";
1415

1516
public Uri Uri => new Uri(this.Node.Uri, this.Path).Purify();
1617

src/Tests/Indices/StatusManagement/Upgrade/UpgradeApiTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ protected override LazyResponses ClientUsage() => Calls(
2626
protected override int ExpectStatusCode => 200;
2727
protected override HttpMethod HttpMethod => HttpMethod.POST;
2828
protected override string UrlPath => $"/{CallIsolatedValue}/_upgrade";
29-
29+
3030
protected override UpgradeRequest Initializer => new UpgradeRequest(CallIsolatedValue);
3131
}
3232
}

src/Tests/XPack/Security/Role/PutRole/PutRoleApiTests.cs

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -93,36 +93,34 @@ protected override void ExpectResponse(IPutRoleResponse response)
9393
}
9494
}
9595

96-
//TODO this might be a bug in xpack but more likely a misunderstanding on our part ignore for now
97-
// https://github.com/elastic/x-plugins/issues/3617
98-
//public class PutRoleRunAsApiTests : PutRoleApiTests
99-
//{
100-
// public PutRoleRunAsApiTests(XPackCluster cluster, EndpointUsage usage) : base(cluster, usage) { }
101-
102-
// protected override bool ExpectIsValid => false;
103-
// protected override int ExpectStatusCode => 403;
104-
105-
// protected override PutRoleRequest Initializer
106-
// {
107-
// get
108-
// {
109-
// var request = base.Initializer;
110-
// request.RequestConfiguration = new RequestConfiguration
111-
// {
112-
// RunAs = ShieldInformation.User.Username
113-
// };
114-
// return request;
115-
// }
116-
// }
117-
118-
// protected override Func<PutRoleDescriptor, IPutRoleRequest> Fluent => f => base.Fluent(f
119-
// .RequestConfiguration(c => c
120-
// .RunAs(ShieldInformation.User.Username)
121-
// ));
122-
123-
// protected override void ExpectResponse(IPutRoleResponse response)
124-
// {
125-
// }
126-
//}
96+
public class PutRoleRunAsApiTests : PutRoleApiTests
97+
{
98+
public PutRoleRunAsApiTests(XPackCluster cluster, EndpointUsage usage) : base(cluster, usage) { }
99+
100+
protected override bool ExpectIsValid => false;
101+
protected override int ExpectStatusCode => 403;
102+
103+
protected override PutRoleRequest Initializer
104+
{
105+
get
106+
{
107+
var request = base.Initializer;
108+
request.RequestConfiguration = new RequestConfiguration
109+
{
110+
RunAs = ShieldInformation.User.Username
111+
};
112+
return request;
113+
}
114+
}
115+
116+
protected override Func<PutRoleDescriptor, IPutRoleRequest> Fluent => f => base.Fluent(f
117+
.RequestConfiguration(c => c
118+
.RunAs(ShieldInformation.User.Username)
119+
));
120+
121+
protected override void ExpectResponse(IPutRoleResponse response)
122+
{
123+
}
124+
}
127125

128126
}

src/Tests/XPack/Security/User/PutUser/PutUserApiTests.cs

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -75,40 +75,38 @@ protected override void ExpectResponse(IPutUserResponse response)
7575
}
7676
}
7777

78-
//TODO disabled for now pending bug report
79-
// https://github.com/elastic/x-plugins/issues/3617
80-
//public class PutUserRunAsApiTests : PutUserApiTests
81-
//{
82-
// public PutUserRunAsApiTests(XPackCluster cluster, EndpointUsage usage) : base(cluster, usage)
83-
// {
84-
// var x = this.Client.GetUser(new GetUserRequest(ShieldInformation.User.Username));
85-
// var y = this.Client.GetRole(new GetRoleRequest(ShieldInformation.User.Role));
86-
// }
87-
88-
// protected override bool ExpectIsValid => false;
89-
// protected override int ExpectStatusCode => 403;
90-
91-
// protected override PutUserRequest Initializer
92-
// {
93-
// get
94-
// {
95-
// var request = base.Initializer;
96-
// request.RequestConfiguration = new RequestConfiguration
97-
// {
98-
// RunAs = ShieldInformation.User.Username
99-
// };
100-
// return request;
101-
// }
102-
// }
103-
104-
// protected override Func<PutUserDescriptor, IPutUserRequest> Fluent => f => base.Fluent(f
105-
// .RequestConfiguration(c => c
106-
// .RunAs(ShieldInformation.User.Username)
107-
// ));
108-
109-
// protected override void ExpectResponse(IPutUserResponse response)
110-
// {
111-
// }
112-
//}
78+
public class PutUserRunAsApiTests : PutUserApiTests
79+
{
80+
public PutUserRunAsApiTests(XPackCluster cluster, EndpointUsage usage) : base(cluster, usage)
81+
{
82+
var x = this.Client.GetUser(new GetUserRequest(ShieldInformation.User.Username));
83+
var y = this.Client.GetRole(new GetRoleRequest(ShieldInformation.User.Role));
84+
}
85+
86+
protected override bool ExpectIsValid => false;
87+
protected override int ExpectStatusCode => 403;
88+
89+
protected override PutUserRequest Initializer
90+
{
91+
get
92+
{
93+
var request = base.Initializer;
94+
request.RequestConfiguration = new RequestConfiguration
95+
{
96+
RunAs = ShieldInformation.User.Username
97+
};
98+
return request;
99+
}
100+
}
101+
102+
protected override Func<PutUserDescriptor, IPutUserRequest> Fluent => f => base.Fluent(f
103+
.RequestConfiguration(c => c
104+
.RunAs(ShieldInformation.User.Username)
105+
));
106+
107+
protected override void ExpectResponse(IPutUserResponse response)
108+
{
109+
}
110+
}
113111

114112
}

0 commit comments

Comments
 (0)