From 4b8a9a5189a625bf99fedec7fd31f6e146410a14 Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 26 Apr 2018 01:00:12 +0200 Subject: Update FB API library --- .../FileUpload/FacebookResumableUploaderTest.php | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 lib/facebook-graph-sdk/tests/FileUpload/FacebookResumableUploaderTest.php (limited to 'lib/facebook-graph-sdk/tests/FileUpload/FacebookResumableUploaderTest.php') diff --git a/lib/facebook-graph-sdk/tests/FileUpload/FacebookResumableUploaderTest.php b/lib/facebook-graph-sdk/tests/FileUpload/FacebookResumableUploaderTest.php new file mode 100644 index 0000000..c32b7fb --- /dev/null +++ b/lib/facebook-graph-sdk/tests/FileUpload/FacebookResumableUploaderTest.php @@ -0,0 +1,101 @@ +fbApp = new FacebookApp('app_id', 'app_secret'); + $this->graphApi = new FakeGraphApiForResumableUpload(); + $this->client = new FacebookClient($this->graphApi); + $this->file = new FacebookFile(__DIR__.'/../foo.txt'); + } + + public function testResumableUploadCanStartTransferAndFinish() + { + $uploader = new FacebookResumableUploader($this->fbApp, $this->client, 'access_token', 'v2.4'); + $endpoint = '/me/videos'; + $chunk = $uploader->start($endpoint, $this->file); + $this->assertInstanceOf('Facebook\FileUpload\FacebookTransferChunk', $chunk); + $this->assertEquals('42', $chunk->getUploadSessionId()); + $this->assertEquals('1337', $chunk->getVideoId()); + + $newChunk = $uploader->transfer($endpoint, $chunk); + $this->assertEquals(20, $newChunk->getStartOffset()); + $this->assertNotSame($newChunk, $chunk); + + $finalResponse = $uploader->finish($endpoint, $chunk->getUploadSessionId(), []); + $this->assertTrue($finalResponse); + } + + /** + * @expectedException \Facebook\Exceptions\FacebookResponseException + */ + public function testStartWillLetErrorResponsesThrow() + { + $this->graphApi->failOnStart(); + $uploader = new FacebookResumableUploader($this->fbApp, $this->client, 'access_token', 'v2.4'); + + $uploader->start('/me/videos', $this->file); + } + + public function testFailedResumableTransferWillNotThrowAndReturnSameChunk() + { + $this->graphApi->failOnTransfer(); + $uploader = new FacebookResumableUploader($this->fbApp, $this->client, 'access_token', 'v2.4'); + + $chunk = new FacebookTransferChunk($this->file, '1', '2', '3', '4'); + $newChunk = $uploader->transfer('/me/videos', $chunk); + $this->assertSame($newChunk, $chunk); + } +} -- cgit v1.2.3