Google\Cloud\Tests\System\Logging\WriteAndListEntryTest::testWritesEntryWithMetadata PHP Method

testWritesEntryWithMetadata() public method

public testWritesEntryWithMetadata ( $client )
    public function testWritesEntryWithMetadata($client)
    {
        $logger = $client->logger(uniqid(self::TESTING_PREFIX));
        self::$deletionQueue[] = $logger;
        $data = 'test';
        $httpRequest = ['requestMethod' => 'GET', 'requestUrl' => 'http://www.example.com', 'status' => 200];
        $labels = ['test' => 'label'];
        $severity = 'INFO';
        $entry = $logger->entry($data, ['httpRequest' => $httpRequest, 'labels' => $labels, 'severity' => 200]);
        $logger->write($entry);
        $backoff = new ExponentialBackoff(8);
        $entries = $backoff->execute(function () use($logger) {
            $entries = iterator_to_array($logger->entries());
            if (count($entries) === 0) {
                throw new \Exception();
            }
            return $entries;
        });
        $actualEntryInfo = $entries[0]->info();
        $this->assertEquals($data, $actualEntryInfo['textPayload']);
        $this->assertEquals($httpRequest['requestMethod'], $actualEntryInfo['httpRequest']['requestMethod']);
        $this->assertEquals($httpRequest['requestUrl'], $actualEntryInfo['httpRequest']['requestUrl']);
        $this->assertEquals($httpRequest['status'], $actualEntryInfo['httpRequest']['status']);
        $this->assertEquals($labels['test'], $actualEntryInfo['labels']['test']);
        $this->assertEquals($severity, $actualEntryInfo['severity']);
    }