From 104d5f02f894be47b43e4403d3a0d4f84ab740f9 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 18 Feb 2026 11:59:02 +0100 Subject: [PATCH] mvc: CertificateField: same as 870692c154f It's time to create a ticket for generalisation because now resetStaticOptionList() is declared in two places also hinting at a shared functionality in BaseListField. --- .../Base/FieldTypes/CertificateField.php | 8 ++++ .../Base/FieldTypes/CertificateFieldTest.php | 47 ++++++++++--------- .../Base/FieldTypes/InterfaceFieldTest.php | 3 +- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CertificateField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CertificateField.php index 2e32ea5c04..2684d9bec8 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CertificateField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CertificateField.php @@ -89,4 +89,12 @@ class CertificateField extends BaseListField } $this->internalOptionList = self::$internalStaticOptionList[$this->certificateType]; } + + /** + * purging state for testing because caching is too persistent + */ + public function resetStaticOptionList() + { + self::$internalStaticOptionList = []; + } } diff --git a/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php b/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php index 5e5903241b..928f05a8c6 100644 --- a/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php +++ b/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php @@ -1,31 +1,29 @@ assertInstanceOf('\OPNsense\Base\FieldTypes\CertificateField', new CertificateField()); + $field = new CertificateField(); + $this->assertInstanceOf('\OPNsense\Base\FieldTypes\CertificateField', $field); + $field->resetStaticOptionList(); + // switch config to test set for this type (new AppConfig())->update('application.configDir', __DIR__ . '/CertificateFieldTest'); Config::getInstance()->forceReload(); diff --git a/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php b/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php index 7bdc3adb6d..33b897980c 100644 --- a/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php +++ b/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php @@ -46,8 +46,9 @@ class InterfaceFieldTest extends Field_Framework_TestCase public function testCanBeCreated() { $field = new InterfaceField(); - $field->resetStaticOptionList(); $this->assertInstanceOf('\OPNsense\Base\FieldTypes\InterfaceField', $field); + $field->resetStaticOptionList(); + // switch config to test set for this type (new AppConfig())->update('application.configDir', __DIR__ . '/InterfaceFieldTest'); Config::getInstance()->forceReload();