Skip to content

Commit 2e9d604

Browse files
test: fix failing dhcp server tests
1 parent 9afa43f commit 2e9d604

1 file changed

Lines changed: 15 additions & 21 deletions

File tree

‎pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Tests/APIModelsDHCPServerTestCase.inc‎

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use RESTAPI\Core\Command;
66
use RESTAPI\Core\Model;
77
use RESTAPI\Core\TestCase;
88
use RESTAPI\Models\DHCPServer;
9+
use RESTAPI\Models\DHCPServerBackend;
910
use RESTAPI\Models\DHCPServerStaticMapping;
1011
use RESTAPI\Models\NetworkInterface;
1112
use RESTAPI\Models\VirtualIP;
@@ -541,10 +542,9 @@ class APIModelsDHCPServerTestCase extends TestCase {
541542
* This test only runs when Kea is the active DHCP backend (kea-dhcp4.conf exists).
542543
*/
543544
public function test_netboot_fields_written_to_kea_config(): void {
544-
# Skip this test if Kea is not the active DHCP backend
545-
if (!file_exists('/usr/local/etc/kea/kea-dhcp4.conf')) {
546-
return;
547-
}
545+
# Ensure kea is set as the DHCP backend
546+
$backend = new DHCPServerBackend(dhcpbackend: 'kea', async: false);
547+
$backend->update(apply: true);
548548

549549
$dhcp_server = new DHCPServer(id: 'lan', async: false);
550550
$dhcp_server->netboot->value = true;
@@ -599,6 +599,10 @@ class APIModelsDHCPServerTestCase extends TestCase {
599599
$this->assert_str_does_not_contain($kea_conf_after, '"next-server"');
600600
$this->assert_str_does_not_contain($kea_conf_after, 'ipxe_uefihttp_');
601601
$this->assert_str_does_not_contain($kea_conf_after, 'ipxe_legacy_');
602+
603+
# Revert dhcp backend
604+
$backend->dhcpbackend->value = 'isc';
605+
$backend->update(apply: true);
602606
}
603607

604608
/**
@@ -612,7 +616,7 @@ class APIModelsDHCPServerTestCase extends TestCase {
612616
# nextserver requires a valid IPv4 when netboot is true; it should be silently ignored when false
613617
$dhcp_server->uefihttpboot->value = '';
614618
$dhcp_server->nextserver->value = '';
615-
$dhcp_server->update(apply: false);
619+
$dhcp_server->update();
616620
},
617621
);
618622
}
@@ -625,14 +629,9 @@ class APIModelsDHCPServerTestCase extends TestCase {
625629
response_id: 'IP_ADDRESS_VALIDATOR_FAILED',
626630
code: 400,
627631
callable: function (): void {
628-
$dhcp_server = new DHCPServer(
629-
id: 'lan',
630-
data: [
631-
'netboot' => true,
632-
'nextserver' => 'not-an-ip',
633-
],
634-
async: false,
635-
);
632+
$dhcp_server = new DHCPServer(id: 'lan', async: false);
633+
$dhcp_server->netboot->value = true;
634+
$dhcp_server->nextserver->value = 'not an ip';
636635
$dhcp_server->validate();
637636
},
638637
);
@@ -646,14 +645,9 @@ class APIModelsDHCPServerTestCase extends TestCase {
646645
response_id: 'URL_VALIDATOR_FAILED',
647646
code: 400,
648647
callable: function (): void {
649-
$dhcp_server = new DHCPServer(
650-
id: 'lan',
651-
data: [
652-
'netboot' => true,
653-
'uefihttpboot' => 'not a url %%',
654-
],
655-
async: false,
656-
);
648+
$dhcp_server = new DHCPServer(id: 'lan', async: false);
649+
$dhcp_server->netboot->value = true;
650+
$dhcp_server->uefihttpboot->value = 'not a url %%';
657651
$dhcp_server->validate();
658652
},
659653
);

0 commit comments

Comments
 (0)