0
0
mirror of https://github.com/postfixadmin/postfixadmin.git synced 2024-09-19 19:22:14 +02:00
postfixadmin/tests/RemoteTest.php
Christian Boltz eb6e7e0709 model/*, tests/*:
- added a vim: comment for tab expansion etc.


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@628 a1433add-5e2c-0410-b055-b7f2511e0802
2009-04-15 21:54:18 +00:00

85 lines
3.0 KiB
PHP

<?php
require_once('common.php');
require_once('simpletest/unit_tester.php');
require_once('Zend/XmlRpc/Client.php');
require_once('Zend/Http/Client.php');
require_once('Zend/Registry.php');
class RemoteTest extends UnitTestCase {
protected $server_url = 'http://orange/david/postfixadmin/trunk/xmlrpc.php';
protected $username = 'roger@example.com';
protected $password = 'patchthedog';
/* xmlrpc objects... */
protected $user;
protected $vacation;
protected $alias;
public function __construct() {
parent::__construct();
}
public function setUp() {
parent::setUp();
// ensure a user exists as per the above...
$table_vacation = table_by_key('vacation');
$table_alias = table_by_key('alias');
$table_mailbox = table_by_key('mailbox');
$table_domain = table_by_key('domain');
$username = escape_string($this->username);
$password = escape_string(pacrypt($this->password));
db_query("DELETE FROM $table_vacation WHERE email = '$username'");
db_query("DELETE FROM $table_alias WHERE domain = 'example.com'");
db_query("DELETE FROM $table_mailbox WHERE domain = 'example.com'");
db_query("DELETE FROM $table_domain WHERE domain = 'example.com'");
// create new db records..
$result = db_query("INSERT INTO $table_domain (domain, aliases, mailboxes) VALUES ('example.com', 100, 100)");
if($result['rows'] != 1) {
die("Failed to add domain to db....");
}
$result = db_query("INSERT INTO $table_mailbox (username, password, name, local_part, domain) VALUES ('$username', '$password', 'test user', 'roger', 'example.com')");
if($result['rows'] != 1) {
die("Failed to add user to db....");
}
$result = db_query("INSERT INTO $table_alias (address, goto, domain) VALUES ('$username', '$username', 'example.com')");
if($result['rows'] != 1) {
die("Failed to add alias to db....");
}
try {
$this->xmlrpc_client = new Zend_XmlRpc_Client($this->server_url);
$http_client = $this->xmlrpc_client->getHttpClient();
$http_client->setCookieJar();
$login_object = $this->xmlrpc_client->getProxy('login');
$success = $login_object->login($this->username, $this->password);
if(!$success) {
var_dump($success);
die("Failed to login to xmlrpc interface");
}
$this->user = $this->xmlrpc_client->getProxy('user');
$this->alias = $this->xmlrpc_client->getProxy('alias');
$this->vacation = $this->xmlrpc_client->getProxy('vacation');
}
catch(Exception $e) {
var_dump($e);
var_dump($this->xmlrpc_client->getHttpClient()->getLastResponse()->getBody());
die("Error setting up..");
}
}
}
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */