52 lines
1.7 KiB
PHP
52 lines
1.7 KiB
PHP
|
<?php
|
||
|
|
||
|
/** @noinspection PhpUnhandledExceptionInspection */
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace Tests\Feature;
|
||
|
|
||
|
use PhpMqtt\Client\Exceptions\ClientNotConnectedToBrokerException;
|
||
|
use PhpMqtt\Client\MqttClient;
|
||
|
use Tests\TestCase;
|
||
|
|
||
|
/**
|
||
|
* Tests that the client throws an exception if not connected.
|
||
|
*
|
||
|
* @package Tests\Feature
|
||
|
*/
|
||
|
class ActionsWithoutActiveConnectionTest extends TestCase
|
||
|
{
|
||
|
public function test_throws_exception_when_message_is_published_without_connecting_to_broker(): void
|
||
|
{
|
||
|
$client = new MqttClient($this->mqttBrokerHost, $this->mqttBrokerPort, 'test-not-connected');
|
||
|
|
||
|
$this->expectException(ClientNotConnectedToBrokerException::class);
|
||
|
$client->publish('foo/bar', 'baz');
|
||
|
}
|
||
|
|
||
|
public function test_throws_exception_when_topic_is_subscribed_without_connecting_to_broker(): void
|
||
|
{
|
||
|
$client = new MqttClient($this->mqttBrokerHost, $this->mqttBrokerPort, 'test-not-connected');
|
||
|
|
||
|
$this->expectException(ClientNotConnectedToBrokerException::class);
|
||
|
$client->subscribe('foo/bar', fn () => true);
|
||
|
}
|
||
|
|
||
|
public function test_throws_exception_when_topic_is_unsubscribed_without_connecting_to_broker(): void
|
||
|
{
|
||
|
$client = new MqttClient($this->mqttBrokerHost, $this->mqttBrokerPort, 'test-not-connected');
|
||
|
|
||
|
$this->expectException(ClientNotConnectedToBrokerException::class);
|
||
|
$client->unsubscribe('foo/bar');
|
||
|
}
|
||
|
|
||
|
public function test_throws_exception_when_disconnecting_without_connecting_to_broker_first(): void
|
||
|
{
|
||
|
$client = new MqttClient($this->mqttBrokerHost, $this->mqttBrokerPort, 'test-not-connected');
|
||
|
|
||
|
$this->expectException(ClientNotConnectedToBrokerException::class);
|
||
|
$client->disconnect();
|
||
|
}
|
||
|
}
|