public function testBasicInstanceOperations()
 {
     self::log("\n[#2] Test basic run and terminate operations of instances, including waiting for state changes.");
     self::log('Launch two instances.');
     $result = $this->client->getCommand('RunInstances', array('ImageId' => self::TEST_AMI, 'MinCount' => 2, 'MaxCount' => 2, 'InstanceType' => InstanceType::T1_MICRO))->getResult();
     self::log('Get the IDs of those two instances.');
     $instanceIds = array();
     foreach ($result['Instances'] as $instance) {
         $this->assertRegExp('/^i\\-[a-f0-9]{8}/', $instance['InstanceId']);
         $instanceIds[] = $instance['InstanceId'];
     }
     $this->assertCount(2, $instanceIds);
     self::log('Wait until they are running.');
     $this->client->waitUntilInstanceRunning(array('InstanceIds' => $instanceIds));
     self::log('Terminate the instances and verify that they are shutting-down.');
     $result = $this->client->getCommand('TerminateInstances', array('InstanceIds' => $instanceIds))->getResult();
     $this->assertEquals(InstanceStateName::SHUTTING_DOWN, $result->getPath('TerminatingInstances/0/CurrentState/Name'));
     $this->assertEquals(InstanceStateName::SHUTTING_DOWN, $result->getPath('TerminatingInstances/1/CurrentState/Name'));
     self::log('Wait until they are terminated.');
     $this->client->waitUntilInstanceTerminated(array('InstanceIds' => $instanceIds));
     self::log('Verify that the instances are terminated using the DescribeInstances iterator.');
     $instances = $this->client->getIterator('DescribeInstances', array('InstanceIds' => $instanceIds));
     foreach ($instances as $instance) {
         $this->assertEquals(InstanceStateName::TERMINATED, $instance['State']['Name']);
     }
 }
示例#2
0
 /**
  * @dataProvider iteratorProvider
  */
 public function testDescribeIteratorTest(Operation $operation)
 {
     switch ($operation->getName()) {
         case 'DescribeImages':
         case 'DescribeReservedInstancesListings':
         case 'DescribeLicenses':
             self::log('Not running ' . $operation->getName());
             return;
     }
     self::log('Testing iterator: ' . $operation->getName());
     $iterator = $this->client->getIterator($operation->getName(), null, array('limit' => 25));
     $this->assertLessThanOrEqual(25, iterator_count($iterator));
     foreach ($iterator as $result) {
         $this->assertInternalType('array', $result);
     }
 }