Exercise selector validation in a fresh OPNsense VM

This commit is contained in:
ms2k 2026-08-07 04:07:29 +09:00
commit b6a8e185d8

View file

@ -18,6 +18,27 @@ local_user_set_password($root, $password);
local_user_set($root, true);
write_config('Set disposable WebGUI test password');
$aliases = new Alias();
$existing = [];
foreach ($aliases->aliases->alias->iterateItems() as $alias) {
$existing[(string)$alias->name] = true;
}
foreach (['UI_TEST_NETWORK', 'UI_TEST_NETWORK_TWO'] as $name) {
if (isset($existing[$name])) {
continue;
}
$alias = $aliases->aliases->alias->add();
$alias->setNodes([
'enabled' => '1',
'name' => $name,
'type' => 'network',
'proto' => 'IPv4',
'content' => $name === 'UI_TEST_NETWORK' ? '192.0.2.0/24' : '198.51.100.0/24',
]);
}
$aliases->serializeToConfig();
Config::getInstance()->save(['description' => 'Add synthetic UI test aliases']);
$users = Config::getInstance()->object()->system->user;
foreach ($users as $user) {
if ((string)$user->name === 'root' && password_verify($password, (string)$user->password)) {
@ -31,20 +52,3 @@ exec('/usr/local/sbin/configctl webgui restart', $output, $status);
if ($status !== 0) {
throw new RuntimeException('The WebGUI did not restart.');
}
$aliases = new Alias();
foreach ($aliases->aliases->alias->iterateItems() as $alias) {
if ((string)$alias->name === 'UI_TEST_NETWORK') {
return;
}
}
$alias = $aliases->aliases->alias->add();
$alias->setNodes([
'enabled' => '1',
'name' => 'UI_TEST_NETWORK',
'type' => 'network',
'proto' => 'IPv4',
'content' => '192.0.2.0/24',
]);
$aliases->serializeToConfig();
Config::getInstance()->save(['description' => 'Add synthetic UI test alias']);