| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/vendor/ably/ably-php/tests/ |
Upload File : |
<?php
namespace tests;
use Ably\AblyRest;
use Ably\Exceptions\AblyRequestException;
use InvalidArgumentException;
require_once __DIR__ . '/factories/TestApp.php';
class PushAdminTest extends \PHPUnit\Framework\TestCase {
protected static $testApp;
protected static $defaultOptions;
protected static $ably;
public static function setUpBeforeClass(): void {
self::$testApp = new TestApp();
self::$defaultOptions = self::$testApp->getOptions();
self::$ably = new AblyRest( array_merge( self::$defaultOptions, [
'key' => self::$testApp->getAppKeyDefault()->string,
] ) );
}
public static function tearDownAfterClass(): void {
self::$testApp->release();
}
/**
* RSH1a
*/
public function testAdminPublish() {
$channelName = 'pushenabled:push_admin_publish-ok';
$recipient = [
'transportType' => 'ablyChannel',
'channel' => $channelName,
'ablyKey' => self::$ably->options->key,
'ablyUrl' => self::$testApp->server
];
$data = [ 'data' => [ 'foo' => 'bar' ] ];
self::$ably->push->admin->publish( $recipient, $data , true );
sleep(5); // It takes some time for the message to show up in the history
$channel = self::$ably->channel($channelName);
$history = $channel->history();
$this->assertEquals( 1, count($history->items), 'Expected 1 message' );
}
public function badValues() {
$recipient = [ 'clientId' => 'ablyChannel' ];
$data = [ 'data' => [ 'foo' => 'bar' ] ];
return [
[ [], $data ],
[ $recipient, [] ],
];
}
/**
* @dataProvider badValues
*/
public function testAdminPublishInvalid($recipient, $data) {
$this->expectException(InvalidArgumentException::class);
self::$ably->push->admin->publish( $recipient, $data );
}
public function errorValues() {
$recipient = [ 'clientId' => 'ablyChannel' ];
$data = [ 'data' => [ 'foo' => 'bar' ] ];
return [
[ $recipient, [ 'xxx' => 25 ] ],
];
}
/**
* @dataProvider errorValues
*/
public function testAdminPublishError($recipient, $data) {
$this->expectException(AblyRequestException::class);
self::$ably->push->admin->publish( $recipient, $data );
}
}