Scalr\Tests\Service\Aws\RdsTest::testDescribeDBInstances PHP Method

testDescribeDBInstances() public method

    public function testDescribeDBInstances()
    {
        $rds = $this->getRdsMock();
        $dbInstanceList = $rds->dbInstance->describe();
        $this->assertInstanceOf($this->getRdsClassName('DataType\\DBInstanceList'), $dbInstanceList);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbInstanceList->getRds());
        $this->assertEquals(1, count($dbInstanceList));
        /* @var $dbi DBInstanceData */
        $dbi = $dbInstanceList->get(0);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\DBInstanceData'), $dbi);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbi->getRds());
        $this->assertEquals('foo-rds', $dbi->dBInstanceIdentifier);
        $this->assertSame($dbi, $rds->dbInstance->get($dbi->dBInstanceIdentifier));
        $this->assertEquals(1, $dbi->backupRetentionPeriod);
        $this->assertEquals('available', $dbi->dBInstanceStatus);
        $this->assertEquals(false, $dbi->multiAZ);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\VpcSecurityGroupMembershipList'), $dbi->vpcSecurityGroups);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbi->vpcSecurityGroups->getRds());
        $this->assertEquals(1, count($dbi->vpcSecurityGroups));
        /* @var $vpcgroup VpcSecurityGroupMembershipData */
        $vpcgroup = $dbi->vpcSecurityGroups->get(0);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\VpcSecurityGroupMembershipData'), $vpcgroup);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $vpcgroup->getRds());
        $this->assertEquals('vpc-secuity-group-id', $vpcgroup->vpcSecurityGroupId);
        $this->assertEquals('vpc-status', $vpcgroup->status);
        unset($vpcgroup);
        $this->assertEquals('10:00-12:00', $dbi->preferredBackupWindow);
        $this->assertEquals('mon:05:00-mon:09:00', $dbi->preferredMaintenanceWindow);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\OptionGroupMembershipList'), $dbi->optionGroupMembership);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbi->optionGroupMembership->getRds());
        $this->assertEquals('default:mysql-5-1', $dbi->optionGroupMembership->get(0)->optionGroupName);
        $this->assertEquals('in-sync', $dbi->optionGroupMembership->get(0)->status);
        $this->assertEquals('us-east-1a', $dbi->availabilityZone);
        $this->assertEquals('2013-03-19T16:15:00+00:00', $dbi->latestRestorableTime->format('c'));
        $this->assertEquals(array('replica-foo-rds'), $dbi->readReplicaDBInstanceIdentifiers);
        $this->assertEquals('mysql', $dbi->engine);
        $this->assertEquals(null, $dbi->pendingModifiedValues);
        $this->assertEquals('general-public-license', $dbi->licenseModel);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\DBParameterGroupStatusList'), $dbi->dBParameterGroups);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbi->dBParameterGroups->getRds());
        $this->assertEquals(1, count($dbi->dBParameterGroups));
        /* @var $pargroup DBParameterGroupStatusData */
        $pargroup = $dbi->dBParameterGroups->get(0);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\DBParameterGroupStatusData'), $pargroup);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $pargroup->getRds());
        $this->assertEquals('in-sync', $pargroup->parameterApplyStatus);
        $this->assertEquals('default.mysql5.1', $pargroup->dBParameterGroupName);
        unset($pargroup);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\EndpointData'), $dbi->endpoint);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbi->endpoint->getRds());
        $this->assertEquals(3306, $dbi->endpoint->port);
        $this->assertEquals('foo-rds.c13pxxclnfjg.us-east-1.rds.amazonaws.com', $dbi->endpoint->address);
        $this->assertEquals('5.1.63', $dbi->engineVersion);
        $this->assertEquals(true, $dbi->publiclyAccessible);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\DBSecurityGroupMembershipList'), $dbi->dBSecurityGroups);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbi->dBSecurityGroups->getRds());
        $this->assertEquals(1, count($dbi->dBSecurityGroups));
        /* @var $dbsg DBSecurityGroupMembershipData */
        $dbsg = $dbi->dBSecurityGroups->get(0);
        $this->assertInstanceOf($this->getRdsClassName('DataType\\DBSecurityGroupMembershipData'), $dbsg);
        $this->assertInstanceOf($this->getAwsClassName('Rds'), $dbsg->getRds());
        $this->assertEquals('default', $dbsg->dBSecurityGroupName);
        $this->assertEquals('active', $dbsg->status);
        unset($dbsg);
        $this->assertEquals(true, $dbi->autoMinorVersionUpgrade);
        $this->assertEquals('2012-12-09T21:47:08+00:00', $dbi->instanceCreateTime->format('c'));
        $this->assertEquals(5, $dbi->allocatedStorage);
        $this->assertEquals('db.m1.small', $dbi->dBInstanceClass);
        $this->assertEquals('root', $dbi->masterUsername);
        $rds->getEntityManager()->detachAll();
    }