/** * @test */ public function testFunctional() { $this->skipIfEc2PlatformDisabled(); $aws = $this->aws; //$aws->setDebug(true); $list = $aws->cloudFront->distribution->describe(); $this->assertInstanceOf($this->getCloudFrontClassName('DataType\\DistributionList'), $list); /* @var $dist CloudFrontDataType\DistirbutionData */ foreach ($list as $dist) { $dist->refresh(); $this->assertNotEmpty($dist->getOriginalXml()); $this->assertNotNull($dist->distributionConfig->getETag()); $dist->refreshConfig(); $this->assertNotNull($dist->getETag()); $this->assertInstanceOf($this->getCloudFrontClassName('DataType\\DistributionConfigData'), $dist->distributionConfig); $this->assertNotEmpty($dist->distributionConfig->getOriginalXml()); $dom = new \DOMDocument(); $dom->loadXML($dist->distributionConfig->getOriginalXml()); $this->assertEqualXMLStructure($dom->firstChild, $dist->distributionConfig->toXml(true)->firstChild); unset($dist); } unset($list); //Creates distribution $origin = new CloudFrontDataType\DistributionConfigOriginData(); $origin->originId = 'MyOriginId'; $origin->domainName = 'test.s3.amazonaws.com'; $origin->setS3OriginConfig(new CloudFrontDataType\DistributionS3OriginConfigData('')); $fvd = new CloudFrontDataType\ForwardedValuesData(); $fvd->queryString = false; $fvd->setCookies(new CloudFrontDataType\ForwardedValuesCookiesData(CloudFrontDataType\ForwardedValuesCookiesData::FORWARD_NONE)); $ts = new CloudFrontDataType\TrustedSignerList(); $ts->setEnabled(false); $dcb = new CloudFrontDataType\CacheBehaviorData(); $dcb->minTtl = 3600; $dcb->targetOriginId = $origin->originId; $dcb->viewerProtocolPolicy = 'allow-all'; $dcb->setForwardedValues($fvd); $dcb->setTrustedSigners($ts); $dc = new CloudFrontDataType\DistributionConfigData(); $dc->comment = 'phpunit test distribution'; $dc->enabled = false; $dc->setAliases(array(array('cname' => 'test2.scalr.com'))); $dc->priceClass = 'PriceClass_All'; $dc->setOrigins($origin); $dc->setDefaultCacheBehavior($dcb); $dist = $aws->cloudFront->distribution->create($dc); $this->assertInstanceOf($this->getCloudFrontClassName('DataType\\DistributionData'), $dist); $dist->refresh(); //Too time consuming test // $ret = $dist->delete(); // $this->assertTrue($ret); //Releases all memory from storage. $aws->getEntityManager()->detachAll(); }
/** * Parses TrustedSignerList * * @param \SimpleXMLElement $sxml * @return TrustedSignerList Returns TrustedSignerList object */ protected function _loadTrustedSignerList(\SimpleXMLElement $sxml) { $list = new TrustedSignerList(); $list->setCloudFront($this->cloudFront); $list->setEnabled($this->exist($sxml->Enabled) ? (string) $sxml->Enabled == 'true' : null); if (!empty($sxml->Items->Singer)) { foreach ($sxml->Items->Singer as $v) { $item = new TrustedSignerData(); $item->awsAccountNumber = (string) $v->AwsAccountNumber; $item->setKeyPairIds($this->_loadKeyPairList($v->KeyPairIds)); $list->append($item); unset($item); } } return $list; }
/** * Constructor * * @param string $targetOriginId optional * @param string $viewerProtocolPolicy optional * @param int $minTtl optional * @param int $defaultTtl optional * @param int $maxTtl optional * @param string $pathPattern optional */ public function __construct($targetOriginId = null, $viewerProtocolPolicy = null, $minTtl = null, $defaultTtl = null, $maxTtl = null, $pathPattern = null) { $this->targetOriginId = $targetOriginId; $this->pathPattern = $pathPattern; $this->viewerProtocolPolicy = $viewerProtocolPolicy; $this->minTtl = $minTtl; $this->defaultTtl = $defaultTtl; $this->maxTtl = $maxTtl; $this->setForwardedValues(new ForwardedValuesData(false)); $ts = new TrustedSignerList(); $ts->setEnabled(false); $this->setTrustedSigners($ts); }