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

testLoadBalancerListeners() public method

    public function testLoadBalancerListeners()
    {
        $listenersResult = array('Listeners.member.1.Protocol' => 'HTTP', 'Listeners.member.1.InstancePort' => 1024, 'Listeners.member.1.LoadBalancerPort' => 80, 'Listeners.member.1.SSLCertificateId' => '', 'Listeners.member.2.Protocol' => 'HTTP', 'Listeners.member.2.InstancePort' => 1025, 'Listeners.member.2.LoadBalancerPort' => 1025, 'Listeners.member.2.SSLCertificateId' => null, 'Listeners.member.3.Protocol' => 'HTTP', 'Listeners.member.3.InstancePort' => 1026, 'Listeners.member.3.LoadBalancerPort' => 1026, 'Listeners.member.3.SSLCertificateId' => null);
        $loadBalancerName = self::LB_NAME_TEST;
        $elb = $this->getElbMock();
        $repo = $elb->getEntityManager()->getRepository('Elb:LoadBalancerDescription');
        $loadBalancer = $elb->loadBalancer->describe($loadBalancerName)->get(0);
        $ret = $loadBalancer->createListeners(array(new ListenerData(1025, 1025, 'HTTP'), new ListenerData(1026, 1026, 'HTTP')));
        $this->assertTrue($ret, 'Could not create listeners');
        foreach ($loadBalancer->listenerDescriptions as $v) {
            $this->assertInstanceOf('Scalr\\Service\\Aws\\Elb', $v->getElb());
            $this->assertEquals($loadBalancerName, $v->getLoadBalancerName());
            $this->assertInstanceOf('Scalr\\Service\\Aws\\Elb', $v->listener->getElb());
            $this->assertEquals($loadBalancerName, $v->listener->getLoadBalancerName());
        }
        $this->assertEquals($listenersResult, $loadBalancer->listenerDescriptions->getQueryArray());
        $ret = $loadBalancer->createListeners();
        $this->assertTrue($ret, 'Can not create listeners from loadBalancer instance itself.');
        $this->assertEquals($listenersResult, $loadBalancer->listenerDescriptions->getQueryArray());
        $loadBalancer->deleteListeners(80);
        $this->assertEquals(array('Listeners.member.1.Protocol' => 'HTTP', 'Listeners.member.1.InstancePort' => 1025, 'Listeners.member.1.LoadBalancerPort' => 1025, 'Listeners.member.1.SSLCertificateId' => null, 'Listeners.member.2.Protocol' => 'HTTP', 'Listeners.member.2.InstancePort' => 1026, 'Listeners.member.2.LoadBalancerPort' => 1026, 'Listeners.member.2.SSLCertificateId' => null), $loadBalancer->listenerDescriptions->getQueryArray());
        $elb->loadBalancer->deleteListeners($loadBalancerName, array(1025, 1026));
        $this->assertEquals(array(), $loadBalancer->listenerDescriptions->getQueryArray());
        $loadBalancer->delete();
    }