Skip to content

Commit 8aadbfd

Browse files
committed
increase test coverage
1 parent eb57509 commit 8aadbfd

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

tests/OpenTokTest/Validators/ValidatorsTest.php

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace OpenTokTest\Validators;
44

55
use OpenTok\Exception\InvalidArgumentException;
6+
use OpenTok\Util\Client;
67
use OpenTok\Util\Validators;
78
use PHPUnit\Framework\TestCase;
89

@@ -219,6 +220,72 @@ public function testInvalidLayoutClassListType(): void
219220

220221
Validators::validateLayoutClassListItem($layoutClassList);
221222
}
223+
public function testValidateClient(): void
224+
{
225+
$client = new Client();
226+
Validators::validateClient($client);
227+
228+
// No exception, which was the test so fake a pass
229+
$this->assertTrue(true);
230+
}
231+
232+
public function testExceptionOnInvalidClient(): void
233+
{
234+
$this->expectException(\InvalidArgumentException::class);
235+
$client = new \stdClass();
236+
Validators::validateClient($client);
237+
}
238+
239+
public function testThrowsErrorOnInvalidStreamMode(): void
240+
{
241+
$this->expectException(\InvalidArgumentException::class);
242+
$streamMode = ['auto'];
243+
Validators::validateHasStreamMode($streamMode);
244+
}
245+
246+
public function testValidateSignalPayload(): void
247+
{
248+
$validPayload = ['type' => 'signal_type', 'data' => 'signal_data'];
249+
$this->assertNull(Validators::validateSignalPayload($validPayload));
250+
251+
$invalidDataPayload = ['type' => 'signal_type', 'data' => 123];
252+
$this->expectException(InvalidArgumentException::class);
253+
$this->expectExceptionMessage("Signal Payload cannot be null:");
254+
Validators::validateSignalPayload($invalidDataPayload);
255+
256+
$invalidTypePayload = ['type' => null, 'data' => 'signal_data'];
257+
$this->expectException(InvalidArgumentException::class);
258+
$this->expectExceptionMessage("Signal Payload cannot be null:");
259+
Validators::validateSignalPayload($invalidTypePayload);
260+
261+
// Invalid payload: both type and data are null
262+
$invalidBothPayload = ['type' => null, 'data' => null];
263+
$this->expectException(InvalidArgumentException::class);
264+
$this->expectExceptionMessage("Signal Payload cannot be null:");
265+
Validators::validateSignalPayload($invalidBothPayload);
266+
}
267+
268+
/**
269+
* @dataProvider connectionIdProvider
270+
*/
271+
public function testConnectionId($input, $expectException): void
272+
{
273+
if ($expectException) {
274+
$this->expectException(\InvalidArgumentException::class);
275+
}
276+
277+
Validators::validateConnectionId($input);
278+
$this->assertTrue(true);
279+
}
280+
281+
public function connectionIdProvider(): array
282+
{
283+
return [
284+
[['this' => 'is not a string'], true],
285+
['', true],
286+
['valid_connection_string', false]
287+
];
288+
}
222289

223290
public function resolutionProvider(): array
224291
{

0 commit comments

Comments
 (0)