Google\Cloud\Tests\System\PubSub\PublishAndPullTest::testPublishMessagesAndPull PHP Method

testPublishMessagesAndPull() public method

public testPublishMessagesAndPull ( $client )
    public function testPublishMessagesAndPull($client)
    {
        $topicName = uniqid(self::TESTING_PREFIX);
        $subName = uniqid(self::TESTING_PREFIX);
        $topic = $client->createTopic($topicName);
        $sub = $client->subscribe($subName, $topicName);
        self::$deletionQueue[] = $topic;
        self::$deletionQueue[] = $sub;
        $messages = [['data' => 'First.', 'attributes' => ['first' => 'yes']], ['data' => 'Second.', 'attributes' => ['second' => 'yes']]];
        $topic->publishBatch($messages);
        $actualMessages = iterator_to_array($sub->pull());
        $sub->modifyAckDeadlineBatch($actualMessages, 15);
        $sub->acknowledgeBatch($actualMessages);
        $this->assertEquals($messages[0]['data'], $actualMessages[0]->data());
        $this->assertEquals($messages[0]['attributes'], $actualMessages[0]->attributes());
        $this->assertEquals($messages[1]['data'], $actualMessages[1]->data());
        $this->assertEquals($messages[1]['attributes'], $actualMessages[1]->attributes());
    }