file = stream_get_meta_data($tmpFile)['uri']; fclose($tmpFile); $tmpFile = fopen($this->file, 'w+'); fwrite($tmpFile, "\n"); fclose($tmpFile); $this->conf = new LAMCfgMain($this->file); } /** * Cleans up the environment after running a test. */ protected function tearDown(): void { $this->conf = null; //unlink($this->file); } /** * Mail related settings */ public function testMail() { $this->conf->mailServer = 'server:123'; $this->conf->mailPassword = 'pwd123'; $this->conf->mailUser = 'user123'; $this->conf->save(); $this->conf = new LAMCfgMain($this->file); $this->assertEquals('server:123', $this->conf->mailServer); $this->assertEquals('pwd123', $this->conf->mailPassword); $this->assertEquals('user123', $this->conf->mailUser); } /** * License related settings. */ public function testLicense() { $timestamp = '12345'; $this->assertEquals(LAMCfgMain::LICENSE_WARNING_SCREEN, $this->conf->getLicenseWarningType()); $this->assertFalse($this->conf->wasLicenseWarningSent($timestamp)); $this->conf->licenseEmailTo = 'TO'; $this->conf->licenseEmailFrom = 'FROM'; $this->conf->licenseWarningType = LAMCfgMain::LICENSE_WARNING_ALL; $this->conf->setLicenseLines(array('123', '456')); $this->conf->licenseEmailDateSent = $timestamp; $this->conf->save(); $this->conf = new LAMCfgMain($this->file); $this->assertEquals('TO', $this->conf->licenseEmailTo); $this->assertEquals('FROM', $this->conf->licenseEmailFrom); $this->assertEquals($timestamp, $this->conf->licenseEmailDateSent); $this->assertTrue($this->conf->wasLicenseWarningSent($timestamp)); $this->assertEquals(LAMCfgMain::LICENSE_WARNING_ALL, $this->conf->licenseWarningType); $this->assertEquals(array('123', '456'), $this->conf->getLicenseLines()); } /** * License warning type related settings. */ public function testLicenseWarningTypes() { $this->conf->licenseWarningType = LAMCfgMain::LICENSE_WARNING_ALL; $this->assertTrue($this->conf->sendLicenseWarningByEmail()); $this->assertTrue($this->conf->showLicenseWarningOnScreen()); $this->conf->licenseWarningType = LAMCfgMain::LICENSE_WARNING_EMAIL; $this->assertTrue($this->conf->sendLicenseWarningByEmail()); $this->assertFalse($this->conf->showLicenseWarningOnScreen()); $this->conf->licenseWarningType = LAMCfgMain::LICENSE_WARNING_SCREEN; $this->assertFalse($this->conf->sendLicenseWarningByEmail()); $this->assertTrue($this->conf->showLicenseWarningOnScreen()); $this->conf->licenseWarningType = LAMCfgMain::LICENSE_WARNING_NONE; $this->assertFalse($this->conf->sendLicenseWarningByEmail()); $this->assertFalse($this->conf->showLicenseWarningOnScreen()); } /** * Tests the export. */ public function testExportData() { $this->conf->passwordMinLower = 3; $this->conf->sessionTimeout = 240; $this->conf->logLevel = LOG_ERR; $this->conf->mailServer = 'mailserver'; $data = $this->conf->exportData(); $this->assertEquals(3, $data['passwordMinLower']); $this->assertEquals(240, $data['sessionTimeout']); $this->assertEquals(LOG_ERR, $data['logLevel']); $this->assertEquals('mailserver', $data['mailServer']); } /** * Tests the import. */ public function testImportData() { $importData = array(); $importData['passwordMinLower'] = 3; $importData['sessionTimeout'] = 240; $importData['logLevel'] = LOG_ERR; $importData['mailServer'] = 'mailserver'; $this->conf->importData($importData); $this->assertEquals(3, $this->conf->passwordMinLower); $this->assertEquals(240, $this->conf->sessionTimeout); $this->assertEquals(LOG_ERR, $this->conf->logLevel); $this->assertEquals('mailserver', $this->conf->mailServer); } /** * Tests the import with invalid data. */ public function testImportData_invalid() { $importData = array(); $importData['passwordMinLower'] = 3; $importData['sessionTimeout'] = 240; $importData['logLevel'] = LOG_ERR; $importData['mailServer'] = new LAMLanguage('de_de', 'UTF-8', 'DE'); $this->expectException(LAMException::class); $this->conf->importData($importData); } }