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.

77 lines
2.5 KiB
PHP

<?php
// Copyright 1999-2021. Plesk International GmbH.
namespace PleskXTest;
use PleskXTest\Utility\KeyLimitChecker;
use PleskXTest\Utility\PasswordProvider;
class ResellerTest extends TestCase
{
private $_resellerProperties;
public function setUp(): void
{
$this->_resellerProperties = [
'pname' => 'John Reseller',
'login' => 'reseller-unit-test',
'passwd' => PasswordProvider::STRONG_PASSWORD,
];
}
public function testCreate()
{
$reseller = static::$_client->reseller()->create($this->_resellerProperties);
$this->assertIsInt($reseller->id);
$this->assertGreaterThan(0, $reseller->id);
static::$_client->reseller()->delete('id', $reseller->id);
}
public function testDelete()
{
$reseller = static::$_client->reseller()->create($this->_resellerProperties);
$result = static::$_client->reseller()->delete('id', $reseller->id);
$this->assertTrue($result);
}
public function testGet()
{
$reseller = static::$_client->reseller()->create($this->_resellerProperties);
$resellerInfo = static::$_client->reseller()->get('id', $reseller->id);
$this->assertEquals('John Reseller', $resellerInfo->personalName);
$this->assertEquals('reseller-unit-test', $resellerInfo->login);
$this->assertGreaterThan(0, count($resellerInfo->permissions));
static::$_client->reseller()->delete('id', $reseller->id);
}
public function testGetAll()
{
$keyInfo = static::$_client->server()->getKeyInfo();
if (!KeyLimitChecker::checkByType($keyInfo, KeyLimitChecker::LIMIT_RESELLERS, 2)) {
$this->markTestSkipped('License does not allow to create more than 1 reseller.');
}
static::$_client->reseller()->create([
'pname' => 'John Reseller',
'login' => 'reseller-a',
'passwd' => PasswordProvider::STRONG_PASSWORD,
]);
static::$_client->reseller()->create([
'pname' => 'Mike Reseller',
'login' => 'reseller-b',
'passwd' => PasswordProvider::STRONG_PASSWORD,
]);
$resellersInfo = static::$_client->reseller()->getAll();
$this->assertCount(2, $resellersInfo);
$this->assertEquals('John Reseller', $resellersInfo[0]->personalName);
$this->assertEquals('reseller-a', $resellersInfo[0]->login);
static::$_client->reseller()->delete('login', 'reseller-a');
static::$_client->reseller()->delete('login', 'reseller-b');
}
}