mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-07-26 07:58:14 +00:00
fix: resolve net48-only nullable warnings (CS8601, CS8602, CS8604)
- CS8601: Add null-forgiving operator on guarded dictionary assignments in cmdlets where IsNullOrEmpty check precedes the assignment - CS8602: Add Assert.NotNull after JObject["data"] in xUnit model tests (JToken indexer returns nullable on net48) - CS8604: Add null-forgiving on guarded arguments in NodeService, WaitPveTaskCmdlet, GetPveTemplateCmdlet, and auth test parameters Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -52,7 +52,7 @@ namespace PSProxmoxVE.Core.Services
|
||||
var versionStr = data?["version"]?.ToString();
|
||||
if (string.IsNullOrEmpty(versionStr))
|
||||
throw new InvalidOperationException("Failed to retrieve PVE version from API response.");
|
||||
return PveVersion.Parse(versionStr);
|
||||
return PveVersion.Parse(versionStr!);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,11 +73,11 @@ namespace PSProxmoxVE.Cmdlets.CloudInit
|
||||
|
||||
var config = new Dictionary<string, object>();
|
||||
|
||||
if (!string.IsNullOrEmpty(CiUser)) config["ciuser"] = CiUser;
|
||||
if (!string.IsNullOrEmpty(Hostname)) config["name"] = Hostname;
|
||||
if (!string.IsNullOrEmpty(IpConfig0)) config["ipconfig0"] = IpConfig0;
|
||||
if (!string.IsNullOrEmpty(Nameserver)) config["nameserver"] = Nameserver;
|
||||
if (!string.IsNullOrEmpty(Searchdomain)) config["searchdomain"] = Searchdomain;
|
||||
if (!string.IsNullOrEmpty(CiUser)) config["ciuser"] = CiUser!;
|
||||
if (!string.IsNullOrEmpty(Hostname)) config["name"] = Hostname!;
|
||||
if (!string.IsNullOrEmpty(IpConfig0)) config["ipconfig0"] = IpConfig0!;
|
||||
if (!string.IsNullOrEmpty(Nameserver)) config["nameserver"] = Nameserver!;
|
||||
if (!string.IsNullOrEmpty(Searchdomain)) config["searchdomain"] = Searchdomain!;
|
||||
|
||||
if (Password != null)
|
||||
{
|
||||
|
||||
@@ -78,15 +78,15 @@ namespace PSProxmoxVE.Cmdlets.Network
|
||||
["type"] = Type
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(Address)) data["address"] = Address;
|
||||
if (!string.IsNullOrEmpty(Netmask)) data["netmask"] = Netmask;
|
||||
if (!string.IsNullOrEmpty(Gateway)) data["gateway"] = Gateway;
|
||||
if (!string.IsNullOrEmpty(BridgePorts)) data["bridge_ports"] = BridgePorts;
|
||||
if (!string.IsNullOrEmpty(BondSlaves)) data["slaves"] = BondSlaves;
|
||||
if (!string.IsNullOrEmpty(Address)) data["address"] = Address!;
|
||||
if (!string.IsNullOrEmpty(Netmask)) data["netmask"] = Netmask!;
|
||||
if (!string.IsNullOrEmpty(Gateway)) data["gateway"] = Gateway!;
|
||||
if (!string.IsNullOrEmpty(BridgePorts)) data["bridge_ports"] = BridgePorts!;
|
||||
if (!string.IsNullOrEmpty(BondSlaves)) data["slaves"] = BondSlaves!;
|
||||
if (VlanId.HasValue) data["vlan-id"] = VlanId.Value.ToString();
|
||||
if (Mtu.HasValue) data["mtu"] = Mtu.Value.ToString();
|
||||
if (Autostart.IsPresent) data["autostart"] = "1";
|
||||
if (!string.IsNullOrEmpty(Comments)) data["comments"] = Comments;
|
||||
if (!string.IsNullOrEmpty(Comments)) data["comments"] = Comments!;
|
||||
|
||||
client.PostAsync($"nodes/{Node}/network", data).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace PSProxmoxVE.Cmdlets.Network
|
||||
};
|
||||
|
||||
if (Tag.HasValue) data["tag"] = Tag.Value.ToString();
|
||||
if (!string.IsNullOrEmpty(Alias)) data["alias"] = Alias;
|
||||
if (!string.IsNullOrEmpty(Alias)) data["alias"] = Alias!;
|
||||
if (VlanAware.IsPresent) data["vlanaware"] = "1";
|
||||
|
||||
client.PostAsync("cluster/sdn/vnets", data).GetAwaiter().GetResult();
|
||||
|
||||
@@ -64,13 +64,13 @@ namespace PSProxmoxVE.Cmdlets.Network
|
||||
["type"] = Type
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(Peers)) data["peers"] = Peers;
|
||||
if (!string.IsNullOrEmpty(Bridge)) data["bridge"] = Bridge;
|
||||
if (!string.IsNullOrEmpty(Peers)) data["peers"] = Peers!;
|
||||
if (!string.IsNullOrEmpty(Bridge)) data["bridge"] = Bridge!;
|
||||
if (Mtu.HasValue) data["mtu"] = Mtu.Value.ToString();
|
||||
if (!string.IsNullOrEmpty(Dns)) data["dns"] = Dns;
|
||||
if (!string.IsNullOrEmpty(ReverseDns)) data["reversedns"] = ReverseDns;
|
||||
if (!string.IsNullOrEmpty(DnsZone)) data["dnszone"] = DnsZone;
|
||||
if (!string.IsNullOrEmpty(Ipam)) data["ipam"] = Ipam;
|
||||
if (!string.IsNullOrEmpty(Dns)) data["dns"] = Dns!;
|
||||
if (!string.IsNullOrEmpty(ReverseDns)) data["reversedns"] = ReverseDns!;
|
||||
if (!string.IsNullOrEmpty(DnsZone)) data["dnszone"] = DnsZone!;
|
||||
if (!string.IsNullOrEmpty(Ipam)) data["ipam"] = Ipam!;
|
||||
|
||||
client.PostAsync("cluster/sdn/zones", data).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
@@ -76,17 +76,17 @@ namespace PSProxmoxVE.Cmdlets.Network
|
||||
|
||||
var data = new Dictionary<string, string>();
|
||||
|
||||
if (!string.IsNullOrEmpty(Address)) data["address"] = Address;
|
||||
if (!string.IsNullOrEmpty(Netmask)) data["netmask"] = Netmask;
|
||||
if (!string.IsNullOrEmpty(Gateway)) data["gateway"] = Gateway;
|
||||
if (!string.IsNullOrEmpty(Address6)) data["address6"] = Address6;
|
||||
if (!string.IsNullOrEmpty(Address)) data["address"] = Address!;
|
||||
if (!string.IsNullOrEmpty(Netmask)) data["netmask"] = Netmask!;
|
||||
if (!string.IsNullOrEmpty(Gateway)) data["gateway"] = Gateway!;
|
||||
if (!string.IsNullOrEmpty(Address6)) data["address6"] = Address6!;
|
||||
if (Netmask6.HasValue) data["netmask6"] = Netmask6.Value.ToString();
|
||||
if (!string.IsNullOrEmpty(Gateway6)) data["gateway6"] = Gateway6;
|
||||
if (!string.IsNullOrEmpty(BridgePorts)) data["bridge_ports"] = BridgePorts;
|
||||
if (!string.IsNullOrEmpty(BondSlaves)) data["slaves"] = BondSlaves;
|
||||
if (!string.IsNullOrEmpty(Gateway6)) data["gateway6"] = Gateway6!;
|
||||
if (!string.IsNullOrEmpty(BridgePorts)) data["bridge_ports"] = BridgePorts!;
|
||||
if (!string.IsNullOrEmpty(BondSlaves)) data["slaves"] = BondSlaves!;
|
||||
if (Mtu.HasValue) data["mtu"] = Mtu.Value.ToString();
|
||||
if (Autostart.IsPresent) data["autostart"] = "1";
|
||||
if (!string.IsNullOrEmpty(Comments)) data["comments"] = Comments;
|
||||
if (!string.IsNullOrEmpty(Comments)) data["comments"] = Comments!;
|
||||
|
||||
client.PutAsync($"nodes/{Node}/network/{Iface}", data).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace PSProxmoxVE.Cmdlets.Snapshots
|
||||
{
|
||||
["snapname"] = Name
|
||||
};
|
||||
if (!string.IsNullOrEmpty(Description)) data["description"] = Description;
|
||||
if (!string.IsNullOrEmpty(Description)) data["description"] = Description!;
|
||||
if (IncludeVmState.IsPresent) data["vmstate"] = "1";
|
||||
|
||||
var json = client.PostAsync($"nodes/{Node}/qemu/{VmId}/snapshot", data).GetAwaiter().GetResult();
|
||||
|
||||
@@ -89,16 +89,16 @@ namespace PSProxmoxVE.Cmdlets.Storage
|
||||
["type"] = Type
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(Content)) data["content"] = Content;
|
||||
if (!string.IsNullOrEmpty(Path)) data["path"] = Path;
|
||||
if (!string.IsNullOrEmpty(Server)) data["server"] = Server;
|
||||
if (!string.IsNullOrEmpty(Export)) data["export"] = Export;
|
||||
if (!string.IsNullOrEmpty(VgName)) data["vgname"] = VgName;
|
||||
if (!string.IsNullOrEmpty(ThinPool)) data["thinpool"] = ThinPool;
|
||||
if (!string.IsNullOrEmpty(Pool)) data["pool"] = Pool;
|
||||
if (!string.IsNullOrEmpty(CephPool)) data["pool"] = CephPool;
|
||||
if (!string.IsNullOrEmpty(MonHost)) data["monhost"] = MonHost;
|
||||
if (!string.IsNullOrEmpty(Nodes)) data["nodes"] = Nodes;
|
||||
if (!string.IsNullOrEmpty(Content)) data["content"] = Content!;
|
||||
if (!string.IsNullOrEmpty(Path)) data["path"] = Path!;
|
||||
if (!string.IsNullOrEmpty(Server)) data["server"] = Server!;
|
||||
if (!string.IsNullOrEmpty(Export)) data["export"] = Export!;
|
||||
if (!string.IsNullOrEmpty(VgName)) data["vgname"] = VgName!;
|
||||
if (!string.IsNullOrEmpty(ThinPool)) data["thinpool"] = ThinPool!;
|
||||
if (!string.IsNullOrEmpty(Pool)) data["pool"] = Pool!;
|
||||
if (!string.IsNullOrEmpty(CephPool)) data["pool"] = CephPool!;
|
||||
if (!string.IsNullOrEmpty(MonHost)) data["monhost"] = MonHost!;
|
||||
if (!string.IsNullOrEmpty(Nodes)) data["nodes"] = Nodes!;
|
||||
if (Shared.IsPresent) data["shared"] = "1";
|
||||
if (Disable.IsPresent) data["disable"] = "1";
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ namespace PSProxmoxVE.Cmdlets.Tasks
|
||||
};
|
||||
|
||||
if (!task.IsSuccessful && !string.IsNullOrEmpty(exitStatus) && exitStatus != "OK")
|
||||
throw new PveTaskFailedException(Upid, exitStatus);
|
||||
throw new PveTaskFailedException(Upid, exitStatus!);
|
||||
|
||||
WriteObject(task);
|
||||
return;
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace PSProxmoxVE.Cmdlets.Templates
|
||||
|
||||
if (!string.IsNullOrEmpty(Node))
|
||||
{
|
||||
nodesToQuery.Add(Node);
|
||||
nodesToQuery.Add(Node!);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -62,7 +62,7 @@ namespace PSProxmoxVE.Cmdlets.Templates
|
||||
|
||||
if (!string.IsNullOrEmpty(Name) && vm.Name != null)
|
||||
{
|
||||
var pattern = Name.Replace("*", "");
|
||||
var pattern = Name!.Replace("*", "");
|
||||
if (Name.Contains("*"))
|
||||
{
|
||||
if (vm.Name.IndexOf(pattern, System.StringComparison.OrdinalIgnoreCase) < 0)
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace PSProxmoxVE.Cmdlets.Users
|
||||
if (string.IsNullOrEmpty(UserId))
|
||||
return true;
|
||||
|
||||
if (UserId.Contains("*"))
|
||||
if (UserId!.Contains("*"))
|
||||
{
|
||||
var pattern = UserId.Replace("*", "");
|
||||
return user.UserId.IndexOf(pattern, System.StringComparison.OrdinalIgnoreCase) >= 0;
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace PSProxmoxVE.Cmdlets.Users
|
||||
{
|
||||
["roleid"] = RoleId
|
||||
};
|
||||
if (!string.IsNullOrEmpty(Privileges)) data["privs"] = Privileges;
|
||||
if (!string.IsNullOrEmpty(Privileges)) data["privs"] = Privileges!;
|
||||
|
||||
client.PostAsync("access/roles", data).GetAwaiter().GetResult();
|
||||
|
||||
|
||||
@@ -63,11 +63,11 @@ namespace PSProxmoxVE.Cmdlets.Users
|
||||
finally { Marshal.ZeroFreeGlobalAllocUnicode(ptr); }
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(FirstName)) config["firstname"] = FirstName;
|
||||
if (!string.IsNullOrEmpty(LastName)) config["lastname"] = LastName;
|
||||
if (!string.IsNullOrEmpty(Email)) config["email"] = Email;
|
||||
if (!string.IsNullOrEmpty(Groups)) config["groups"] = Groups;
|
||||
if (!string.IsNullOrEmpty(Comment)) config["comment"] = Comment;
|
||||
if (!string.IsNullOrEmpty(FirstName)) config["firstname"] = FirstName!;
|
||||
if (!string.IsNullOrEmpty(LastName)) config["lastname"] = LastName!;
|
||||
if (!string.IsNullOrEmpty(Email)) config["email"] = Email!;
|
||||
if (!string.IsNullOrEmpty(Groups)) config["groups"] = Groups!;
|
||||
if (!string.IsNullOrEmpty(Comment)) config["comment"] = Comment!;
|
||||
if (Expire.HasValue) config["expire"] = Expire.Value;
|
||||
|
||||
var session = GetSession();
|
||||
|
||||
@@ -65,11 +65,11 @@ namespace PSProxmoxVE.Cmdlets.Users
|
||||
finally { Marshal.ZeroFreeGlobalAllocUnicode(ptr); }
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(FirstName)) config["firstname"] = FirstName;
|
||||
if (!string.IsNullOrEmpty(LastName)) config["lastname"] = LastName;
|
||||
if (!string.IsNullOrEmpty(Email)) config["email"] = Email;
|
||||
if (!string.IsNullOrEmpty(Groups)) config["groups"] = Groups;
|
||||
if (!string.IsNullOrEmpty(Comment)) config["comment"] = Comment;
|
||||
if (!string.IsNullOrEmpty(FirstName)) config["firstname"] = FirstName!;
|
||||
if (!string.IsNullOrEmpty(LastName)) config["lastname"] = LastName!;
|
||||
if (!string.IsNullOrEmpty(Email)) config["email"] = Email!;
|
||||
if (!string.IsNullOrEmpty(Groups)) config["groups"] = Groups!;
|
||||
if (!string.IsNullOrEmpty(Comment)) config["comment"] = Comment!;
|
||||
if (Expire.HasValue) config["expire"] = Expire.Value;
|
||||
if (Enable.HasValue) config["enable"] = Enable.Value ? "1" : "0";
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace PSProxmoxVE.Core.Tests.Authentication
|
||||
public void ValidateHostname_NullOrEmpty_Throws_ForCredentials(string? hostname)
|
||||
{
|
||||
Assert.Throws<ArgumentException>(() =>
|
||||
PveAuthenticator.AuthenticateWithCredentials(hostname, ValidPort, false, "root@pam", "password"));
|
||||
PveAuthenticator.AuthenticateWithCredentials(hostname!, ValidPort, false, "root@pam", "password"));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
@@ -69,7 +69,7 @@ namespace PSProxmoxVE.Core.Tests.Authentication
|
||||
public void ValidateHostname_NullOrEmpty_Throws_ForApiToken(string? hostname)
|
||||
{
|
||||
Assert.Throws<ArgumentException>(() =>
|
||||
PveAuthenticator.AuthenticateWithApiToken(hostname, ValidPort, false, "root@pam!mytoken=uuid"));
|
||||
PveAuthenticator.AuthenticateWithApiToken(hostname!, ValidPort, false, "root@pam!mytoken=uuid"));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
@@ -79,7 +79,7 @@ namespace PSProxmoxVE.Core.Tests.Authentication
|
||||
public void ValidateApiToken_NullOrEmpty_Throws(string? token)
|
||||
{
|
||||
Assert.Throws<ArgumentException>(() =>
|
||||
PveAuthenticator.AuthenticateWithApiToken(ValidHostname, ValidPort, false, token));
|
||||
PveAuthenticator.AuthenticateWithApiToken(ValidHostname, ValidPort, false, token!));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Authentication
|
||||
[InlineData(" ")]
|
||||
public void Parse_NullOrEmpty_Throws(string? input)
|
||||
{
|
||||
Assert.Throws<ArgumentException>(() => PveVersion.Parse(input));
|
||||
Assert.Throws<ArgumentException>(() => PveVersion.Parse(input!));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal(4, entries.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal("cluster", entries[0].Type);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal("testcluster", entries[0].Name);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal(3, entries[0].Nodes);
|
||||
@@ -51,6 +55,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal(1, entries[0].Quorate);
|
||||
@@ -61,6 +66,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal("node", entries[1].Type);
|
||||
@@ -71,6 +77,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal("192.168.1.10", entries[1].Ip);
|
||||
@@ -81,6 +88,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal(1, entries[1].Online);
|
||||
@@ -91,6 +99,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
Assert.Equal(1, entries[1].Local);
|
||||
@@ -101,6 +110,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
// Fourth entry (index 3) is pve3 which is offline
|
||||
@@ -113,6 +123,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
// Cluster-type entry should not have node-specific fields
|
||||
@@ -125,6 +136,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_cluster_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var entries = data.ToObject<PveClusterStatus[]>();
|
||||
Assert.NotNull(entries);
|
||||
// Node-type entries should not have cluster-specific fields
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal(2, containers.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal(200, containers[0].VmId);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal("ct-web", containers[0].Name);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal("running", containers[0].Status);
|
||||
@@ -51,6 +55,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal("pve1", containers[0].Node);
|
||||
@@ -61,6 +66,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal(2, containers[0].CpuCount);
|
||||
@@ -72,6 +78,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal(536870912L, containers[0].MaxSwap);
|
||||
@@ -83,6 +90,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal(1, containers[0].Unprivileged);
|
||||
@@ -93,6 +101,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal("ubuntu", containers[0].OsType);
|
||||
@@ -103,6 +112,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
Assert.Equal(201, containers[1].VmId);
|
||||
@@ -115,6 +125,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_containers.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var containers = data.ToObject<PveContainer[]>();
|
||||
Assert.NotNull(containers);
|
||||
// Tags field is only in the first container
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal(2, networks.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal("vmbr0", networks[0].Iface);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal("bridge", networks[0].Type);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal("192.168.1.10", networks[0].Address);
|
||||
@@ -53,6 +57,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal("192.168.1.10/24", networks[0].Cidr);
|
||||
@@ -63,6 +68,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal("enp0s31f6", networks[0].BridgePorts);
|
||||
@@ -73,6 +79,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal(1, networks[0].Autostart);
|
||||
@@ -83,6 +90,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
// No VLAN on primary bridge
|
||||
@@ -95,6 +103,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_networks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var networks = data.ToObject<PveNetwork[]>();
|
||||
Assert.NotNull(networks);
|
||||
Assert.Equal("vmbr1", networks[1].Iface);
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_nodes.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var nodes = data.ToObject<PveNode[]>();
|
||||
Assert.NotNull(nodes);
|
||||
Assert.Equal(2, nodes.Length);
|
||||
@@ -25,6 +26,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_nodes.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var nodes = data.ToObject<PveNode[]>();
|
||||
Assert.NotNull(nodes);
|
||||
Assert.Equal("pve2", nodes[1].Name);
|
||||
@@ -38,6 +40,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve8_nodes.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var nodes = data.ToObject<PveNode[]>();
|
||||
Assert.NotNull(nodes);
|
||||
Assert.Single(nodes);
|
||||
@@ -49,6 +52,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve8_nodes.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var nodes = data.ToObject<PveNode[]>();
|
||||
Assert.NotNull(nodes);
|
||||
Assert.Equal(4, nodes[0].CpuCount);
|
||||
@@ -60,6 +64,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_node_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var status = data.ToObject<PveNodeStatus>();
|
||||
Assert.NotNull(status);
|
||||
Assert.Equal(0.125, status.CpuUsage);
|
||||
@@ -70,6 +75,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_node_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var status = data.ToObject<PveNodeStatus>();
|
||||
Assert.NotNull(status);
|
||||
Assert.Equal("pve1", status.Node);
|
||||
@@ -83,6 +89,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_node_status.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var status = data.ToObject<PveNodeStatus>();
|
||||
Assert.NotNull(status);
|
||||
Assert.NotNull(status.MemoryUsage);
|
||||
@@ -95,6 +102,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_nodes.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var nodes = data.ToObject<PveNode[]>();
|
||||
Assert.NotNull(nodes);
|
||||
Assert.NotNull(nodes[0].LoadAverage);
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_zones.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var zones = data.ToObject<PveSdnZone[]>();
|
||||
Assert.NotNull(zones);
|
||||
Assert.Equal(2, zones.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_zones.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var zones = data.ToObject<PveSdnZone[]>();
|
||||
Assert.NotNull(zones);
|
||||
Assert.Equal("localzone", zones[0].Zone);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_zones.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var zones = data.ToObject<PveSdnZone[]>();
|
||||
Assert.NotNull(zones);
|
||||
Assert.Equal("simple", zones[0].Type);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_zones.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var zones = data.ToObject<PveSdnZone[]>();
|
||||
Assert.NotNull(zones);
|
||||
Assert.Equal("vxlanzone", zones[1].Zone);
|
||||
@@ -52,6 +56,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_zones.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var zones = data.ToObject<PveSdnZone[]>();
|
||||
Assert.NotNull(zones);
|
||||
// Comments field is not present in the fixture
|
||||
@@ -63,6 +68,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
Assert.Equal(2, vnets.Length);
|
||||
@@ -73,6 +79,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
Assert.Equal("myvnet", vnets[0].Vnet);
|
||||
@@ -83,6 +90,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
Assert.Equal("localzone", vnets[0].Zone);
|
||||
@@ -93,6 +101,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
Assert.Equal(100, vnets[0].Tag);
|
||||
@@ -103,6 +112,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
Assert.Equal("My VNET", vnets[0].Alias);
|
||||
@@ -113,6 +123,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
Assert.Equal("prodnet", vnets[1].Vnet);
|
||||
@@ -125,6 +136,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_sdn_vnets.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vnets = data.ToObject<PveSdnVnet[]>();
|
||||
Assert.NotNull(vnets);
|
||||
// Comments not present in fixture entries
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal(3, snapshots.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal("current", snapshots[0].Name);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal("You are here!", snapshots[0].Description);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal("snap1", snapshots[1].Name);
|
||||
@@ -52,6 +56,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal(1, snapshots[1].VmState);
|
||||
@@ -62,6 +67,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal("base", snapshots[1].Parent);
|
||||
@@ -72,6 +78,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal("base", snapshots[2].Name);
|
||||
@@ -83,6 +90,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal("snap1", snapshots[0].Parent);
|
||||
@@ -93,6 +101,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_snapshots.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var snapshots = data.ToObject<PveSnapshot[]>();
|
||||
Assert.NotNull(snapshots);
|
||||
Assert.Equal(1709000000L, snapshots[2].SnapTime);
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
Assert.Equal(3, storages.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
Assert.Equal("local", storages[0].Storage);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
Assert.Equal("dir", storages[0].Type);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
Assert.Equal("iso,vztmpl,backup", storages[0].Content);
|
||||
@@ -51,6 +55,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
Assert.Equal(107374182400L, storages[0].Total);
|
||||
@@ -63,6 +68,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
Assert.Equal(1, storages[0].Enabled);
|
||||
@@ -74,6 +80,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var storages = data.ToObject<PveStorage[]>();
|
||||
Assert.NotNull(storages);
|
||||
var ceph = storages[2];
|
||||
@@ -87,6 +94,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage_content.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var items = data.ToObject<PveStorageContent[]>();
|
||||
Assert.NotNull(items);
|
||||
Assert.Equal(2, items.Length);
|
||||
@@ -97,6 +105,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage_content.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var items = data.ToObject<PveStorageContent[]>();
|
||||
Assert.NotNull(items);
|
||||
Assert.Equal("local:iso/ubuntu-24.04-live-server-amd64.iso", items[0].VolId);
|
||||
@@ -107,6 +116,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage_content.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var items = data.ToObject<PveStorageContent[]>();
|
||||
Assert.NotNull(items);
|
||||
Assert.Equal("iso", items[0].Content);
|
||||
@@ -118,6 +128,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage_content.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var items = data.ToObject<PveStorageContent[]>();
|
||||
Assert.NotNull(items);
|
||||
Assert.Equal(2774532096L, items[0].Size);
|
||||
@@ -128,6 +139,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_storage_content.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var items = data.ToObject<PveStorageContent[]>();
|
||||
Assert.NotNull(items);
|
||||
// ISO items should not have a VmId or Notes
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_tasks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.Equal("UPID:pve1:00001234:00ABCDEF:65F00000:qmstart:100:root@pam:", task.Upid);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_tasks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.Equal("stopped", task.Status);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_tasks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.Equal("OK", task.ExitStatus);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_tasks.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.True(task.IsSuccessful);
|
||||
@@ -51,6 +55,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_task_running.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.Equal("UPID:pve1:00001234:00ABCDEF:65F00000:qmstart:100:root@pam:", task.Upid);
|
||||
@@ -61,6 +66,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_task_running.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.Equal("running", task.Status);
|
||||
@@ -71,6 +77,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_task_running.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.Null(task.ExitStatus);
|
||||
@@ -81,6 +88,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_task_running.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var task = data.ToObject<PveTask>();
|
||||
Assert.NotNull(task);
|
||||
Assert.False(task.IsSuccessful);
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal(3, users.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal("root@pam", users[0].UserId);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal("Root", users[0].FirstName);
|
||||
@@ -42,6 +45,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal("root@example.com", users[0].Email);
|
||||
@@ -52,6 +56,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal(1, users[0].Enabled);
|
||||
@@ -62,6 +67,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal("admin@pve", users[1].UserId);
|
||||
@@ -73,6 +79,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
Assert.Equal("readonly@pve", users[2].UserId);
|
||||
@@ -84,6 +91,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_users.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var users = data.ToObject<PveUser[]>();
|
||||
Assert.NotNull(users);
|
||||
// Root user has no groups in fixture
|
||||
@@ -95,6 +103,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_roles.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var roles = data.ToObject<PveRole[]>();
|
||||
Assert.NotNull(roles);
|
||||
Assert.Equal(2, roles.Length);
|
||||
@@ -105,6 +114,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_roles.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var roles = data.ToObject<PveRole[]>();
|
||||
Assert.NotNull(roles);
|
||||
Assert.Equal("Administrator", roles[0].RoleId);
|
||||
@@ -115,6 +125,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_roles.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var roles = data.ToObject<PveRole[]>();
|
||||
Assert.NotNull(roles);
|
||||
Assert.Equal(1, roles[0].Special);
|
||||
@@ -125,6 +136,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_roles.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var roles = data.ToObject<PveRole[]>();
|
||||
Assert.NotNull(roles);
|
||||
Assert.NotNull(roles[0].Privileges);
|
||||
@@ -136,6 +148,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_roles.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var roles = data.ToObject<PveRole[]>();
|
||||
Assert.NotNull(roles);
|
||||
Assert.Equal("PVEAuditor", roles[1].RoleId);
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal(3, vms.Length);
|
||||
@@ -21,6 +22,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal(100, vms[0].VmId);
|
||||
@@ -31,6 +33,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal("test-vm-1", vms[0].Name);
|
||||
@@ -41,6 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal("running", vms[0].Status);
|
||||
@@ -51,6 +55,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
// Third entry is the template
|
||||
@@ -64,6 +69,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal(0, vms[0].Template);
|
||||
@@ -74,6 +80,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal(8589934592L, vms[0].MaxMem);
|
||||
@@ -85,6 +92,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vms.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var vms = data.ToObject<PveVm[]>();
|
||||
Assert.NotNull(vms);
|
||||
Assert.Equal(0L, vms[1].Uptime);
|
||||
@@ -95,6 +103,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vm_config.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var config = data.ToObject<PveVmConfig>();
|
||||
Assert.NotNull(config);
|
||||
Assert.Equal(4, config.Cores);
|
||||
@@ -107,6 +116,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vm_config.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var config = data.ToObject<PveVmConfig>();
|
||||
Assert.NotNull(config);
|
||||
Assert.Equal("ovmf", config.Bios);
|
||||
@@ -118,6 +128,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vm_config.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var config = data.ToObject<PveVmConfig>();
|
||||
Assert.NotNull(config);
|
||||
Assert.Equal("host", config.CpuType);
|
||||
@@ -129,6 +140,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vm_config.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var config = data.ToObject<PveVmConfig>();
|
||||
Assert.NotNull(config);
|
||||
Assert.NotNull(config.Net0);
|
||||
@@ -140,6 +152,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vm_config.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var config = data.ToObject<PveVmConfig>();
|
||||
Assert.NotNull(config);
|
||||
// Fields not present in fixture should be null
|
||||
@@ -153,6 +166,7 @@ namespace PSProxmoxVE.Core.Tests.Models
|
||||
{
|
||||
var json = TestHelper.LoadFixture("pve9_vm_config.json");
|
||||
var data = JObject.Parse(json)["data"];
|
||||
Assert.NotNull(data);
|
||||
var config = data.ToObject<PveVmConfig>();
|
||||
Assert.NotNull(config);
|
||||
Assert.Equal("admin", config.CiUser);
|
||||
|
||||
Reference in New Issue
Block a user