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

testConfigureHealthCheck() public method

    public function testConfigureHealthCheck()
    {
        $loadBalancerName = self::LB_NAME_TEST;
        $elb = $this->getElbMock();
        $loadBalancer = $elb->loadBalancer->describe($loadBalancerName)->get(0);
        //Saves the original value of healthCheck
        $original = clone $loadBalancer->healthCheck;
        //Modify own loadBalancer's healthCheck data
        $loadBalancer->healthCheck->interval = 10;
        $loadBalancer->healthCheck->target = 'TCP:1025';
        $loadBalancer->healthCheck->healthyThreshold = 15;
        $loadBalancer->healthCheck->timeout = 2;
        $loadBalancer->healthCheck->unhealthyThreshold = 1;
        //Saves the expected result
        $expected = clone $loadBalancer->healthCheck;
        //Configure healthCheck using loadBalancer's own dataset
        $result = $loadBalancer->configureHealthCheck();
        $this->assertEquals($expected, $result);
        //Reset loadBalancer
        $elb->loadBalancer->describe($loadBalancerName);
        //Checks if it's ok
        $this->assertEquals($original->toArray(), $loadBalancer->healthCheck->toArray());
        //Configures healthCheck
        $result = $loadBalancer->configureHealthCheck($expected);
        //Checks if the result matches expected
        $this->assertEquals($expected->toArray(), $result->toArray());
        //Checks whether loadBalancer's own healthCheck dataset is updated with the result.
        $this->assertEquals($expected->toArray(), $loadBalancer->healthCheck->toArray());
        unset($expected);
        unset($result);
        $loadBalancer->delete();
    }