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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
<?php
class DomainHandlerTest extends \PHPUnit\Framework\TestCase
{
public function testBasic()
{
$x = new DomainHandler();
$list = $x->getList("");
$this->assertTrue($list);
$results = $x->result();
$this->assertEmpty($results);
}
public function testAddAndUpdate()
{
// Fake being an admin.
$_SESSION = [
'sessid' => [
'roles' => ['global-admin']
]
];
// Add example.com
$username = 'admin';
$domain = 'example.com';
$dh = new DomainHandler(1, $username, true);
$dh->init($domain);
$ret = $dh->set(
[
'domain' => $domain,
'description' => 'test domain',
'aliases' => 11,
'mailboxes' => 12,
'active' => 1,
'backupmx' => 0,
'default_aliases' => 1
]
);
$this->assertEmpty($dh->errormsg);
$this->assertEmpty($dh->infomsg);
$this->assertTrue($ret);
$ret = $dh->save();
$this->assertTrue($ret);
// Need to add 'admin' as a domain_admin
db_insert('domain_admins', ['username' => $username, 'domain' => $domain, 'created' => '2020-01-01', 'active' => 1], ['created'], true);
$dh = new DomainHandler(0, $username, true);
$dh->getList('');
$result = $dh->result();
$this->assertEmpty($dh->infomsg);
$this->assertEmpty($dh->errormsg);
$this->assertNotEmpty($result);
$expected = [
'domain' => $domain,
'description' => 'test domain',
'aliases' => 11,
'alias_count' => 4,
'mailboxes' => 12,
'mailbox_count' => 0,
'backupmx' => 0,
'active' => 1,
];
foreach ($expected as $k => $v) {
$this->assertEquals($v, $result[$domain][$k]);
}
// perform some token update
$dh = new DomainHandler(0, 'admin', true);
$dh->init($domain);
$ret = $dh->set(
[
//'domain' => 'example.com',
'aliases' => 99,
'mailboxes' => 88,
'backupmx' => 0,
'active' => 1,
]
);
$this->assertTrue($ret);
$this->assertTrue($dh->save());
$this->assertEmpty($dh->errormsg);
$dh->getList('');
$d = $dh->result()[$domain];
$this->assertEquals(99, $d['aliases']);
$this->assertEquals(88, $d['mailboxes']);
}
}
|