mqttclient_author/tests/AppManagerTest.php

98 lines
2.9 KiB
PHP

<?php
namespace cn\com\maiyoule\mqttclient\test;
use cn\com\maiyoule\mqttclient\biz\AppUpdateCallbackRequest;
use cn\com\maiyoule\mqttclient\biz\AppUserCreateRequest;
use cn\com\maiyoule\mqttclient\biz\AppUserDeleteRequest;
use cn\com\maiyoule\mqttclient\biz\AppUserUpdateRequest;
use cn\com\maiyoule\mqttclient\exception\ApiException;
use cn\com\maiyoule\mqttclient\AuthorServerClient;
use GuzzleHttp\Exception\GuzzleException;
use PHPUnit\Framework\Assert;
use PHPUnit\Framework\TestCase;
class AppManagerTest extends TestCase
{
private AuthorServerClient $manager;
protected function setUp(): void
{
$this->manager = new AuthorServerClient();
$this->manager->setAppId('6N6QPV2FYD');
$this->manager->setPrivateKey(file_get_contents(__DIR__ . '/prikey.pem'));
$this->manager->setApi('https://mqttauthor_dev.maiyoule.com.cn/api/');
$this->manager->setDebug(true);
}
public function testAdmin()
{
$request = new AppUserCreateRequest();
$request->setPassword('123');
$request->setRole('admin');
$request->setBiz('ch');
$biz = $this->manager->exec($request);
$this->assertTrue($biz->isSuccess(), $biz->getMessage());
}
public function testRunUser()
{
try {
$request = new AppUserCreateRequest();
$request->setPassword('111');
$request->setFettle('');
$request->setRole('admin');
$request->setBiz(['ch', 'ws']);
$biz = $this->manager->exec($request);
if (!$biz->isSuccess()) {
$this->fail($biz->getMessage());
}
$data = $biz->getData();
//更改
$username = $data['username'];
$request = new AppUserUpdateRequest();
$request->setUsername($username);
$request->setPassword('123');
$request->setState(false);
$request->setRole('user');
$request->setBiz(['ch']);
$biz = $this->manager->exec($request);
if (!$biz->isSuccess()) {
$this->fail($biz->getMessage());
}
$data = $biz->getData();
//print_r($data);
//删除
$request = new AppUserDeleteRequest();
$request->setUsername($username);
$biz = $this->manager->exec($request);
$this->assertTrue($biz->isSuccess(), $biz->getMessage());
} catch (ApiException $e) {
$this->fail($e->getMessage());
}
}
public function testUpdateAppUrl()
{
$request = new AppUpdateCallbackRequest();
$request->setUrl('http://202.200.18.46:8000/api.php');
try {
$biz = $this->manager->exec($request);
$this->assertTrue($biz->isSuccess(), $biz->getMessage());
} catch (GuzzleException|ApiException $e) {
$this->fail($e->getMessage());
}
}
}