Scalr\Tests\Service\Aws\CloudFrontTest::testFunctional PHP Метод

testFunctional() публичный Метод

public testFunctional ( )
    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();
    }