/** * @covers WindowsAzure\Blob\BlobRestProxy::createContainer * @covers WindowsAzure\Blob\BlobRestProxy::deleteContainer * @covers WindowsAzure\Blob\BlobRestProxy::listContainers */ public function setUp() { parent::setUp(); $settings = StorageServiceSettings::createFromConnectionString($this->connectionString); $accountName = $settings->getBlobEndpointUri(); $firstSlash = strpos($accountName, '/'); $accountName = substr($accountName, $firstSlash + 2); $firstDot = strpos($accountName, '.'); $accountName = substr($accountName, 0, $firstDot); BlobServiceFunctionalTestData::setupData($accountName); $hasRoot = false; foreach ($this->restProxy->listContainers()->getContainers() as $container) { if ($container->getName() == '$root') { $hasRoot = true; $this->safeDeleteContainerContents('$root'); } else { $this->safeDeleteContainer($container->getName()); } } foreach (BlobServiceFunctionalTestData::$testContainerNames as $name) { $this->safeCreateContainer($name); } if (!$hasRoot) { $this->safeCreateContainer('$root'); } if (!self::$isOneTimeSetup) { self::$isOneTimeSetup = true; } }
public function testDeserializingAllPossibleValues() { // Arrange $schedTimeUtc = new \DateTime("Sun, 06 Nov 1994 08:49:37 GMT"); $schedTimeUtc->setTimezone(new \DateTimeZone('UTC')); $lockedUntilUtc = new \DateTime("Fri, 14 Oct 2011 12:34:56 GMT"); $lockedUntilUtc->setTimezone(new \DateTimeZone('UTC')); // Act $jsonValue = '{' . '"CorrelationId":"corid",' . '"SessionId":"sesid",' . '"DeliveryCount":5,' . '"LockedUntilUtc":"Fri, 14 Oct 2011 12:34:56 GMT",' . '"LockToken":"loctok",' . '"MessageId":"mesid",' . '"Label":"lab",' . '"ReplyTo":"repto",' . '"SequenceNumber":7,' . '"TimeToLive":8.123,' . '"To":"to",' . '"ScheduledEnqueueTimeUtc":"Sun, 06 Nov 1994 08:49:37 GMT",' . '"ReplyToSessionId":"reptosesid",' . '"MessageLocation":"mesloc",' . '"LockLocation":"locloc"' . '}'; $properties = BrokerProperties::create($jsonValue); $jsonRoundTrip = $properties->toString(); // Assert $this->assertNotNull($properties, '$properties'); $lockedUntilDelta = BlobServiceFunctionalTestData::diffInTotalSeconds($properties->getLockedUntilUtc(), $lockedUntilUtc); $schedTimeDelta = BlobServiceFunctionalTestData::diffInTotalSeconds($properties->getScheduledEnqueueTimeUtc(), $schedTimeUtc); $this->assertEquals('corid', $properties->getCorrelationId(), '$properties->getCorrelationId()'); $this->assertEquals('sesid', $properties->getSessionId(), '$properties->getSessionId()'); $this->assertEquals(5, (int) $properties->getDeliveryCount(), '(int) $properties->getDeliveryCount()'); $this->assertTrue(abs($lockedUntilDelta) < 2000, 'abs($lockedUntilDelta) < 2000'); $this->assertEquals('loctok', $properties->getLockToken(), '$properties->getLockToken()'); $this->assertEquals('mesid', $properties->getMessageId(), '$properties->getMessageId()'); $this->assertEquals('lab', $properties->getLabel(), '$properties->getLabel()'); $this->assertEquals('repto', $properties->getReplyTo(), '$properties->getReplyTo()'); $this->assertEquals(7, $properties->getSequenceNumber(), '$properties->getSequenceNumber()'); $this->assertEquals(8.122999999999999, $properties->getTimeToLive(), 0.001); $this->assertEquals('to', $properties->getTo(), '$properties->getTo()'); $this->assertTrue(abs($schedTimeDelta) < 2000, 'abs($schedTimeDelta) < 2000'); $this->assertEquals('reptosesid', $properties->getReplyToSessionId(), '$properties->getReplyToSessionId()'); $this->assertEquals('mesloc', $properties->getMessageLocation(), '$properties->getMessageLocation()'); $this->assertEquals('locloc', $properties->getLockLocation(), '$properties->getLockLocation()'); $this->assertEquals($jsonValue, $jsonRoundTrip, 'round-tripped JSON'); }
/** * @covers WindowsAzure\Blob\BlobRestProxy::createContainer * @covers WindowsAzure\Blob\BlobRestProxy::deleteContainer * @covers WindowsAzure\Blob\BlobRestProxy::listContainers */ public function setUp() { parent::setUp(); $accountName = $this->config->getProperty(BlobSettings::URI); $firstSlash = strpos($accountName, '/'); $accountName = substr($accountName, $firstSlash + 2); $firstDot = strpos($accountName, '.'); $accountName = substr($accountName, 0, $firstDot); BlobServiceFunctionalTestData::setupData($accountName); $hasRoot = false; foreach ($this->restProxy->listContainers()->getContainers() as $container) { if ($container->getName() == '$root') { $hasRoot = true; $this->safeDeleteContainerContents('$root'); } else { $this->safeDeleteContainer($container->getName()); } } foreach (BlobServiceFunctionalTestData::$TEST_CONTAINER_NAMES as $name) { $this->safeCreateContainer($name); } if (!$hasRoot) { $this->safeCreateContainer('$root'); } }
public static function tearDownAfterClass() { if (self::$isOneTimeSetup) { $integrationTestBase = new IntegrationTestBase(); $integrationTestBase->setUp(); if ($integrationTestBase->isEmulated()) { $serviceProperties = BlobServiceFunctionalTestData::getDefaultServiceProperties(); $integrationTestBase->restProxy->setServiceProperties($serviceProperties); } self::$isOneTimeSetup = false; } parent::tearDownAfterClass(); }
private function verifyCreateBlobSnapshotWorker($res, $options, $blobs, $getBlobResult) { $now = new \DateTime(); $this->assertNotNull($res->getEtag(), 'result etag'); try { $snapshotDate = new \DateTime($res->getSnapshot()); // Make sure the last modified date is within 10 seconds $this->assertTrue(BlobServiceFunctionalTestData::diffInTotalSeconds($snapshotDate, $now) < 10, 'Last modified date (' . $snapshotDate->format(\DateTime::RFC1123) . ')' . ' should be within 10 seconds of $now (' . $now->format(\DateTime::RFC1123) . ')'); } catch (ParseException $e) { $this->assertTrue(false, 'Expected to be able to parse ' . $res->getSnapshot() . ' but got an error: ' . $e->getMessage()); } // Make sure the last modified date is within 10 seconds $this->assertTrue(BlobServiceFunctionalTestData::diffInTotalSeconds($res->getLastModified(), $now) < 10, 'Last modified date (' . $res->getLastModified()->format(\DateTime::RFC1123) . ')' . ' should be within 10 seconds of $now (' . $now->format(\DateTime::RFC1123) . ')'); $this->assertEquals(3, count($blobs), 'Should end up with 3 $blobs with same name as main blob'); $this->assertNotNull($getBlobResult->getMetadata(), 'blob Metadata'); $this->assertEquals(count($options->getMetadata()), count($getBlobResult->getMetadata()), 'Metadata'); $retMetadata = $getBlobResult->getMetadata(); if (!is_null($options->getMetadata())) { foreach ($options->getMetadata() as $key => $value) { $this->assertEquals($value, $retMetadata[$key], 'Metadata(' . $key . ')'); } } }
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) . ')'); }