public function setUp() { parent::setUp(); $serviceBusWrapper = $this->builder->createServiceBusService(TestResources::getServiceBusConnectionString()); $this->_createdTopics = array(); $this->_createdSubscriptions = array(); $this->_createdRules = array(); $this->_createdQueues = array(); parent::setProxy($serviceBusWrapper); }
/** * @covers WindowsAzure\Common\Models\GetServicePropertiesResult::setValue */ public function testSetValue() { // Setup $result = new GetServicePropertiesResult(); $expected = ServiceProperties::create(TestResources::getServicePropertiesSample()); // Test $result->setValue($expected); // Assert $this->assertEquals($expected, $result->getValue()); }
public static function setUpBeforeClass() { $storageKey = TestResources::accountKey(); $storageName = TestResources::accountName(); if (empty($storageKey)) { throw new \Exception('AZURE_STORAGE_KEY envionment variable is missing'); } if (empty($storageName)) { throw new \Exception('AZURE_STORAGE_ACCOUNT envionment variable is missing'); } }
public function __construct() { $config = new Configuration(); $blobUri = 'http://' . TestResources::accountName() . '.blob.core.windows.net'; $config->setProperty(BlobSettings::ACCOUNT_KEY, TestResources::accountKey()); $config->setProperty(BlobSettings::ACCOUNT_NAME, TestResources::accountName()); $config->setProperty(BlobSettings::URI, $blobUri); $blobRestProxy = BlobService::create($config); parent::__construct($config, $blobRestProxy); $this->_createdContainers = array(); }
/** * @covers WindowsAzure\ServiceBus\Internal\WrapRestProxy::__construct * @covers WindowsAzure\ServiceBus\Internal\WrapRestProxy::wrapAccessToken */ public function testWrapAccessToken() { $settings = ServiceBusSettings::createFromConnectionString(TestResources::getServiceBusConnectionString()); $wrapUri = $settings->getWrapEndpointUri(); $wrapUserName = $settings->getWrapName(); $wrapPassword = $settings->getWrapPassword(); $scope = str_replace('https', 'http', $settings->getServiceBusEndpointUri()); $wrapAccessTokenResult = $this->_wrapRestProxy->wrapAccessToken($wrapUri, $wrapUserName, $wrapPassword, $scope); $this->assertNotNull($wrapAccessTokenResult); $this->assertNotNull($wrapAccessTokenResult->getAccessToken()); }
public function __construct() { $config = new Configuration(); $queueUri = TestResources::accountName() . '.queue.core.windows.net'; $config->setProperty(QueueSettings::ACCOUNT_KEY, TestResources::accountKey()); $config->setProperty(QueueSettings::ACCOUNT_NAME, TestResources::accountName()); $config->setProperty(QueueSettings::URI, $queueUri); $queueRestProxy = QueueService::create($config); parent::__construct($config, $queueRestProxy); $this->_createdQueues = array(); }
/** * @covers WindowsAzure\Common\Internal\Serialization\XmlSerializer::serialize * @covers WindowsAzure\Common\Internal\Serialization\XmlSerializer::_arr2xml */ public function testSerialize() { // Setup $xmlSerializer = new XmlSerializer(); $propertiesSample = TestResources::getServicePropertiesSample(); $properties = ServiceProperties::create($propertiesSample); $expected = $properties->toXml($xmlSerializer); $array = $properties->toArray(); $serializerProperties = array(XmlSerializer::ROOT_NAME => ServiceProperties::$xmlRootName); // Test $actual = $xmlSerializer->serialize($array, $serializerProperties); $this->assertEquals($expected, $actual); }
/** * @covers WindowsAzure\Table\TableService::create */ public function testCreateWithConfig() { // Setup $uri = 'http://' . TestResources::accountName() . '.table.core.windows.net'; $config = new Configuration(); $config->setProperty(TableSettings::ACCOUNT_KEY, TestResources::accountKey()); $config->setProperty(TableSettings::ACCOUNT_NAME, TestResources::accountName()); $config->setProperty(TableSettings::URI, $uri); // Test $tableRestProxy = TableService::create($config); // Assert $this->assertInstanceOf('WindowsAzure\\Table\\Internal\\ITable', $tableRestProxy); }
public function __construct() { $config = new Configuration(); $config->setProperty(ServiceManagementSettings::SUBSCRIPTION_ID, TestResources::serviceManagementSubscriptionId()); $config->setProperty(ServiceManagementSettings::URI, Resources::SERVICE_MANAGEMENT_URL); $config->setProperty(ServiceManagementSettings::CERTIFICATE_PATH, TestResources::serviceManagementCertificatePath()); $serviceManagementRestProxy = ServiceManagementService::create($config); parent::__construct($config, $serviceManagementRestProxy); $this->createdStorageServices = array(); $this->createdAffinityGroups = array(); $this->storageCount = count($this->restProxy->listStorageServices()->getStorageServices()); $this->affinityGroupCount = count($this->restProxy->listAffinityGroups()->getAffinityGroups()); }
/** * @covers WindowsAzure\Queue\Models\WindowsAzureQueueMessage::createFromPeekMessages */ public function testCreateFromPeekMessages() { // Setup $sample = TestResources::listMessagesSample(); $sample = $sample['QueueMessage']; // Test $actual = WindowsAzureQueueMessage::createFromPeekMessages($sample); // Assert $this->assertEquals($sample['MessageId'], $actual->getMessageId()); $this->assertEquals(Utilities::rfc1123ToDateTime($sample['InsertionTime']), $actual->getInsertionDate()); $this->assertEquals(Utilities::rfc1123ToDateTime($sample['ExpirationTime']), $actual->getExpirationDate()); $this->assertEquals(intval($sample['DequeueCount']), $actual->getDequeueCount()); $this->assertEquals($sample['MessageText'], $actual->getMessageText()); }
/** * @covers WindowsAzure\Blob\Models\CreateBlobPagesResult::create */ public function testCreate() { // Setup $sample = TestResources::listBlobsOneEntry(); $expected = $sample['Blobs']['Blob']['Properties']; $expectedDate = Utilities::rfc1123ToDateTime($expected['Last-Modified']); // Test $actual = CreateBlobPagesResult::create($expected); // Assert $this->assertEquals($expectedDate, $actual->getLastModified()); $this->assertEquals($expected['Etag'], $actual->getETag()); $this->assertEquals($expected['Content-MD5'], $actual->getContentMD5()); $this->assertEquals(intval($expected['x-ms-blob-sequence-number']), $actual->getSequenceNumber()); }
/** * @covers WindowsAzure\Blob\Models\ListBlobsResult::create */ public function testCreateWithMultipleEntries() { // Setup $sample = TestResources::listBlobsMultipleEntries(); // Test $actual = ListBlobsResult::create($sample); // Assert $this->assertCount(2, $actual->getBlobs()); $this->assertCount(2, $actual->getBlobPrefixes()); $this->assertEquals($sample['Marker'], $actual->getMarker()); $this->assertEquals(intval($sample['MaxResults']), $actual->getMaxResults()); $this->assertEquals($sample['NextMarker'], $actual->getNextMarker()); return $actual; }
/** * @covers WindowsAzure\Common\Internal\Filters\WrapFilter::handleResponse */ public function testHandleResponse() { // Setup $channel = new HttpClient(); $url = new Url('http://microsoft.com'); $channel->setUrl($url); $response = null; $settings = ServiceBusSettings::createFromConnectionString(TestResources::getServiceBusConnectionString()); $wrapUri = $settings->getWrapEndpointUri(); $wrapFilter = new WrapFilter($wrapUri, $settings->getWrapName(), $settings->getWrapPassword(), $this->_wrapRestProxy); // Test $response = $wrapFilter->handleResponse($channel, $response); // Assert $this->assertNull($response); }
/** * @covers WindowsAzure\Common\Internal\OAuthRestProxy::getAccessToken * @covers WindowsAzure\Common\Internal\OAuthRestProxy::__construct */ public function testGetAccessToken() { // Setup $channel = new HttpClient(); $uri = Resources::MEDIA_SERVICES_OAUTH_URL; $connection = TestResources::getMediaServicesConnectionParameters(); $settings = new MediaServicesSettings($connection['accountName'], $connection['accessKey']); $scope = Resources::MEDIA_SERVICES_OAUTH_SCOPE; // Test $proxy = new OAuthRestProxy($channel, $uri); $actual = $proxy->getAccessToken(Resources::OAUTH_GT_CLIENT_CREDENTIALS, $settings->getAccountName(), $settings->getAccessKey(), $scope); // Assert $this->assertNotNull($proxy); $this->assertNotNull($actual->getAccessToken()); $this->assertGreaterThan(time(), $actual->getExpiresIn()); $this->assertEquals($scope, $actual->getScope()); }
/** * @covers WindowsAzure\Queue\Models\ListQueuesResult::create */ public function testCreateWithMultipleEntries() { // Setup $sample = TestResources::listQueuesMultipleEntries(); // Test $actual = ListQueuesResult::create($sample); // Assert $queues = $actual->getQueues(); $this->assertCount(2, $queues); $this->assertEquals($sample['Queues']['Queue'][0]['Name'], $queues[0]->getName()); $this->assertEquals($sample['Queues']['Queue'][0]['Url'], $queues[0]->getUrl()); $this->assertEquals($sample['Queues']['Queue'][1]['Name'], $queues[1]->getName()); $this->assertEquals($sample['Queues']['Queue'][1]['Url'], $queues[1]->getUrl()); $this->assertEquals($sample['MaxResults'], $actual->getMaxResults()); $this->assertEquals($sample['NextMarker'], $actual->getNextMarker()); return $actual; }
/** * @covers WindowsAzure\Blob\Models\ListContainersResult::create */ public function testCreateWithMultipleEntries() { // Setup $sample = TestResources::listContainersMultipleEntries(); // Test $actual = ListContainersResult::create($sample); // Assert $containers = $actual->getContainers(); $this->assertCount(2, $containers); $this->assertEquals($sample['Containers']['Container'][0]['Name'], $containers[0]->getName()); $this->assertEquals($sample['Containers']['Container'][0]['Url'], $containers[0]->getUrl()); $this->assertEquals(Utilities::rfc1123ToDateTime($sample['Containers']['Container'][0]['Properties']['Last-Modified']), $containers[0]->getProperties()->getLastModified()); $this->assertEquals($sample['Containers']['Container'][0]['Properties']['Etag'], $containers[0]->getProperties()->getEtag()); $this->assertEquals($sample['Containers']['Container'][1]['Name'], $containers[1]->getName()); $this->assertEquals($sample['Containers']['Container'][1]['Url'], $containers[1]->getUrl()); $this->assertEquals(Utilities::rfc1123ToDateTime($sample['Containers']['Container'][1]['Properties']['Last-Modified']), $containers[1]->getProperties()->getLastModified()); $this->assertEquals($sample['Containers']['Container'][1]['Properties']['Etag'], $containers[1]->getProperties()->getEtag()); $this->assertEquals($sample['MaxResults'], $actual->getMaxResults()); $this->assertEquals($sample['NextMarker'], $actual->getNextMarker()); return $actual; }
/** * @covers WindowsAzure\Blob\Models\BlobProperties::create */ public function testCreate() { // Setup $sample = TestResources::listBlobsOneEntry(); $expected = $sample['Blobs']['Blob']['Properties']; $expectedDate = Utilities::rfc1123ToDateTime($expected['Last-Modified']); // Test $actual = BlobProperties::create($expected); // Assert $this->assertEquals($expectedDate, $actual->getLastModified()); $this->assertEquals($expected['Etag'], $actual->getEtag()); $this->assertEquals(intval($expected['Content-Length']), $actual->getContentLength()); $this->assertEquals($expected['Content-Type'], $actual->getContentType()); $this->assertEquals($expected['Content-Encoding'], $actual->getContentEncoding()); $this->assertEquals($expected['Content-Language'], $actual->getContentLanguage()); $this->assertEquals($expected['Content-MD5'], $actual->getContentMD5()); $this->assertEquals($expected['Cache-Control'], $actual->getCacheControl()); $this->assertEquals(intval($expected['x-ms-blob-sequence-number']), $actual->getSequenceNumber()); $this->assertEquals($expected['BlobType'], $actual->getBlobType()); $this->assertEquals($expected['LeaseStatus'], $actual->getLeaseStatus()); }
/** * @covers WindowsAzure\MediaServices\MediaServicesRestProxy::getAssetStorageAccount */ public function testGetAssetStorageAccount() { // Setup $asset = new Asset(Asset::OPTIONS_NONE); $asset->setName(TestResources::MEDIA_SERVICES_ASSET_NAME . $this->createSuffix()); $asset = $this->createAsset($asset); $connectionParameters = TestResources::getMediaServicesConnectionParameters(); $storageAccountName = $connectionParameters['accountName']; // Test $result = $this->restProxy->getAssetStorageAccount($asset); // Assert $this->assertEquals($storageAccountName, $result->getName()); }
public function testIngestEncryptedAssetAndDecryptAtAzure() { // Setup $content = TestResources::MEDIA_SERVICES_DUMMY_FILE_CONTENT; $aesKey = Utilities::generateCryptoKey(32); $protectionKeyId = $this->restProxy->getProtectionKeyId(ProtectionKeyTypes::X509_CERTIFICATE_THUMBPRINT); $protectionKey = $this->restProxy->getProtectionKey($protectionKeyId); $contentKey = new ContentKey(); $contentKey->setContentKey($aesKey, $protectionKey); $contentKey->setProtectionKeyId($protectionKeyId); $contentKey->setProtectionKeyType(ProtectionKeyTypes::X509_CERTIFICATE_THUMBPRINT); $contentKey->setContentKeyType(ContentKeyTypes::STORAGE_ENCRYPTION); $contentKey = $this->createContentKey($contentKey); $asset = new Asset(Asset::OPTIONS_STORAGE_ENCRYPTED); $asset->setName(TestResources::MEDIA_SERVICES_ASSET_NAME . $this->createSuffix()); $asset = $this->createAsset($asset); $this->restProxy->linkContentKeyToAsset($asset, $contentKey); $initializationVector = Utilities::generateCryptoKey(8); $encrypted = Utilities::ctrCrypt($content, $aesKey, str_pad($initializationVector, 16, chr(0))); // Test $access = new AccessPolicy(TestResources::MEDIA_SERVICES_ACCESS_POLICY_NAME . $this->createSuffix()); $access->setDurationInMinutes(30); $access->setPermissions(AccessPolicy::PERMISSIONS_WRITE); $access = $this->createAccessPolicy($access); $locator = new Locator($asset, $access, Locator::TYPE_SAS); $locator->setName(TestResources::MEDIA_SERVICES_LOCATOR_NAME . $this->createSuffix()); $locator->setStartTime(new \DateTime('now -5 minutes')); $locator = $this->createLocator($locator); $fileName = TestResources::MEDIA_SERVICES_DUMMY_FILE_NAME; $this->restProxy->uploadAssetFile($locator, $fileName, $encrypted); $this->restProxy->createFileInfos($asset); $files = $this->restProxy->getAssetAssetFileList($asset); $files[0]->setIsEncrypted(true); $files[0]->setEncryptionKeyId($contentKey->getId()); $files[0]->setEncryptionScheme(EncryptionSchemes::STORAGE_ENCRYPTION); $files[0]->setEncryptionVersion(Resources::MEDIA_SERVICES_ENCRYPTION_VERSION); $files[0]->setInitializationVector(Utilities::base256ToDec($initializationVector)); $this->restProxy->updateAssetFile($files[0]); $decodeProcessor = $this->restProxy->getLatestMediaProcessor(TestResources::MEDIA_SERVICES_DECODE_PROCESSOR_NAME); $task = new Task(TestResources::getMediaServicesTask($this->getOutputAssetName()), $decodeProcessor->getId(), TaskOptions::NONE); $job = new Job(); $job->setName(TestResources::MEDIA_SERVICES_JOB_NAME . $this->createSuffix()); $job = $this->createJob($job, array($asset), array($task)); $this->waitJobStatus($job, array(Job::STATE_FINISHED, Job::STATE_ERROR)); $this->assertEquals($this->restProxy->getJobStatus($job), Job::STATE_FINISHED); $outputAssets = $this->restProxy->getJobOutputMediaAssets($job); $this->assertCount(1, $outputAssets); $accessPolicy = new AccessPolicy(TestResources::MEDIA_SERVICES_ACCESS_POLICY_NAME . $this->createSuffix()); $accessPolicy->setDurationInMinutes(300); $accessPolicy->setPermissions(AccessPolicy::PERMISSIONS_READ); $accessPolicy = $this->createAccessPolicy($accessPolicy); $locator = new Locator($outputAssets[0], $accessPolicy, Locator::TYPE_SAS); $locator->setName(TestResources::MEDIA_SERVICES_LOCATOR_NAME . $this->createSuffix()); $locator->setStartTime(new \DateTime('now -5 minutes')); $locator = $this->createLocator($locator); // without sleep() Locator hasn't enough time to create URL, so that's why we have to use at least sleep(30) sleep(40); $method = Resources::HTTP_GET; $url = new Url($locator->getBaseUri() . '/' . TestResources::MEDIA_SERVICES_DUMMY_FILE_NAME . $locator->getContentAccessComponent()); $filters = array(); $statusCode = Resources::STATUS_OK; $httpClient = new HttpClient(); $httpClient->setMethod($method); $httpClient->setExpectedStatusCode($statusCode); $actual = $httpClient->send($filters, $url); $this->assertEquals($content, $actual); }
/** * @covers WindowsAzure\Common\Models\OAuthAccessToken::getScope * @covers WindowsAzure\Common\Models\OAuthAccessToken::setScope */ public function testGetSetScope() { // Setup $sample = TestResources::getTestOAuthAccessToken(); // Test $actual = new OAuthAccessToken(); $actual->setScope($sample[Resources::OAUTH_SCOPE]); // Assert $this->assertEquals($sample[Resources::OAUTH_SCOPE], $actual->getScope()); }
/** * @covers WindowsAzure\Blob\BlobRestProxy::setContainerAcl */ public function testSetContainerAcl() { // Setup $name = 'setcontaineracl' . $this->createSuffix(); $this->createContainer($name); $sample = TestResources::getContainerAclMultipleEntriesSample(); $expectedETag = '0x8CAFB82EFF70C46'; $expectedLastModified = new \DateTime('Sun, 25 Sep 2011 19:42:18 GMT'); $expectedPublicAccess = 'container'; $acl = ContainerAcl::create($expectedPublicAccess, $sample['SignedIdentifiers']); // Test $this->restProxy->setContainerAcl($name, $acl); // Assert $actual = $this->restProxy->getContainerAcl($name); $this->assertEquals($acl->getPublicAccess(), $actual->getContainerAcl()->getPublicAccess()); $this->assertEquals($acl->getSignedIdentifiers(), $actual->getContainerAcl()->getSignedIdentifiers()); }
public function testParseEntities() { // Setup $atomSerializer = new AtomReaderWriter(); $pk1 = '123'; $pk2 = '124'; $pk3 = '125'; $e1 = TestResources::getTestEntity($pk1, '1'); $e2 = TestResources::getTestEntity($pk2, '2'); $e3 = TestResources::getTestEntity($pk3, '3'); $e1->setETag('W/"datetime\'2012-05-17T00%3A59%3A32.1131734Z\'"'); $e2->setETag('W/"datetime\'2012-05-17T00%3A59%3A32.4252358Z\'"'); $e3->setETag('W/"datetime\'2012-05-17T00%3A59%3A32.7533014Z\'"'); $e1->setTimestamp(Utilities::convertToDateTime('2012-05-17T00:59:32.0000473Z')); $e2->setTimestamp(Utilities::convertToDateTime('2012-05-17T00:59:32.0000473Z')); $e3->setTimestamp(Utilities::convertToDateTime('2012-05-17T00:59:32.0000473Z')); $expected = array($e1, $e2, $e3); $entitiesAtom = '<?xml version="1.0" encoding="utf-8" standalone="yes"?> <feed xml:base="http://aogail2.table.core.windows.net/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"> <title type="text">queryentitieswithmultipleentities</title> <id>http://aogail2.table.core.windows.net/queryentitieswithmultipleentities</id> <updated>2012-05-17T00:59:32Z</updated> <link rel="self" title="queryentitieswithmultipleentities" href="queryentitieswithmultipleentities" /> <entry m:etag="W/"datetime\'2012-05-17T00%3A59%3A32.1131734Z\'""> <id>http://aogail2.table.core.windows.net/queryentitieswithmultipleentities(PartitionKey=\'123\',RowKey=\'1\')</id> <title type="text"></title> <updated>2012-05-17T00:59:32Z</updated> <author> <name /> </author> <link rel="edit" title="queryentitieswithmultipleentities" href="queryentitieswithmultipleentities(PartitionKey=\'123\',RowKey=\'1\')" /> <category term="aogail2.queryentitieswithmultipleentities" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <content type="application/xml"> <m:properties> <d:PartitionKey>123</d:PartitionKey> <d:RowKey>1</d:RowKey> <d:Timestamp m:type="Edm.DateTime">2012-05-17T00:59:32.1131734Z</d:Timestamp> <d:CustomerId m:type="Edm.Int32">890</d:CustomerId> <d:CustomerName>John</d:CustomerName> <d:IsNew m:type="Edm.Boolean">true</d:IsNew> <d:JoinDate m:type="Edm.DateTime">2012-01-26T18:26:19Z</d:JoinDate> </m:properties> </content> </entry> <entry m:etag="W/"datetime\'2012-05-17T00%3A59%3A32.4252358Z\'""> <id>http://aogail2.table.core.windows.net/queryentitieswithmultipleentities(PartitionKey=\'124\',RowKey=\'2\')</id> <title type="text"></title> <updated>2012-05-17T00:59:32Z</updated> <author> <name /> </author> <link rel="edit" title="queryentitieswithmultipleentities" href="queryentitieswithmultipleentities(PartitionKey=\'124\',RowKey=\'2\')" /> <category term="aogail2.queryentitieswithmultipleentities" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <content type="application/xml"> <m:properties> <d:PartitionKey>124</d:PartitionKey> <d:RowKey>2</d:RowKey> <d:Timestamp m:type="Edm.DateTime">2012-05-17T00:59:32.4252358Z</d:Timestamp> <d:CustomerId m:type="Edm.Int32">890</d:CustomerId> <d:CustomerName>John</d:CustomerName> <d:IsNew m:type="Edm.Boolean">true</d:IsNew> <d:JoinDate m:type="Edm.DateTime">2012-01-26T18:26:19Z</d:JoinDate> </m:properties> </content> </entry> <entry m:etag="W/"datetime\'2012-05-17T00%3A59%3A32.7533014Z\'""> <id>http://aogail2.table.core.windows.net/queryentitieswithmultipleentities(PartitionKey=\'125\',RowKey=\'3\')</id> <title type="text"></title> <updated>2012-05-17T00:59:32Z</updated> <author> <name /> </author> <link rel="edit" title="queryentitieswithmultipleentities" href="queryentitieswithmultipleentities(PartitionKey=\'125\',RowKey=\'3\')" /> <category term="aogail2.queryentitieswithmultipleentities" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <content type="application/xml"> <m:properties> <d:PartitionKey>125</d:PartitionKey> <d:RowKey>3</d:RowKey> <d:Timestamp m:type="Edm.DateTime">2012-05-17T00:59:32.7533014Z</d:Timestamp> <d:CustomerId m:type="Edm.Int32">890</d:CustomerId> <d:CustomerName>John</d:CustomerName> <d:IsNew m:type="Edm.Boolean">true</d:IsNew> <d:JoinDate m:type="Edm.DateTime">2012-01-26T18:26:19Z</d:JoinDate> </m:properties> </content> </entry> </feed> '; // Test $actual = $atomSerializer->parseEntities($entitiesAtom); // Assert $this->assertEquals($expected, $actual); }
/** * @covers WindowsAzure\Common\Models\RetentionPolicy::toArray */ public function testToArrayWithoutDays() { // Setup $sample = TestResources::getServicePropertiesSample(); $retentionPolicy = RetentionPolicy::create($sample['Logging']['RetentionPolicy']); $expected = array('Enabled' => $sample['Logging']['RetentionPolicy']['Enabled']); $retentionPolicy->setDays(null); // Test $actual = $retentionPolicy->toArray(); // Assert $this->assertEquals($expected, $actual); }
/** * @group livefeatures * @group channel */ public function testCreateGetDeleteValidateChannel2() { // Upload image $resource = fopen(__DIR__ . "/resources/default_slate_image_media_services.jpg", 'r'); $slateAsset = $this->uploadSingleFile("slate2.jpg", $resource); // Setup $channelName = TestResources::MEDIA_SERVICES_CHANNEL_NAME . $this->createSuffix(); $channel = $this->makeChannelEncodingTypeStandard($channelName); $channel->getCrossSiteAccessPolicies()->setClientAccessPolicy(TestResources::getClientAccessPolicy()); $channel->getCrossSiteAccessPolicies()->setCrossDomainPolicy(TestResources::getCrossDomainPolicy()); $channel->setSlate(new ChannelSlate()); $channel->getSlate()->setInsertSlateOnAdMarker(true); $channel->getSlate()->setDefaultSlateAssetId($slateAsset->getId()); // test $operation = $this->restProxy->sendCreateChannelOperation($channel); // waiting for create operation finishes $operation = $this->restProxy->awaitOperation($operation); // get the created channel $channelResult = $this->restProxy->getChannel($operation->getTargetEntityId()); // assert #1, channel must exists $channelId = $channelResult->getId(); $this->assertEquals($channelId, $operation->getTargetEntityId()); $this->assertEquals($channelResult->getState(), ChannelState::Stopped); $this->assertEqualsChannel($channel, $channelResult); // assert #2 the list should contains the channel $list = $this->restProxy->getChannelList(); $exists = false; foreach ($list as $channel) { if ($channel->getId() == $channelId) { $exists = true; } } $this->assertTrue($exists); // delete the channel $operation = $this->restProxy->sendDeleteChannelOperation($channelResult->getId()); // waiting for delete operation finishes $operation = $this->restProxy->awaitOperation($operation); // assert #3 the list should not contains the channel $list = $this->restProxy->getChannelList(); foreach ($list as $channel) { $this->assertFalse($channel->getId() == $channelId); } }
/** * @covers WindowsAzure\Common\ServicesBuilder::createMediaServicesService */ public function testBuildForMediaServices() { // Setup $builder = new ServicesBuilder(); $connection = TestResources::getMediaServicesConnectionParameters(); $settings = new MediaServicesSettings($connection['accountName'], $connection['accessKey']); // Test $mediaServicesRestProxy = $builder->createMediaServicesService($settings); // Assert $this->assertInstanceOf('WindowsAzure\\MediaServices\\Internal\\IMediaServices', $mediaServicesRestProxy); }
/** * @covers WindowsAzure\Common\Internal\Utilities::serialize * @covers WindowsAzure\Common\Internal\Utilities::_arr2xml */ public function testSerialize() { // Setup $propertiesSample = TestResources::getServicePropertiesSample(); $properties = ServiceProperties::create($propertiesSample); $expected = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $expected .= '<StorageServiceProperties><Logging><Version>1.0</Version><Delete>true</Delete>'; $expected .= '<Read>false</Read><Write>true</Write><RetentionPolicy><Enabled>true</Enabled>'; $expected .= '<Days>20</Days></RetentionPolicy></Logging><Metrics><Version>1.0</Version>'; $expected .= '<Enabled>true</Enabled><IncludeAPIs>false</IncludeAPIs><RetentionPolicy>'; $expected .= '<Enabled>true</Enabled><Days>20</Days></RetentionPolicy></Metrics></StorageServiceProperties>'; $array = $properties->toArray(); // Test $actual = Utilities::serialize($array, ServiceProperties::$xmlRootName); $this->assertEquals($expected, $actual); }
/** * @covers WindowsAzure\Common\Internal\ServicesBuilder::build * @covers WindowsAzure\Common\Internal\ServicesBuilder::_validateConfig * @covers WindowsAzure\Common\Internal\ServicesBuilder::_validateConfigSetting */ public function testValidateConfigWithEmptyTableSettingConfig() { $missingValueMsg = sprintf(Resources::MISSING_CONFIG_SETTING_VALUE_MSG, 'TableSettings::ACCOUNT_KEY'); $config = new Configuration(); $config->setProperty(TableSettings::ACCOUNT_NAME, TestResources::accountName()); $config->setProperty(TableSettings::ACCOUNT_KEY, null); $config->setProperty(TableSettings::URI, 'url'); $builder = new ServicesBuilder(); $this->setExpectedException('\\InvalidArgumentException', $missingValueMsg); $builder->build($config, Resources::TABLE_TYPE_NAME); }
/** * @covers WindowsAzure\ServiceBus\Internal\WrapTokenManager::__construct * @covers WindowsAzure\ServiceBus\Internal\WrapTokenManager::getAccessToken */ public function testGetAccesTokenFailedWithInvalidPassword() { $this->setExpectedException(get_class(new ServiceException(''))); $settings = ServiceBusSettings::createFromConnectionString(TestResources::getServiceBusConnectionString()); $wrapUri = $settings->getWrapEndpointUri(); $wrapUserName = $settings->getWrapName(); $wrapPassword = '******'; $scope = $settings->getServiceBusEndpointUri(); $wrapTokenManager = new WrapTokenManager($wrapUri, $wrapUserName, $wrapPassword, $this->_wrapRestProxy); // Test $wrapTokenManager->getAccessToken($scope); }
/** * @covers WindowsAzure\Table\TableRestProxy::batch * @covers WindowsAzure\Table\TableRestProxy::_createBatchRequestBody * @covers WindowsAzure\Table\TableRestProxy::_getOperationContext * @covers WindowsAzure\Table\TableRestProxy::_createOperationsContexts * @covers WindowsAzure\Table\TableRestProxy::_constructPutOrMergeEntityContext * @covers WindowsAzure\Table\Internal\MimeReaderWriter::encodeMimeMultipart * @covers WindowsAzure\Table\Internal\MimeReaderWriter::decodeMimeMultipart * @covers WindowsAzure\Table\Models\BatchResult::create * @covers WindowsAzure\Table\Models\BatchResult::_constructResponses * @covers WindowsAzure\Table\Models\BatchResult::_compareUsingContentId * @covers WindowsAzure\Common\Internal\ServiceRestProxy::sendContext */ public function testBatchWithDifferentPKFail() { // Setup $name = 'batchwithwithdifferentpkfail'; $this->createTable($name); $partitionKey = '123'; $rk1 = '456'; $rk3 = '458'; $delete = TestResources::getTestEntity($partitionKey, $rk1); $update = TestResources::getTestEntity($partitionKey, $rk3); $this->restProxy->insertEntity($name, $delete); $this->restProxy->insertEntity($name, $update); $result = $this->restProxy->queryEntities($name); $entities = $result->getEntities(); $delete = $entities[0]; $update = $entities[1]; $update->addProperty('CustomerPlace', EdmType::STRING, 'Redmond'); $operations = new BatchOperations(); $operations->addUpdateEntity($name, $update); $operations->addDeleteEntity($name, '125', $delete->getRowKey(), $delete->getETag()); // Test $result = $this->restProxy->batch($operations); // Assert $this->assertTrue(true); }
/** * @covers WindowsAzure\Common\Models\Metrics::toArray */ public function testToArrayWithNotEnabled() { // Setup $sample = TestResources::getServicePropertiesSample(); $sample['Metrics']['Enabled'] = 'false'; $metrics = Metrics::create($sample['Metrics']); $expected = array('Version' => $sample['Metrics']['Version'], 'Enabled' => $sample['Metrics']['Enabled'], 'RetentionPolicy' => $metrics->getRetentionPolicy()->toArray()); // Test $actual = $metrics->toArray(); // Assert $this->assertEquals($expected, $actual); }