コード例 #1
0
 /**
  * @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;
     }
 }
コード例 #2
0
 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');
 }
コード例 #3
0
 /**
  * @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');
     }
 }
コード例 #4
0
 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();
 }
コード例 #5
0
 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 . ')');
         }
     }
 }
コード例 #6
0
 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) . ')');
 }