Skip to content

Commit 2d700ad

Browse files
read semantic versions when reading server version (#287)
1 parent 9ae7e8b commit 2d700ad

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

test/EventStore.Client.Tests.Common/Fixtures/Base/EventStoreTestServer.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,20 @@ static Version GetVersion() {
110110
.Start();
111111

112112
using var log = eventstore.Logs(true, cts.Token);
113-
foreach (var line in log.ReadToEnd())
113+
foreach (var line in log.ReadToEnd()) {
114114
if (line.StartsWith(versionPrefix) &&
115-
Version.TryParse(line[(versionPrefix.Length + 1)..].Split(' ')[0], out var version))
115+
Version.TryParse(new string(ReadVersion(line[(versionPrefix.Length + 1)..]).ToArray()), out var version)) {
116116
return version;
117+
}
118+
}
117119

118120
throw new InvalidOperationException("Could not determine server version.");
121+
122+
IEnumerable<char> ReadVersion(string s) {
123+
foreach (var c in s.TakeWhile(c => c == '.' || char.IsDigit(c))) {
124+
yield return c;
125+
}
126+
}
119127
}
120128

121129
void VerifyCertificatesExist() {

test/EventStore.Client.Tests.Common/Fixtures/EventStoreFixture.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,20 @@ static Version GetEventStoreVersion() {
164164
.Start();
165165

166166
using var log = eventstore.Logs(true, cancellator.Token);
167-
foreach (var line in log.ReadToEnd())
167+
foreach (var line in log.ReadToEnd()) {
168168
if (line.StartsWith(versionPrefix) &&
169-
Version.TryParse(line[(versionPrefix.Length + 1)..].Split(' ')[0], out var version))
169+
Version.TryParse(new string(ReadVersion(line[(versionPrefix.Length + 1)..]).ToArray()), out var version)) {
170170
return version;
171+
}
172+
}
171173

172174
throw new InvalidOperationException("Could not determine server version.");
175+
176+
IEnumerable<char> ReadVersion(string s) {
177+
foreach (var c in s.TakeWhile(c => c == '.' || char.IsDigit(c))) {
178+
yield return c;
179+
}
180+
}
173181
}
174182
}
175183

@@ -205,4 +213,4 @@ public abstract class EventStoreTests<TFixture> : IClassFixture<TFixture> where
205213

206214
[Collection(nameof(EventStoreSharedDatabaseFixture))]
207215
public abstract class EventStoreSharedDatabaseTests<TFixture>(ITestOutputHelper output, TFixture fixture) : EventStoreTests<TFixture>(output, fixture)
208-
where TFixture : EventStoreFixture;
216+
where TFixture : EventStoreFixture;

test/EventStore.Client.Tests.Common/GlobalEnvironment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ static void EnsureDefaults(IConfiguration configuration) {
2323
configuration.EnsureValue("ES_USE_EXTERNAL_SERVER", "false");
2424

2525
configuration.EnsureValue("ES_DOCKER_REGISTRY", "ghcr.io/eventstore/eventstore");
26-
configuration.EnsureValue("ES_DOCKER_TAG", "latest");
26+
configuration.EnsureValue("ES_DOCKER_TAG", "ci");
2727
configuration.EnsureValue("ES_DOCKER_IMAGE", $"{configuration["ES_DOCKER_REGISTRY"]}:{configuration["ES_DOCKER_TAG"]}");
2828

2929
configuration.EnsureValue("EVENTSTORE_MEM_DB", "false");

0 commit comments

Comments
 (0)