private function verifyCopyBlobWorker($options, $blobs, $getBlobResult, $sourceDataSize, $metadata) { $this->assertEquals(2, count($blobs), 'Should end up with 2 blob with same name as dest blob, snapshot and copied blob'); $this->assertEquals($sourceDataSize, $getBlobResult->getProperties()->getContentLength(), 'Dest length should be the same as the source length'); $this->assertNotNull($getBlobResult->getMetadata(), 'blob Metadata'); $expectedMetadata = count($options->getMetadata()) == 0 ? $metadata : $options->getMetadata(); $resMetadata = $getBlobResult->getMetadata(); $this->assertEquals(count($expectedMetadata), count($resMetadata), 'Metadata'); foreach ($expectedMetadata as $key => $value) { $this->assertEquals($value, $resMetadata[strtolower($key)], 'Metadata(' . $key . ')'); } // Make sure the last modified date is within 10 seconds $now = new \DateTime(); $this->assertTrue(BlobServiceFunctionalTestData::diffInTotalSeconds($getBlobResult->getProperties()->getLastModified(), $now) < 10, 'Last modified date (' . $getBlobResult->getProperties()->getLastModified()->format(\DateTime::RFC1123) . ')' . ' should be within 10 seconds of $now (' . $now->format(\DateTime::RFC1123) . ')'); }