diff --git a/Makefile b/Makefile index a6f5631175..5acea5f577 100644 --- a/Makefile +++ b/Makefile @@ -363,19 +363,13 @@ migrate: validate: @${PLUGINCTL} -v -# XXX we should stop treating AclConfig dir as the test's actual /conf dir -TEST_NO_CLOBBER= ${TESTDIR}/app/models/OPNsense/ACL/AclConfig/config.xml - test: .if exists(${TESTDIR}) @if [ "$$(${VERSIONBIN} -v)" != "${CORE_PKGVERSION}" ]; then \ echo "Installed version does not match, expected ${CORE_PKGVERSION}"; \ exit 1; \ fi - @cd ${TESTDIR} && cp ${TEST_NO_CLOBBER} ${TEST_NO_CLOBBER}.save && \ - phpunit || true; rm -rf ${TESTDIR}/.phpunit.result.cache \ - ${TESTDIR}/app/models/OPNsense/ACL/AclConfig/backup; \ - mv ${TEST_NO_CLOBBER}.save ${TEST_NO_CLOBBER} + @cd ${TESTDIR} && phpunit || true; rm -rf ${TESTDIR}/.phpunit.result.cache .endif clean: clean-pkgdir clean-wrksrc clean-mfcdir checkout diff --git a/plist b/plist index 7b0fad5ed4..8fc92da482 100644 --- a/plist +++ b/plist @@ -1036,6 +1036,7 @@ /usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModel/Migrations/M1_0_1.php /usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModel/TestModel.php /usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModel/TestModel.xml +/usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelConfig/backup/config.xml /usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php /usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/Constraints/ComparedToFieldConstraintTest.php /usr/local/opnsense/mvc/tests/app/models/OPNsense/Base/Constraints/UniqueConstraintTest.php diff --git a/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelConfig/backup/config.xml b/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelConfig/backup/config.xml new file mode 100644 index 0000000000..025d577212 --- /dev/null +++ b/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelConfig/backup/config.xml @@ -0,0 +1,8 @@ + + + + (system) + /usr/local/bin/phpunit made changes + + + diff --git a/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php b/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php index 062c426dee..092a0b7a4b 100644 --- a/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php +++ b/src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php @@ -1,33 +1,34 @@ object()->tests) && - !empty(Config::getInstance()->object()->tests->OPNsense) && - !empty(Config::getInstance()->object()->tests->OPNsense->TestModel) - ) { - Config::getInstance()->object()->tests->OPNsense->TestModel['version'] = '0.0.0'; - Config::getInstance()->object()->tests->OPNsense->TestModel->general->FromEmail = "sample@example.com"; - } - BaseModelTest::$model = new BaseModel\TestModel(); - $this->assertEquals((string)BaseModelTest::$model->general->FromEmail, 'sample@example.com'); + array_map('unlink', glob(__DIR__ . '/BaseModelConfig/backup/config-*.xml')); + @unlink(__DIR__ . '/BaseModelConfig/config.xml'); } - /** - * @depends testResetConfig - */ public function testCanBeCreated() { + BaseModelTest::cleanupTestFiles(); + + (new AppConfig())->update('application.configDir', __DIR__ . '/BaseModelConfig'); + Config::getInstance()->forceReload(); + BaseModelTest::$model = new BaseModel\TestModel(); $this->assertInstanceOf('tests\OPNsense\Base\BaseModel\TestModel', BaseModelTest::$model); } @@ -411,4 +405,12 @@ class BaseModelTest extends \PHPUnit\Framework\TestCase "xxx" ); } + + /** + * @afterClass + */ + public static function postCleanup() + { + BaseModelTest::cleanupTestFiles(); + } }