public function testDescribeEventsIterator() { $maxRecords = 25; $events = $this->redshift->getIterator('DescribeEvents', array('StartTime' => strtotime('-13 days'), 'EndTime' => strtotime('now'), 'MaxRecords' => $maxRecords)); $total = iterator_count($events); $expected = ceil($total / $maxRecords); $this->assertEquals($expected ?: 1, $events->getRequestCount()); }
public function exampleTestBasicClusterOperations() { $clusterId = 'php-integ-redshift-cluster-' . time(); $snapshotId = 'php-integ-redshift-snapshot-' . time(); self::log('Launch a cluster.'); $this->redshift->getCommand('CreateCluster', array('ClusterIdentifier' => $clusterId, 'ClusterType' => 'multi-node', 'MasterUsername' => 'phpinteguser', 'MasterUserPassword' => 'PHPint3gu$er', 'NodeType' => 'dw.hs1.xlarge', 'NumberOfNodes' => 2))->execute(); self::log('Get a list of all of the clusters and make sure there is at least one.'); $clusters = $this->redshift->getIterator('DescribeClusters'); $this->assertGreaterThanOrEqual(1, iterator_count($clusters)); self::log('Make sure the new cluster exists.'); $result = $this->redshift->getCommand('DescribeClusters', array('ClusterIdentifier' => $clusterId))->getResult(); $this->assertCount(1, $result->get('Clusters')); self::log('Wait until the cluster exists. This can take around 20 minutes.'); $this->redshift->waitUntilClusterAvailable(array('ClusterIdentifier' => $clusterId)); self::log('Create a snapshot of the cluster and wait until it is available.'); $this->redshift->getCommand('CreateClusterSnapshot', array('ClusterIdentifier' => $clusterId, 'SnapshotIdentifier' => $snapshotId))->execute(); $this->redshift->waitUntilSnapshotAvailable(array('SnapshotIdentifier' => $snapshotId)); self::log('Delete the snapshot.'); $this->redshift->getCommand('DeleteClusterSnapshot', array('SnapshotIdentifier' => $snapshotId))->execute(); self::log('Delete the cluster.'); $this->redshift->getCommand('DeleteCluster', array('ClusterIdentifier' => $clusterId, 'SkipFinalClusterSnapshot' => true))->execute(); self::log('Wait until the cluster is deleted.'); $this->redshift->waitUntilClusterDeleted(array('ClusterIdentifier' => $clusterId)); }