Skip to content

Commit 14f0dfd

Browse files
authored
feat: remove trailing slash from connection URL (#92)
1 parent a6d2790 commit 14f0dfd

File tree

6 files changed

+77
-4
lines changed

6 files changed

+77
-4
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
### Features
44
1. [#84](https://github.com/influxdata/influxdb-client-csharp/issues/84): Add possibility to authenticate by Basic Authentication or the URL query parameters
55
2. [#91](https://github.com/influxdata/influxdb-client-csharp/pull/91): Added support "inf" in Duration
6+
2. [#92](https://github.com/influxdata/influxdb-client-csharp/pull/92): Remove trailing slash from connection URL
67

78
### Bug Fixes
89
1. [#81](https://github.com/influxdata/influxdb-client-csharp/pull/81): Fixed potentially hangs on of WriteApi.Dispose()

Client.Test/InfluxDbClientTest.cs

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,5 +154,70 @@ public async Task UserAgentHeader()
154154
StringAssert.StartsWith("influxdb-client-csharp/1.", request.RequestMessage.Headers["User-Agent"].First());
155155
StringAssert.EndsWith(".0.0", request.RequestMessage.Headers["User-Agent"].First());
156156
}
157+
158+
[Test]
159+
public async Task TrailingSlashInUrl()
160+
{
161+
MockServer
162+
.Given(Request.Create().WithPath("/api/v2/write").UsingPost())
163+
.RespondWith(CreateResponse("{}"));
164+
165+
using (var writeApi = _client.GetWriteApi())
166+
{
167+
writeApi.WriteRecord("b1", "org1", WritePrecision.Ns,
168+
"h2o_feet,location=coyote_creek water_level=1.0 1");
169+
}
170+
171+
var request = MockServer.LogEntries.Last();
172+
Assert.AreEqual(MockServerUrl + "/api/v2/write?org=org1&bucket=b1&precision=ns",
173+
request.RequestMessage.AbsoluteUrl);
174+
175+
_client.Dispose();
176+
_client = InfluxDBClientFactory.Create(MockServerUrl + "/");
177+
178+
using (var writeApi = _client.GetWriteApi())
179+
{
180+
writeApi.WriteRecord("b1", "org1", WritePrecision.Ns,
181+
"h2o_feet,location=coyote_creek water_level=1.0 1");
182+
}
183+
184+
request = MockServer.LogEntries.Last();
185+
Assert.AreEqual(MockServerUrl + "/api/v2/write?org=org1&bucket=b1&precision=ns",
186+
request.RequestMessage.AbsoluteUrl);
187+
188+
_client.Dispose();
189+
_client = InfluxDBClientFactory.Create(new InfluxDBClientOptions.Builder().Url(MockServerUrl)
190+
.AuthenticateToken("my-token".ToCharArray()).Build());
191+
192+
using (var writeApi = _client.GetWriteApi())
193+
{
194+
writeApi.WriteRecord("b1", "org1", WritePrecision.Ns,
195+
"h2o_feet,location=coyote_creek water_level=1.0 1");
196+
}
197+
198+
request = MockServer.LogEntries.Last();
199+
Assert.AreEqual(MockServerUrl + "/api/v2/write?org=org1&bucket=b1&precision=ns",
200+
request.RequestMessage.AbsoluteUrl);
201+
202+
_client.Dispose();
203+
_client = InfluxDBClientFactory.Create(new InfluxDBClientOptions.Builder().Url(MockServerUrl + "/")
204+
.AuthenticateToken("my-token".ToCharArray()).Build());
205+
206+
using (var writeApi = _client.GetWriteApi())
207+
{
208+
writeApi.WriteRecord("b1", "org1", WritePrecision.Ns,
209+
"h2o_feet,location=coyote_creek water_level=1.0 1");
210+
}
211+
212+
request = MockServer.LogEntries.Last();
213+
Assert.AreEqual(MockServerUrl + "/api/v2/write?org=org1&bucket=b1&precision=ns",
214+
request.RequestMessage.AbsoluteUrl);
215+
216+
Assert.True(MockServer.LogEntries.Any());
217+
foreach (var logEntry in MockServer.LogEntries)
218+
{
219+
StringAssert.StartsWith(MockServerUrl + "/api/v2/", logEntry.RequestMessage.AbsoluteUrl);
220+
}
221+
}
157222
}
158223
}

Client.Test/ItBucketsApiTest.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ public async Task FindBucketByName()
163163
}
164164

165165
[Test]
166+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/14900")]
166167
public async Task FindBucketByNameNotFound()
167168
{
168169
var bucket = await _bucketsApi.FindBucketByNameAsync("my-bucket-not-found");
@@ -188,6 +189,7 @@ public async Task FindBucketLogsNotFound()
188189
}
189190

190191
[Test]
192+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/18048")]
191193
public async Task FindBucketLogsPaging()
192194
{
193195
var bucket = await _bucketsApi.CreateBucketAsync(GenerateName("robot sensor"), RetentionRule(), _organization);
@@ -372,6 +374,7 @@ public async Task Member()
372374
}
373375

374376
[Test]
377+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/17244")]
375378
public async Task Owner()
376379
{
377380
var bucket = await _bucketsApi.CreateBucketAsync(GenerateName("robot sensor"), RetentionRule(), _organization);

Client.Test/ItOrganizationsApiTest.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ public async Task FindOrganizationLogsNotFound()
152152
}
153153

154154
[Test]
155+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/18048")]
155156
public async Task FindOrganizationLogsPaging()
156157
{
157158
var organization = await _organizationsApi.CreateOrganizationAsync(GenerateName("Constant Pro"));
@@ -226,14 +227,15 @@ public async Task FindOrganizationLogsPaging()
226227
}
227228

228229
[Test]
230+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/18048")]
229231
public async Task FindOrganizations()
230232
{
231-
var organizations = await _organizationsApi.FindOrganizationsAsync();
233+
var organizations = (await _organizationsApi.FindOrganizationsAsync()).Count;
232234

233235
await _organizationsApi.CreateOrganizationAsync(GenerateName("Constant Pro"));
234236

235237
var organizationsNew = await _organizationsApi.FindOrganizationsAsync();
236-
Assert.That(organizationsNew.Count == organizations.Count + 1);
238+
Assert.AreEqual(organizationsNew.Count, organizations + 1);
237239
}
238240

239241
[Test]

Client.Test/ItUsersApiTest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public void FindUserByIdNull()
7777
}
7878

