/** * @dataProvider dataForLogReadingTest * @covers Aws\CloudTrail\LogFileReader */ public function testCorrectlyReadsLogFiles($responseBody, $recordCount) { $s3Client = S3Client::factory(array('key' => 'foo', 'secret' => 'bar')); $s3Client->addSubscriber(new MockPlugin(array(new Response(200, null, $responseBody)))); $reader = new LogFileReader($s3Client); $records = $reader->read('test-bucket', 'test-key'); $this->assertCount($recordCount, $records); }
/** * Examines the current file in the `logFileIterator` and attempts to read * it and load log records from it using the `logFileReader`. This method * expects that items pulled from the iterator will take the form: * * [ * 'Bucket' => '...', * 'Key' => '...', * ] * * @return bool Returns `true` if records were loaded and `false` if no * records were found */ private function loadRecordsFromCurrentLogFile() { $this->recordIndex = 0; $this->records = array(); $logFile = $this->logFileIterator->current(); if ($logFile && isset($logFile['Bucket']) && isset($logFile['Key'])) { $this->records = $this->logFileReader->read($logFile['Bucket'], $logFile['Key']); } return (bool) $logFile; }