diff --git a/src/PSProxmoxVE.Core/Services/NodeService.cs b/src/PSProxmoxVE.Core/Services/NodeService.cs index ecacbc8..1231ded 100644 --- a/src/PSProxmoxVE.Core/Services/NodeService.cs +++ b/src/PSProxmoxVE.Core/Services/NodeService.cs @@ -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!); } } } diff --git a/src/PSProxmoxVE/Cmdlets/CloudInit/SetPveCloudInitConfigCmdlet.cs b/src/PSProxmoxVE/Cmdlets/CloudInit/SetPveCloudInitConfigCmdlet.cs index a87dd01..6978072 100644 --- a/src/PSProxmoxVE/Cmdlets/CloudInit/SetPveCloudInitConfigCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/CloudInit/SetPveCloudInitConfigCmdlet.cs @@ -73,11 +73,11 @@ namespace PSProxmoxVE.Cmdlets.CloudInit var config = new Dictionary(); - 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) { diff --git a/src/PSProxmoxVE/Cmdlets/Network/NewPveNetworkCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Network/NewPveNetworkCmdlet.cs index aafc2cd..bb65721 100644 --- a/src/PSProxmoxVE/Cmdlets/Network/NewPveNetworkCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Network/NewPveNetworkCmdlet.cs @@ -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(); } diff --git a/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnVnetCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnVnetCmdlet.cs index 5ad6a6c..b6cb1bd 100644 --- a/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnVnetCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnVnetCmdlet.cs @@ -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(); diff --git a/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnZoneCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnZoneCmdlet.cs index 91f7da7..1f4b3be 100644 --- a/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnZoneCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Network/NewPveSdnZoneCmdlet.cs @@ -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(); } diff --git a/src/PSProxmoxVE/Cmdlets/Network/SetPveNetworkCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Network/SetPveNetworkCmdlet.cs index 83fb9f4..91a5457 100644 --- a/src/PSProxmoxVE/Cmdlets/Network/SetPveNetworkCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Network/SetPveNetworkCmdlet.cs @@ -76,17 +76,17 @@ namespace PSProxmoxVE.Cmdlets.Network var data = new Dictionary(); - 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(); } diff --git a/src/PSProxmoxVE/Cmdlets/Snapshots/NewPveSnapshotCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Snapshots/NewPveSnapshotCmdlet.cs index 64cce5d..85e827e 100644 --- a/src/PSProxmoxVE/Cmdlets/Snapshots/NewPveSnapshotCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Snapshots/NewPveSnapshotCmdlet.cs @@ -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(); diff --git a/src/PSProxmoxVE/Cmdlets/Storage/NewPveStorageCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Storage/NewPveStorageCmdlet.cs index e084b4d..4a9b69f 100644 --- a/src/PSProxmoxVE/Cmdlets/Storage/NewPveStorageCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Storage/NewPveStorageCmdlet.cs @@ -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"; diff --git a/src/PSProxmoxVE/Cmdlets/Tasks/WaitPveTaskCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Tasks/WaitPveTaskCmdlet.cs index 674f012..a907bdf 100644 --- a/src/PSProxmoxVE/Cmdlets/Tasks/WaitPveTaskCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Tasks/WaitPveTaskCmdlet.cs @@ -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; diff --git a/src/PSProxmoxVE/Cmdlets/Templates/GetPveTemplateCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Templates/GetPveTemplateCmdlet.cs index 5d17d9f..2ad98d8 100644 --- a/src/PSProxmoxVE/Cmdlets/Templates/GetPveTemplateCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Templates/GetPveTemplateCmdlet.cs @@ -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) diff --git a/src/PSProxmoxVE/Cmdlets/Users/GetPveUserCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Users/GetPveUserCmdlet.cs index 83254d6..c04efd1 100644 --- a/src/PSProxmoxVE/Cmdlets/Users/GetPveUserCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Users/GetPveUserCmdlet.cs @@ -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; diff --git a/src/PSProxmoxVE/Cmdlets/Users/NewPveRoleCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Users/NewPveRoleCmdlet.cs index 4a50db9..05938ab 100644 --- a/src/PSProxmoxVE/Cmdlets/Users/NewPveRoleCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Users/NewPveRoleCmdlet.cs @@ -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(); diff --git a/src/PSProxmoxVE/Cmdlets/Users/NewPveUserCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Users/NewPveUserCmdlet.cs index 040e439..34a0e39 100644 --- a/src/PSProxmoxVE/Cmdlets/Users/NewPveUserCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Users/NewPveUserCmdlet.cs @@ -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(); diff --git a/src/PSProxmoxVE/Cmdlets/Users/SetPveUserCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Users/SetPveUserCmdlet.cs index 2260d2e..b3f0277 100644 --- a/src/PSProxmoxVE/Cmdlets/Users/SetPveUserCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Users/SetPveUserCmdlet.cs @@ -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"; diff --git a/tests/PSProxmoxVE.Core.Tests/Authentication/PveAuthenticatorTests.cs b/tests/PSProxmoxVE.Core.Tests/Authentication/PveAuthenticatorTests.cs index 58c15ae..1865892 100644 --- a/tests/PSProxmoxVE.Core.Tests/Authentication/PveAuthenticatorTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Authentication/PveAuthenticatorTests.cs @@ -59,7 +59,7 @@ namespace PSProxmoxVE.Core.Tests.Authentication public void ValidateHostname_NullOrEmpty_Throws_ForCredentials(string? hostname) { Assert.Throws(() => - 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(() => - 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(() => - PveAuthenticator.AuthenticateWithApiToken(ValidHostname, ValidPort, false, token)); + PveAuthenticator.AuthenticateWithApiToken(ValidHostname, ValidPort, false, token!)); } } } diff --git a/tests/PSProxmoxVE.Core.Tests/Authentication/PveVersionTests.cs b/tests/PSProxmoxVE.Core.Tests/Authentication/PveVersionTests.cs index a232cac..0268681 100644 --- a/tests/PSProxmoxVE.Core.Tests/Authentication/PveVersionTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Authentication/PveVersionTests.cs @@ -44,7 +44,7 @@ namespace PSProxmoxVE.Core.Tests.Authentication [InlineData(" ")] public void Parse_NullOrEmpty_Throws(string? input) { - Assert.Throws(() => PveVersion.Parse(input)); + Assert.Throws(() => PveVersion.Parse(input!)); } [Fact] diff --git a/tests/PSProxmoxVE.Core.Tests/Models/ClusterModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/ClusterModelTests.cs index d1a7ca3..63856db 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/ClusterModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/ClusterModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(entries); // Node-type entries should not have cluster-specific fields diff --git a/tests/PSProxmoxVE.Core.Tests/Models/ContainerModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/ContainerModelTests.cs index a95d11a..41e87f1 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/ContainerModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/ContainerModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(containers); // Tags field is only in the first container diff --git a/tests/PSProxmoxVE.Core.Tests/Models/NetworkModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/NetworkModelTests.cs index b76fd37..da7c80a 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/NetworkModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/NetworkModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(networks); Assert.Equal("vmbr1", networks[1].Iface); diff --git a/tests/PSProxmoxVE.Core.Tests/Models/NodeModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/NodeModelTests.cs index 9880d7f..df6137a 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/NodeModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/NodeModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(nodes); Assert.NotNull(nodes[0].LoadAverage); diff --git a/tests/PSProxmoxVE.Core.Tests/Models/SdnModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/SdnModelTests.cs index 846272a..e351111 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/SdnModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/SdnModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(vnets); // Comments not present in fixture entries diff --git a/tests/PSProxmoxVE.Core.Tests/Models/SnapshotModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/SnapshotModelTests.cs index c48b29d..80177d7 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/SnapshotModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/SnapshotModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(snapshots); Assert.Equal(1709000000L, snapshots[2].SnapTime); diff --git a/tests/PSProxmoxVE.Core.Tests/Models/StorageModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/StorageModelTests.cs index b472acb..3e12fa5 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/StorageModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/StorageModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(items); // ISO items should not have a VmId or Notes diff --git a/tests/PSProxmoxVE.Core.Tests/Models/TaskModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/TaskModelTests.cs index 8047e8f..a82057f 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/TaskModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/TaskModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(task); Assert.False(task.IsSuccessful); diff --git a/tests/PSProxmoxVE.Core.Tests/Models/UserModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/UserModelTests.cs index 32c8448..462cb12 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/UserModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/UserModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(roles); Assert.Equal("PVEAuditor", roles[1].RoleId); diff --git a/tests/PSProxmoxVE.Core.Tests/Models/VmModelTests.cs b/tests/PSProxmoxVE.Core.Tests/Models/VmModelTests.cs index ddad0aa..51fb673 100644 --- a/tests/PSProxmoxVE.Core.Tests/Models/VmModelTests.cs +++ b/tests/PSProxmoxVE.Core.Tests/Models/VmModelTests.cs @@ -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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); 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(); Assert.NotNull(config); Assert.Equal("admin", config.CiUser);