7979
[Test]
80+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/18048")]
8081
public async Task FindUserLogs()
8182
{
8283
var now = new DateTime();
@@ -112,6 +113,7 @@ public async Task FindUserLogsNotFound()
112113
}
113114

114115
[Test]
116+
[Ignore("TODO https://github.com/influxdata/influxdb/issues/18048")]
115117
public async Task FindUserLogsPaging()
116118
{
117119
var user = await _usersApi.CreateUserAsync(GenerateName("John Ryzen"));

Client/Internal/ApiClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ private void InitToken()
8989
Encoding.Default.GetBytes(
9090
_options.Username + ":" + new string(_options.Password)));
9191

92-
var request = new RestRequest(_options.Url + "/api/v2/signin", Method.POST)
92+
var request = new RestRequest("/api/v2/signin", Method.POST)
9393
.AddHeader("Authorization", header);
9494

9595
authResponse = RestClient.Execute(request);
@@ -126,7 +126,7 @@ protected internal void Signout()
126126
_signout = true;
127127
_sessionToken = null;
128128

129-
var request = new RestRequest(_options.Url + "/api/v2/signout", Method.POST);
129+
var request = new RestRequest("/api/v2/signout", Method.POST);
130130
RestClient.Execute(request);
131131
}
132132
}

0 commit comments

Comments
 (0)