Remove Jenkinsfile and add unit tests for various models including Address, Domain, Nameserver, Section, Session, Subnetwork, Tag, Vlan, and Vrf. Introduce mock classes for HTTP requests and cmdlet testing.
This commit is contained in:
76
classlib.tests/Models/VlanTests.cs
Normal file
76
classlib.tests/Models/VlanTests.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
namespace PS.IPAM.Tests.Models;
|
||||
|
||||
using FluentAssertions;
|
||||
using PS.IPAM;
|
||||
using Xunit;
|
||||
|
||||
public class VlanTests
|
||||
{
|
||||
[Fact]
|
||||
public void Constructor_SetsAllProperties()
|
||||
{
|
||||
// Arrange
|
||||
var vlanId = 100;
|
||||
var domainId = 1;
|
||||
var name = "Production VLAN";
|
||||
var number = 100;
|
||||
var description = "Production network VLAN";
|
||||
var editDate = new DateTime(2026, 1, 15);
|
||||
var customerId = 50;
|
||||
var customFields = new Dictionary<string, object> { { "custom_location", "DC1" } };
|
||||
|
||||
// Act
|
||||
var vlan = new Vlan(vlanId, domainId, name, number, description, editDate, customerId, customFields);
|
||||
|
||||
// Assert
|
||||
vlan.Id.Should().Be(vlanId);
|
||||
vlan.VlanId.Should().Be(vlanId);
|
||||
vlan.DomainId.Should().Be(domainId);
|
||||
vlan.Name.Should().Be(name);
|
||||
vlan.Number.Should().Be(number);
|
||||
vlan.Description.Should().Be(description);
|
||||
vlan.EditDate.Should().Be(editDate);
|
||||
vlan.CustomerId.Should().Be(customerId);
|
||||
vlan.ExtendedData.Should().BeEquivalentTo(customFields);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Id_And_VlanId_AreSameValue()
|
||||
{
|
||||
// Arrange
|
||||
var vlanId = 200;
|
||||
|
||||
// Act
|
||||
var vlan = new Vlan(vlanId, 1, "Test", 200, "", null, 0, null);
|
||||
|
||||
// Assert
|
||||
vlan.Id.Should().Be(vlan.VlanId);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(1)]
|
||||
[InlineData(100)]
|
||||
[InlineData(4094)]
|
||||
public void ToString_ReturnsVlanNumber(int vlanNumber)
|
||||
{
|
||||
// Arrange
|
||||
var vlan = new Vlan(1, 1, "Test", vlanNumber, "", null, 0, null);
|
||||
|
||||
// Act
|
||||
var result = vlan.ToString();
|
||||
|
||||
// Assert
|
||||
result.Should().Be(vlanNumber.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Constructor_WithNullOptionalFields_SetsNullValues()
|
||||
{
|
||||
// Act
|
||||
var vlan = new Vlan(1, 1, "Test", 10, "", null, 0, null);
|
||||
|
||||
// Assert
|
||||
vlan.EditDate.Should().BeNull();
|
||||
vlan.ExtendedData.Should().BeNull();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user