Skip to content

Commit 90e85fb

Browse files
committed
PR comments
1 parent da0ff72 commit 90e85fb

File tree

4 files changed

+79
-6
lines changed

4 files changed

+79
-6
lines changed

App/Models/CredentialModel.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ public enum CredentialState
1414

1515
public class CredentialModel
1616
{
17-
public CredentialState State { get; set; } = CredentialState.Unknown;
17+
public CredentialState State { get; init; } = CredentialState.Unknown;
1818

19-
public string? CoderUrl { get; set; }
20-
public string? ApiToken { get; set; }
19+
public string? CoderUrl { get; init; }
20+
public string? ApiToken { get; init; }
2121

22-
public string? Username { get; set; }
22+
public string? Username { get; init; }
2323

2424
public CredentialModel Clone()
2525
{

App/Services/CredentialManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public async Task<CredentialModel> LoadCredentials(CancellationToken ct = defaul
9595
var raw = ReadCredentials();
9696
model = await PopulateModel(raw, ct);
9797
}
98-
catch (Exception e)
98+
catch
9999
{
100100
// We don't need to clear the credentials here, the app will think
101101
// they're unset and any subsequent SetCredentials call after the
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
using Coder.Desktop.Vpn.Utilities;
2+
using Semver;
3+
4+
namespace Coder.Desktop.Tests.Vpn.Utilities;
5+
6+
[TestFixture]
7+
public class ServerVersionUtilitiesTest
8+
{
9+
[Test(Description = "Test invalid versions")]
10+
public void InvalidVersions()
11+
{
12+
var invalidVersions = new List<(string, string)>
13+
{
14+
(null!, "Server version is empty"),
15+
("", "Server version is empty"),
16+
(" ", "Server version is empty"),
17+
("v", "Could not parse server version"),
18+
("1", "Could not parse server version"),
19+
("v1", "Could not parse server version"),
20+
("1.2", "Could not parse server version"),
21+
("v1.2", "Could not parse server version"),
22+
("1.2.3.4", "Could not parse server version"),
23+
("v1.2.3.4", "Could not parse server version"),
24+
25+
("1.2.3", "not within required server version range"),
26+
("v1.2.3", "not within required server version range"),
27+
("2.19.0-devel", "not within required server version range"),
28+
("v2.19.0-devel", "not within required server version range"),
29+
};
30+
31+
foreach (var (version, expectedErrorMessage) in invalidVersions)
32+
{
33+
var ex = Assert.Throws<ArgumentException>(() => ServerVersionUtilities.ParseAndValidateServerVersion(version));
34+
Assert.That(ex.Message, Does.Contain(expectedErrorMessage));
35+
}
36+
}
37+
38+
[Test(Description = "Test valid versions")]
39+
public void ValidVersions()
40+
{
41+
var validVersions = new List<ServerVersion>
42+
{
43+
new()
44+
{
45+
RawString = "2.20.0-devel+17f8e93d0",
46+
SemVersion = new SemVersion(2, 20, 0, ["devel"], ["17f8e93d0"]),
47+
},
48+
new()
49+
{
50+
RawString = "2.20.0",
51+
SemVersion = new SemVersion(2, 20, 0),
52+
},
53+
new()
54+
{
55+
RawString = "2.21.3",
56+
SemVersion = new SemVersion(2, 21, 3),
57+
},
58+
new()
59+
{
60+
RawString = "3.0.0",
61+
SemVersion = new SemVersion(3, 0, 0),
62+
},
63+
};
64+
65+
foreach (var version in validVersions)
66+
foreach (var prefix in new[] { "", "v" })
67+
{
68+
var result = ServerVersionUtilities.ParseAndValidateServerVersion(prefix + version.RawString);
69+
Assert.That(result.RawString, Is.EqualTo(prefix + version.RawString), version.RawString);
70+
Assert.That(result.SemVersion, Is.EqualTo(version.SemVersion), version.RawString);
71+
}
72+
}
73+
}

Vpn/Utilities/ServerVersionUtilities.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class ServerVersion
1111
public static class ServerVersionUtilities
1212
{
1313
// The -0 allows pre-release versions.
14-
private static readonly SemVersionRange ServerVersionRange = SemVersionRange.Parse("^2.20.0-0",
14+
private static readonly SemVersionRange ServerVersionRange = SemVersionRange.Parse(">= 2.20.0-0",
1515
SemVersionRangeOptions.IncludeAllPrerelease | SemVersionRangeOptions.AllowV |
1616
SemVersionRangeOptions.AllowMetadata);
1717

0 commit comments

Comments
 (0)