/** * Test a Tweet with media. */ public function testTweeterWithMedia() { $stream = $this->getMock('Psr\\Http\\Message\\StreamInterface'); $tweet = $this->getMock('JimLind\\Pie7o\\Tweet'); $tweet->method('getMedia')->willReturn($stream); $taggedTweet = $this->getMock('JimLind\\Pie7o\\Tweet'); $this->mediaUploader->expects($this->once())->method('upload')->with($tweet)->willReturn($taggedTweet); $this->statusUpdater->expects($this->once())->method('update')->with($taggedTweet); $this->fixture->tweet($tweet); }
use JimLind\Pie7o\Tweet; use JimLind\Pie7o\Tweeter; /* * Configure all the things */ $settingList = ['accessToken' => 'YOUR ACCESS TOKEN', 'accessTokenSecret' => 'YOUR ACCESS TOKEN SECRET', 'consumerKey' => 'YOUR CONSUMER KEY', 'consumerSecret' => 'YOUR CONSUMER SECRET']; $authorizationBuilder = new AuthorizationBuilder($settingList); $guzzleClient = new Client(); $statusUpdater = new StatusUpdater($authorizationBuilder, $guzzleClient); $mediaUploader = new MediaUploader($authorizationBuilder, $guzzleClient); $tweeter = new Tweeter($statusUpdater, $mediaUploader); /* * Create a Tweet */ $messageHandle = fopen('php://temp', 'r+'); $messageStream = new Stream($messageHandle); $messageStream->write('This is a pictures of cats.'); $messageStream->rewind(); $mediaHandle = fopen('./cat.jpg', 'r'); $mediaStream = new Stream($mediaHandle); $tweet = (new Tweet())->withMessage($messageStream)->withMedia($mediaStream); /* * Tweet and catch exceptions */ try { $tweeter->tweet($tweet); echo 'Tweeting was successful.' . PHP_EOL; } catch (Pie7oException $exception) { echo 'Tweeting failed.' . PHP_EOL; echo 'Exception thrown: `' . $exception->getMessage() . '`' . PHP_EOL; }