Skip to content

Commit faaabca

Browse files
author
Amin
committed
remove mockery dependency
1 parent 4fbaab4 commit faaabca

File tree

7 files changed

+49
-128
lines changed

7 files changed

+49
-128
lines changed

composer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
"require-dev": {
3838
"phpunit/php-code-coverage": "11.0.x-dev",
3939
"phpunit/phpunit": "^11.3",
40-
"mockery/mockery": "^1.6",
4140
"symfony/phpunit-bridge": "7.3.x-dev"
4241
},
4342
"autoload": {

tests/RTCDtlsTransportMock.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
class RTCDtlsTransportMock implements RTCRTPDtlsTransportInterface
1414
{
15+
private array $rtcpPackets = [];
1516

1617
public function getState(): TLSState
1718
{
@@ -35,7 +36,7 @@ public function removeRtpReceiver(RtpReceiverInterface $receiver): void
3536

3637
public function sendRtcp(string $data): void
3738
{
38-
// TODO: Implement sendRtcp() method.
39+
$this->rtcpPackets[] = $data;
3940
}
4041

4142
public function setRtpSender(RtpSenderInterface $sender, RTCRtpSendParameters $parameters): void
@@ -52,4 +53,14 @@ public function sendRtp(string $data): void
5253
{
5354
// TODO: Implement sendRtp() method.
5455
}
56+
57+
public function getRtcpPackets(): array
58+
{
59+
return $this->rtcpPackets;
60+
}
61+
62+
public function resetRtcpPackets(): void
63+
{
64+
$this->rtcpPackets = [];
65+
}
5566
}

tests/RTCRtpTransceiverTest.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Tests\Webrtc\RTP;
44

5-
use Mockery;
65
use PHPUnit\Framework\Attributes\CoversClass;
76
use PHPUnit\Framework\TestCase;
87
use Webrtc\Exception\InvalidArgumentException;
@@ -15,8 +14,8 @@
1514
#[CoversClass(RTCRtpTransceiver::class)]
1615
class RTCRtpTransceiverTest extends TestCase {
1716
public function testCodecPreferences(): void {
18-
$rtpSenderMock = Mockery::mock(RTCRtpSender::class);
19-
$rtpReceiverMock = Mockery::mock(RTCRtpReceiver::class);
17+
$rtpSenderMock = $this->getMockBuilder(RTCRtpSender::class)->disableOriginalConstructor()->getMock();
18+
$rtpReceiverMock = $this->getMockBuilder(RTCRtpReceiver::class)->disableOriginalConstructor()->getMock();
2019
$transceiver = new RTCRtpTransceiver(MediaKind::Audio, $rtpReceiverMock, $rtpSenderMock);
2120

2221
// Test initial state

tests/Receiver/RTCRtpReceiverTest.php

Lines changed: 18 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Tests\Webrtc\RTP\Receiver;
44

5-
use Mockery;
65
use PHPUnit\Framework\Attributes\CoversClass;
76
use PHPUnit\Framework\Attributes\UsesClass;
87
use PHPUnit\Framework\TestCase;
@@ -68,10 +67,7 @@ class RTCRtpReceiverTest extends TestCase
6867

6968
protected function setUp(): void
7069
{
71-
$this->transportMock = Mockery::mock(RTCDtlsTransportMock::class);
72-
$this->transportMock->shouldReceive('getState')->andReturn(TLSState::CONNECTED);
73-
$this->transportMock->shouldReceive('removeRtpReceiver');
74-
$this->transportMock->shouldReceive('getReportTransport')->andReturn(new RTCTransportStats(1));
70+
$this->transportMock = new RTCDtlsTransportMock();
7571
ClockMock::register(StreamStatistics::class);
7672
}
7773

@@ -136,9 +132,6 @@ public function testConnectionError()
136132
$receiver->setRtcpSsrc(1234);
137133
$rtpParametersAudio = $this->getRTCRtpReceiveParametersAudio();
138134

139-
$this->transportMock->shouldReceive('setRtpReceiver')
140-
->with($receiver, $rtpParametersAudio);
141-
142135
$receiver->start($rtpParametersAudio);
143136

144137
// Simulate receiving a packet
@@ -158,8 +151,6 @@ public function testRtpAndRtcp()
158151
$receiver->setRtcpSsrc(1234);
159152

160153
$rtpParametersAudio = $this->getRTCRtpReceiveParametersAudio();
161-
$this->transportMock->shouldReceive('setRtpReceiver')
162-
->with($receiver, $rtpParametersAudio);
163154

164155
$receiver->start($rtpParametersAudio);
165156

@@ -215,19 +206,11 @@ public function testRtpAndRtcp()
215206
public function testRtpMissingVideoPacket()
216207
{
217208
AVCodec::init(true);
218-
$rtcpPackets = [];
219-
$this->transportMock->shouldReceive('sendRtcp')
220-
->andReturnUsing(function (...$args) use (&$rtcpPackets) {
221-
$rtcpPackets[] = $args; // Store RTCP packets in an array
222-
return true;
223-
});
224-
209+
$this->transportMock->resetRtcpPackets();
225210
$receiver = new RTCRtpReceiver(MediaKind::Video, $this->transportMock);
226211
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
227212
$receiver->setRtcpSsrc(1234);
228213
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
229-
$this->transportMock->shouldReceive('setRtpReceiver')
230-
->with($receiver, $rtpParametersVideo);
231214
$receiver->start($rtpParametersVideo);
232215

233216
// Generate some packets
@@ -237,8 +220,8 @@ public function testRtpMissingVideoPacket()
237220
$receiver->handleRtpPacket($packets[0], 0);
238221
$receiver->handleRtpPacket($packets[128], 0);
239222

240-
$nacks = RtcpPacket::decode($rtcpPackets[0][0]);
241-
$pli = RtcpPacket::decode($rtcpPackets[1][0]);
223+
$nacks = RtcpPacket::decode($this->transportMock->getRtcpPackets()[0]);
224+
$pli = RtcpPacket::decode($this->transportMock->getRtcpPackets()[1]);
242225

243226
// Check NACK was triggered
244227
$lostPackets = range(1, 127);
@@ -256,8 +239,6 @@ public function testRtpEmptyVideoPacket()
256239
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
257240
assertEquals("video", $receiver->getKind()->value);
258241
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
259-
$this->transportMock->shouldReceive('setRtpReceiver')
260-
->with($receiver, $rtpParametersVideo);
261242
$receiver->start($rtpParametersVideo);
262243

263244
// Receive RTP with empty payload
@@ -273,8 +254,6 @@ public function testRtpInvalidPayload()
273254
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
274255
assertEquals("video", $receiver->getKind()->value);
275256
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
276-
$this->transportMock->shouldReceive('setRtpReceiver')
277-
->with($receiver, $rtpParametersVideo);
278257
$receiver->start($rtpParametersVideo);
279258

280259
// Receive RTP with empty payload
@@ -291,8 +270,6 @@ public function testRtpUnknownPayloadType()
291270
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
292271
assertEquals("video", $receiver->getKind()->value);
293272
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
294-
$this->transportMock->shouldReceive('setRtpReceiver')
295-
->with($receiver, $rtpParametersVideo);
296273
$receiver->start($rtpParametersVideo);
297274

298275
// Receive RTP with empty payload
@@ -308,8 +285,6 @@ public function testRtpDisabled()
308285
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
309286
assertEquals("video", $receiver->getKind()->value);
310287
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
311-
$this->transportMock->shouldReceive('setRtpReceiver')
312-
->with($receiver, $rtpParametersVideo);
313288
$receiver->start($rtpParametersVideo);
314289
$receiver->setEnabled(false);
315290
$this->assertFalse($receiver->isEnabled());
@@ -332,8 +307,6 @@ public function testRtpRtx()
332307
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
333308
assertEquals("video", $receiver->getKind()->value);
334309
$rtpParametersVideo = $this->getRTCRtpRtxReceiveParametersVideo();
335-
$this->transportMock->shouldReceive('setRtpReceiver')
336-
->with($receiver, $rtpParametersVideo);
337310
$receiver->start($rtpParametersVideo);
338311

339312
// Receive RTX with payload
@@ -358,8 +331,6 @@ public function testRtpRtxUnknownSsrc()
358331
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
359332
assertEquals("video", $receiver->getKind()->value);
360333
$rtpParametersVideo = $this->getRTCRtpRtxUnknownSsrcReceiveParametersVideo();
361-
$this->transportMock->shouldReceive('setRtpReceiver')
362-
->with($receiver, $rtpParametersVideo);
363334
$receiver->start($rtpParametersVideo);
364335

365336
// Receive RTX with payload
@@ -373,25 +344,18 @@ public function testRtpRtxUnknownSsrc()
373344

374345
public function testSendRtcpNack()
375346
{
376-
$rtcpPackets = [];
377-
$this->transportMock->shouldReceive('sendRtcp')
378-
->andReturnUsing(function (...$args) use (&$rtcpPackets) {
379-
$rtcpPackets[] = $args; // Store RTCP packets in an array
380-
return true;
381-
});
382-
347+
$this->transportMock->resetRtcpPackets();
383348
$receiver = new RTCRtpReceiver(MediaKind::Video, $this->transportMock);
384349
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
385350
$receiver->setRtcpSsrc(1234);
386351
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
387-
$this->transportMock->shouldReceive('setRtpReceiver')
388-
->with($receiver, $rtpParametersVideo);
352+
389353
$receiver->start($rtpParametersVideo);
390354

391355
// Send RTCP feedback NACK
392356
$receiver->sendRtcpNack(5678, [7654]);
393357

394-
$nacks = RtcpPacket::decode($rtcpPackets[0][0]);
358+
$nacks = RtcpPacket::decode($this->transportMock->getRtcpPackets()[0]);
395359

396360
// Check NACK was triggered
397361
$this->assertEquals([5678, [7654]], [$nacks[0]->getMediaSsrc(), $nacks[0]->getLost()]);
@@ -401,24 +365,16 @@ public function testSendRtcpNack()
401365

402366
public function testSendRtcpPli()
403367
{
404-
$rtcpPackets = [];
405-
$this->transportMock->shouldReceive('sendRtcp')
406-
->andReturnUsing(function (...$args) use (&$rtcpPackets) {
407-
$rtcpPackets[] = $args; // Store RTCP packets in an array
408-
return true;
409-
});
410-
368+
$this->transportMock->resetRtcpPackets();
411369
$receiver = new RTCRtpReceiver(MediaKind::Video, $this->transportMock);
412370
$receiver->setTrack(new RemoteStreamTrack(MediaKind::Video));
413371
$receiver->setRtcpSsrc(1234);
414372
$rtpParametersVideo = $this->getRTCRtpReceiveParametersVideo();
415-
$this->transportMock->shouldReceive('setRtpReceiver')
416-
->with($receiver, $rtpParametersVideo);
417373
$receiver->start($rtpParametersVideo);
418374

419375
// Send RTCP feedback PLI
420376
$receiver->sendRtcpPli(5678);
421-
$pli = RtcpPacket::decode($rtcpPackets[0][0]);
377+
$pli = RtcpPacket::decode($this->transportMock->getRtcpPackets()[0]);
422378

423379
$this->assertEquals(5678, $pli[0]->getMediaSsrc());
424380

@@ -427,8 +383,15 @@ public function testSendRtcpPli()
427383

428384
public function testInvalidDtlsTransportState()
429385
{
430-
$closedTransportMock = Mockery::mock(RTCDtlsTransportMock::class);
431-
$closedTransportMock->shouldReceive('getState')->once()->andReturn(TLSState::CLOSED);
386+
$closedTransportMock = $this->getMockBuilder(RTCDtlsTransportMock::class)
387+
->disableOriginalConstructor()
388+
->onlyMethods(['getState'])
389+
->getMock();
390+
391+
$closedTransportMock->expects($this->once())
392+
->method('getState')
393+
->willReturn(TLSState::CLOSED);
394+
432395
$this->expectException(InvalidArgumentException::class);
433396
new RTCRtpReceiver(MediaKind::Audio, $closedTransportMock);
434397
}
@@ -526,10 +489,5 @@ private function getRTCRtpRtxUnknownSsrcReceiveParametersVideo(): RTCRtpReceiveP
526489
new RTCRtpCodecParameters("video/rtx", 90000, 101, parameters: ["apt" => 100]),
527490
]);
528491
}
529-
530-
protected function tearDown(): void
531-
{
532-
Mockery::close();
533-
}
534492
}
535493

tests/RtpPacketTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
use Webrtc\RTP\HeaderExtension\HeaderExtensionsMap;
1111
use Webrtc\RTP\RtpPacket;
1212
use Webrtc\RTP\RtpUtility;
13+
use Webrtc\RTP\Sender\RTCRtpSender;
1314
use Webrtc\RTPParameter\RTCRtpHeaderExtensionParameters;
1415
use Webrtc\RTPParameter\RTCRtpParameters;
1516

1617
#[UsesClass(HeaderExtensions::class)]
1718
#[UsesClass(HeaderExtensionsMap::class)]
1819
#[UsesClass(RtpUtility::class)]
20+
#[UsesClass(RTCRtpSender::class)]
1921
#[CoversClass(RtpPacket::class)]
2022
class RtpPacketTest extends TestCase
2123
{

tests/RtpRouterTest.php

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Tests\Webrtc\RTP;
44

5-
use Mockery;
65
use PHPUnit\Framework\Attributes\CoversClass;
76
use PHPUnit\Framework\Attributes\UsesClass;
87
use Webrtc\Exception\InvalidArgumentException;
@@ -28,8 +27,8 @@ class RtpRouterTest extends TestCase
2827
{
2928
public function testRouteRtcp()
3029
{
31-
$rtpSenderMock = Mockery::mock(RTCRtpSender::class);
32-
$rtpReceiverMock = Mockery::mock(RTCRtpReceiver::class);
30+
$rtpSenderMock = $this->getMockBuilder(RTCRtpSender::class)->disableOriginalConstructor()->getMock();
31+
$rtpReceiverMock = $this->getMockBuilder(RTCRtpReceiver::class)->disableOriginalConstructor()->getMock();
3332

3433
$router = new RtpRouter();
3534
$router->setReceiver($rtpReceiverMock, [1234, 2345], [96, 97]);
@@ -83,8 +82,8 @@ public function testRouteRtcp()
8382

8483
public function testRouteRtp()
8584
{
86-
$rtpReceiverMock1 = Mockery::mock(RTCRtpReceiver::class);
87-
$rtpReceiverMock2 = Mockery::mock(RTCRtpReceiver::class);
85+
$rtpReceiverMock1 = $this->getMockBuilder(RTCRtpReceiver::class)->disableOriginalConstructor()->getMock();
86+
$rtpReceiverMock2 = $this->getMockBuilder(RTCRtpReceiver::class)->disableOriginalConstructor()->getMock();
8887

8988
$router = new RtpRouter();
9089
$router->setReceiver($rtpReceiverMock1, [1234, 2345], [96, 97]);
@@ -106,8 +105,8 @@ public function testRouteRtp()
106105

107106
public function testRouteRtpAmbiguousPayloadType()
108107
{
109-
$rtpReceiverMock1 = Mockery::mock(RTCRtpReceiver::class);
110-
$rtpReceiverMock2 = Mockery::mock(RTCRtpReceiver::class);
108+
$rtpReceiverMock1 = $this->getMockBuilder(RTCRtpReceiver::class)->disableOriginalConstructor()->getMock();
109+
$rtpReceiverMock2 = $this->getMockBuilder(RTCRtpReceiver::class)->disableOriginalConstructor()->getMock();
111110

112111
$router = new RtpRouter();
113112
$router->setReceiver($rtpReceiverMock1, [1234, 2345], [96, 97]);

0 commit comments

Comments
 (0)