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

testInstances() public method

public testInstances ( )
    public function testInstances()
    {
        $loadBalancerName = self::LB_NAME_TEST;
        $elb = $this->getElbMock();
        $loadBalancer = $elb->loadBalancer->describe($loadBalancerName)->get(0);
        $this->assertEquals(array('instance-id-1', 'instance-id-2'), array_values($loadBalancer->instances->getQueryArray()));
        $loadBalancer->registerInstances(array('instance-id-3', 'instance-id-4'));
        $this->assertEquals(array('instance-id-1', 'instance-id-2', 'instance-id-3', 'instance-id-4'), array_values($loadBalancer->instances->getQueryArray()));
        $res = $loadBalancer->deregisterInstances(array('instance-id-2', 'instance-id-3'));
        $this->assertEquals(array('instance-id-1', 'instance-id-4'), array_values($loadBalancer->instances->getQueryArray()));
        $this->assertEquals($res, $loadBalancer->instances);
        $instanceHealthResult = $loadBalancer->describeInstanceHealth(array('instance-id-1', 'instance-id-4'));
        $this->assertEquals(2, count($instanceHealthResult));
        for ($i = 0; $i < 1; $i++) {
            foreach (array('description', 'instance-id', 'reason-code', 'state') as $j) {
                $name = preg_replace_callback('/(-([a-z]))/', function ($a) {
                    return strtoupper($a[2]);
                }, $j);
                $this->assertEquals($j . '-' . ($i * 3 + 1), $instanceHealthResult[$i]->{$name});
            }
        }
        $loadBalancer->delete();
    }