Scalr\Tests\Service\Aws\SqsTest::testFunctionalSqs PHP Method

testFunctionalSqs() public method

public testFunctionalSqs ( )
    public function testFunctionalSqs()
    {
        $this->skipIfEc2PlatformDisabled();
        $client = $this->sqs->getApiHandler()->getClient();
        //This test should pass only when we start it before 60 second timeout.
        $testQueueName = self::getTestName('queue-name');
        $queue = $this->sqs->queue->create($testQueueName, new QueueAttributeData('DelaySeconds', 0));
        $this->assertInstanceOf(SqsTestCase::CLASS_SQS_QUEUE_DATA, $queue);
        $this->assertEquals($testQueueName, $queue->queueName);
        $this->assertEquals($this->sqs->getUrl() . '/' . $this->getContainer()->awsAccountNumber . '/' . $testQueueName, preg_replace('#^https?\\://#', '', $queue->queueUrl));
        $queue2 = $this->sqs->queue->getUrl($testQueueName);
        $this->assertInstanceOf(SqsTestCase::CLASS_SQS_QUEUE_DATA, $queue2);
        $this->assertEquals(spl_object_hash($queue), spl_object_hash($queue2));
        unset($queue2);
        $queueList = $this->sqs->queue->getList();
        $this->assertInstanceOf(SqsTestCase::CLASS_SQS_QUEUE_LIST, $queueList);
        $queueFromStorage = $this->sqs->queue->get($testQueueName);
        $this->assertInstanceOf(SqsTestCase::CLASS_SQS_QUEUE_DATA, $queueFromStorage);
        $this->assertEquals(spl_object_hash($queue), spl_object_hash($queueFromStorage));
        unset($queueFromStorage);
        $attrs = $queue->fetchAttributes();
        $this->assertInstanceOf(SqsTestCase::CLASS_SQS_QUEUE_ATTRIBUTE_LIST, $attrs);
        $this->assertNotNull($queue->getDelaySeconds());
        unset($attrs);
        $res = $queue->delete();
        $this->assertTrue($res);
        $this->assertNull($this->sqs->queue->get($testQueueName));
    }