Viewing File: /usr/local/cpanel/3rdparty/wpinstaller/tests/CpanelApiTest.php

<?php
declare(strict_types=1);

final class CpanelApiTest extends PHPUnit\Framework\TestCase {

    private $cpapi;

    public function setUp () {
        $this->cpapi = new \WpInstaller\CpanelApi();
    }

    public function testGetDatabaseServerHost() {
        $resp = $this->cpapi->get_server_host();

        $this->assertInternalType('string', $resp, 'get_server_host returned a string');
        $this->assertNotEmpty($resp, 'get_server_host returned string is not empty');
    }

    public function testuserLifecycleMethods() {
        $uname = 'unittest_creuser';

        // Test create
        $resp = $this->cpapi->create_user($uname, 'mYpas2^1D');
        $this->assertEquals($resp->status, 1, 'create_user status key value is 1');

        // Test delete
        $resp = $this->cpapi->delete_user($uname);
        $this->assertEquals($resp->status, 1, 'delete_user status key value is 1');
    }

    public function testDatabaseLifecycleMethods() {
        $dbname = 'unittest_cre_db';

        // Test create
        $resp = $this->cpapi->create_database($dbname);
        $this->assertEquals($resp->status, 1, 'create_database status key value is 1');

        // Test setting user privs
        $uname = 'unittest_credbus';
        $resp = $this->cpapi->create_user($uname, 'mYpas2^1D');
        $this->assertEquals($resp->status, 1, 'successfully created user for testing');

        $resp = $this->cpapi->set_user_privs($uname, $dbname, 'ALL');
        $this->assertEquals($resp->status, 1, 'set_user_privs status key value is 1');

        // Good manners to delete the test user
        $this->cpapi->delete_user($uname);

        // Test delete
        $resp = $this->cpapi->delete_database($dbname);
        $this->assertEquals($resp->status, 1, 'delete_database status key value is 1');
    }
}
Back to Directory File Manager