File: RemoteTest.php

package info (click to toggle)
postfixadmin 2.3.5-2%2Bdeb7u1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 6,200 kB
  • sloc: php: 25,767; xml: 14,485; perl: 964; sh: 664; python: 169; makefile: 84
file content (84 lines) | stat: -rw-r--r-- 3,039 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?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: */