83 lines
2.2 KiB
C#
83 lines
2.2 KiB
C#
namespace PS.IPAM.Tests.Models;
|
|
|
|
using FluentAssertions;
|
|
using PS.IPAM;
|
|
using Xunit;
|
|
|
|
public class NameserverTests
|
|
{
|
|
[Fact]
|
|
public void Constructor_SetsAllProperties()
|
|
{
|
|
// Arrange
|
|
var id = 1;
|
|
var name = "Google DNS";
|
|
var nameServers = "8.8.8.8;8.8.4.4";
|
|
var description = "Google Public DNS";
|
|
var permissions = "{\"3\":\"2\"}";
|
|
var editDate = new DateTime(2026, 1, 10);
|
|
|
|
// Act
|
|
var nameserver = new Nameserver(id, name, nameServers, description, permissions, editDate);
|
|
|
|
// Assert
|
|
nameserver.Id.Should().Be(id);
|
|
nameserver.Name.Should().Be(name);
|
|
nameserver.Description.Should().Be(description);
|
|
nameserver.Permissions.Should().Be(permissions);
|
|
nameserver.EditDate.Should().Be(editDate);
|
|
}
|
|
|
|
[Fact]
|
|
public void Constructor_ParsesNameservers_BySemicolon()
|
|
{
|
|
// Arrange
|
|
var nameServersString = "8.8.8.8;8.8.4.4;1.1.1.1";
|
|
|
|
// Act
|
|
var nameserver = new Nameserver(1, "Test", nameServersString, "", "", null);
|
|
|
|
// Assert
|
|
nameserver.NameServers.Should().HaveCount(3);
|
|
nameserver.NameServers.Should().ContainInOrder("8.8.8.8", "8.8.4.4", "1.1.1.1");
|
|
}
|
|
|
|
[Fact]
|
|
public void Constructor_WithSingleNameserver_ReturnsArrayWithOneElement()
|
|
{
|
|
// Arrange
|
|
var nameServersString = "8.8.8.8";
|
|
|
|
// Act
|
|
var nameserver = new Nameserver(1, "Test", nameServersString, "", "", null);
|
|
|
|
// Assert
|
|
nameserver.NameServers.Should().HaveCount(1);
|
|
nameserver.NameServers[0].Should().Be("8.8.8.8");
|
|
}
|
|
|
|
[Fact]
|
|
public void Constructor_WithEmptyNameservers_ReturnsArrayWithEmptyString()
|
|
{
|
|
// Arrange
|
|
var nameServersString = "";
|
|
|
|
// Act
|
|
var nameserver = new Nameserver(1, "Test", nameServersString, "", "", null);
|
|
|
|
// Assert
|
|
nameserver.NameServers.Should().HaveCount(1);
|
|
nameserver.NameServers[0].Should().BeEmpty();
|
|
}
|
|
|
|
[Fact]
|
|
public void Constructor_WithNullEditDate_SetsNull()
|
|
{
|
|
// Act
|
|
var nameserver = new Nameserver(1, "Test", "8.8.8.8", "", "", null);
|
|
|
|
// Assert
|
|
nameserver.EditDate.Should().BeNull();
|
|
}
|
|
}
|