Refactor IPAM model classes to use records for Address, Subnetwork, Vlan, Vrf, Section, Tag, Domain, Nameserver, and Session; enhance documentation and implement value equality for records.
This commit is contained in:
@@ -109,6 +109,13 @@ public class GetAddressCmdletTests : IDisposable
|
||||
cmdlet.SubnetCIDR.Should().Be("192.168.1.0/24");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetAddressCmdlet_InheritsFromBaseCmdlet()
|
||||
{
|
||||
var cmdlet = new GetAddressCmdlet();
|
||||
cmdlet.Should().BeAssignableTo<BaseCmdlet>();
|
||||
}
|
||||
|
||||
// Test the underlying RequestHelper functionality that the cmdlet uses
|
||||
|
||||
[Fact]
|
||||
@@ -129,8 +136,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
var result = await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address,
|
||||
ApiController.Addresses,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "1" }
|
||||
@@ -155,8 +162,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address,
|
||||
ApiController.Addresses,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "42" }
|
||||
@@ -177,8 +184,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address,
|
||||
ApiController.Addresses,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "search", "192.168.1.50" }
|
||||
@@ -199,8 +206,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address,
|
||||
ApiController.Addresses,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "search_hostname", "myserver.example.com" }
|
||||
@@ -221,8 +228,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.subnets,
|
||||
types.Address,
|
||||
ApiController.Subnets,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "10", "addresses" }
|
||||
@@ -243,8 +250,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address,
|
||||
ApiController.Addresses,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "tags", "2", "addresses" }
|
||||
@@ -269,8 +276,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
var result = await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.subnets,
|
||||
types.Address,
|
||||
ApiController.Subnets,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "10", "addresses" }
|
||||
@@ -294,8 +301,8 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
var result = await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address,
|
||||
ApiController.Addresses,
|
||||
ModelType.Address,
|
||||
null,
|
||||
null,
|
||||
new[] { "999" }
|
||||
@@ -313,11 +320,11 @@ public class GetAddressCmdletTests : IDisposable
|
||||
// Act
|
||||
var action = async () => await RequestHelper.InvokeRequest(
|
||||
"GET",
|
||||
controllers.addresses,
|
||||
types.Address
|
||||
ApiController.Addresses,
|
||||
ModelType.Address
|
||||
);
|
||||
|
||||
// Assert
|
||||
await action.Should().ThrowAsync<Exception>().WithMessage("No session available!");
|
||||
await action.Should().ThrowAsync<InvalidOperationException>().WithMessage("No session available!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,11 +93,18 @@ public class NewSessionCmdletTests : IDisposable
|
||||
session.URL.Should().Be("https://ipam.example.com");
|
||||
session.AppID.Should().Be("testapp");
|
||||
session.Token.Should().Be("my-api-token");
|
||||
session.AuthType.Should().Be(AuthType.token);
|
||||
session.AuthType.Should().Be(AuthType.Token);
|
||||
session.Expires.Should().BeNull();
|
||||
session.Credentials.Should().BeNull();
|
||||
|
||||
// Verify it was set as current session
|
||||
SessionManager.CurrentSession.Should().BeSameAs(session);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NewSessionCmdlet_InheritsFromBaseCmdlet()
|
||||
{
|
||||
var cmdlet = new NewSessionCmdlet();
|
||||
cmdlet.Should().BeAssignableTo<BaseCmdlet>();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user