You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
postfixadmin/tests/RemoteVacationTest.php

82 lines
2.4 KiB
PHTML

<?php
/**
* Test for Postfixadmin - remote vacation stuff
*
* @package tests
*/
require_once('RemoteTest.php');
class RemoteVacationTest extends RemoteTest {
public function __construct() {
parent::__construct();
global $CONF;
// Ensure config.inc.php is vaguely correct.
if($CONF['vacation'] != 'YES' || $CONF['vacation_control'] != "YES") {
die("Cannot run tests; vacation not enabled - see config.inc.php");
}
if($CONF['vacation_domain'] != 'autoreply.example.com') {
die("Cannot run tests; vacation_domain is not set to autoreply.example.com - see config.inc.php");
}
}
/**
* Adds the test recipient data to the database.
*/
public function setUp() {
parent::setUp();
}
public function tearDown() {
parent::tearDown();
}
public function testIsVacationSupported() {
try {
$this->assertTrue($this->vacation->isVacationSupported());
}
catch(Exception $e){
var_dump($e);
var_dump($this->xmlrpc_client->getHttpClient()->getLastResponse()->getBody());
die("fail..");
}
}
public function testCheckVacation() {
$this->assertFalse($this->vacation->checkVacation());
}
public function testGetDetails() {
$details = $this->vacation->getDetails();
$this->assertFalse($details); // empty by default (thansk to tearDown/setUp);
}
public function testSetAway() {
try {
$this->assertFalse($this->vacation->checkVacation());
$this->assertTrue($this->vacation->setAway('zzzz', 'aaaa'));
$this->assertTrue($this->vacation->checkVacation());
}
catch(Exception $e) {
var_dump($this->xmlrpc_client->getHttpClient()->getLastResponse()->getBody());
}
$details = $this->vacation->getDetails();
$this->assertEqual($details['subject'], 'zzzz');
$this->assertEqual($details['body'], 'aaaa');
$this->vacation->remove();
$details = $this->vacation->getDetails();
$this->assertEqual($details['subject'], 'zzzz');
$this->assertEqual($details['body'], 'aaaa');
$this->vacation->setAway('subject', 'body');
$details = $this->vacation->getDetails();
$this->assertEqual($details['subject'], 'subject');
$this->assertEqual($details['body'], 'body');
}
}