Scalr\Tests\Service\Aws\ElbTest::testExternalIdentifiersInheritance PHP Method

testExternalIdentifiersInheritance() public method

    public function testExternalIdentifiersInheritance()
    {
        $loadBalancerName = self::LB_NAME_TEST;
        $elb = $this->getElbMock();
        $elbClass = get_class($elb);
        /* @var $lb LoadBalancerDescriptionData */
        $lb = $elb->loadBalancer->describe($loadBalancerName)->get(0);
        $this->assertInstanceOf($elbClass, $lb->listenerDescriptions->getElb());
        $this->assertEquals($loadBalancerName, $lb->listenerDescriptions->getLoadBalancerName());
        foreach ($lb->listenerDescriptions as $listenerDescription) {
            $this->assertInstanceOf($elbClass, $listenerDescription->getElb());
            $this->assertEquals($loadBalancerName, $listenerDescription->getLoadBalancerName());
        }
        $this->assertInstanceOf($elbClass, $lb->backendServerDescriptions->getElb());
        $this->assertEquals($loadBalancerName, $lb->backendServerDescriptions->getLoadBalancerName());
        foreach ($lb->backendServerDescriptions as $backendServerDescription) {
            $this->assertInstanceOf($elbClass, $backendServerDescription->getElb());
            $this->assertEquals($loadBalancerName, $backendServerDescription->getLoadBalancerName());
        }
        $this->assertInstanceOf($elbClass, $lb->healthCheck->getElb());
        $this->assertEquals($loadBalancerName, $lb->healthCheck->getLoadBalancerName());
        $this->assertInstanceOf($elbClass, $lb->instances->getElb());
        $this->assertEquals($loadBalancerName, $lb->instances->getLoadBalancerName());
        foreach ($lb->instances as $instance) {
            $this->assertInstanceOf($elbClass, $instance->getElb());
            $this->assertEquals($loadBalancerName, $instance->getLoadBalancerName());
        }
        $this->assertInstanceOf($elbClass, $lb->policies->getElb());
        $this->assertEquals($loadBalancerName, $lb->instances->getLoadBalancerName());
        $this->assertInstanceOf($elbClass, $lb->policies->appCookieStickinessPolicies->getElb());
        $this->assertEquals($loadBalancerName, $lb->policies->appCookieStickinessPolicies->getLoadBalancerName());
        foreach ($lb->policies->appCookieStickinessPolicies as $appCookieStickinessPolicy) {
            $this->assertInstanceOf($elbClass, $appCookieStickinessPolicy->getElb());
            $this->assertEquals($loadBalancerName, $appCookieStickinessPolicy->getLoadBalancerName());
        }
        $this->assertInstanceOf($elbClass, $lb->policies->lbCookieStickinessPolicies->getElb());
        $this->assertEquals($loadBalancerName, $lb->policies->lbCookieStickinessPolicies->getLoadBalancerName());
        foreach ($lb->policies->lbCookieStickinessPolicies as $lbCookieStickinessPolicy) {
            $this->assertInstanceOf($elbClass, $lbCookieStickinessPolicy->getElb());
            $this->assertEquals($loadBalancerName, $lbCookieStickinessPolicy->getLoadBalancerName());
        }
        $this->assertInstanceOf($elbClass, $lb->sourceSecurityGroup->getElb());
        $this->assertEquals($loadBalancerName, $lb->sourceSecurityGroup->getLoadBalancerName());
    }