Zend_Service_Amazon_Ec2_Instance_Windows = new Zend_Service_Amazon_Ec2_Instance_Windows('access_key', 'secret_access_key'); $adapter = new Zend_Http_Client_Adapter_Test(); $client = new Zend_Http_Client(null, array( 'adapter' => $adapter )); $this->adapter = $adapter; Zend_Service_Amazon_Ec2_Instance_Windows::setHttpClient($client); } /** * Cleans up the environment after running a test. */ protected function tearDown() { unset($this->adapter); $this->Zend_Service_Amazon_Ec2_Instance_Windows = null; parent::tearDown(); } /** * Tests Zend_Service_Amazon_Ec2_Instance_Windows->bundle() */ public function testBundle() { $rawHttpResponse = "HTTP/1.1 200 OK\r\n" . "Date: Fri, 24 Oct 2008 17:24:52 GMT\r\n" . "Server: hi\r\n" . "Last-modified: Fri, 24 Oct 2008 17:24:52 GMT\r\n" . "Status: 200 OK\r\n" . "Content-type: application/xml; charset=utf-8\r\n" . "Expires: Tue, 31 Mar 1981 05:00:00 GMT\r\n" . "Connection: close\r\n" . "\r\n" ."\r\n" ." bun-c1a540a8\r\n" ." \r\n" ." i-12345678\r\n" ." bun-cla322b9\r\n" ." bundling\r\n" ." 2008-10-07T11:41:50.000Z\r\n" ." 2008-10-07T11:51:50.000Z\r\n" ." 20%\r\n" ." \r\n" ." \r\n" ." my-bucket\r\n" ." my-new-image\r\n" ." \r\n" ." \r\n" ." \r\n" .""; $this->adapter->setResponse($rawHttpResponse); $return = $this->Zend_Service_Amazon_Ec2_Instance_Windows->bundle('i-12345678', 'my-bucket', 'my-new-image'); print_r($return); $arrReturn = array( "instanceId" => "i-12345678", "bundleId" => "bun-cla322b9", "state" => "bundling", "startTime" => "2008-10-07T11:41:50.000Z", "updateTime" => "2008-10-07T11:51:50.000Z", "progress" => "20%", "storage" => array( "s3" => array ( "bucket" => "my-bucket", "prefix" => "my-new-image" ) ) ); $this->assertSame($arrReturn, $return); } /** * Tests Zend_Service_Amazon_Ec2_Instance_Windows->cancelBundle() */ public function testCancelBundle() { $rawHttpResponse = "HTTP/1.1 200 OK\r\n" . "Date: Fri, 24 Oct 2008 17:24:52 GMT\r\n" . "Server: hi\r\n" . "Last-modified: Fri, 24 Oct 2008 17:24:52 GMT\r\n" . "Status: 200 OK\r\n" . "Content-type: application/xml; charset=utf-8\r\n" . "Expires: Tue, 31 Mar 1981 05:00:00 GMT\r\n" . "Connection: close\r\n" . "\r\n" ."\r\n" ." \r\n" ." i-12345678\r\n" ." bun-cla322b9\r\n" ." canceling\r\n" ." 2008-10-07T11:41:50.000Z\r\n" ." 2008-10-07T11:51:50.000Z\r\n" ." 20%\r\n" ." \r\n" ." \r\n" ." my-bucket\r\n" ." my-new-image\r\n" ." \r\n" ." \r\n" ." \r\n" .""; $this->adapter->setResponse($rawHttpResponse); $return = $this->Zend_Service_Amazon_Ec2_Instance_Windows->cancelBundle('bun-cla322b9'); $arrReturn = array( "instanceId" => "i-12345678", "bundleId" => "bun-cla322b9", "state" => "canceling", "startTime" => "2008-10-07T11:41:50.000Z", "updateTime" => "2008-10-07T11:51:50.000Z", "progress" => "20%", "storage" => array( "s3" => array ( "bucket" => "my-bucket", "prefix" => "my-new-image" ) ) ); $this->assertSame($arrReturn, $return); } /** * Tests Zend_Service_Amazon_Ec2_Instance_Windows->describeBundle() */ public function testDescribeBundle() { $rawHttpResponse = "HTTP/1.1 200 OK\r\n" . "Date: Fri, 24 Oct 2008 17:24:52 GMT\r\n" . "Server: hi\r\n" . "Last-modified: Fri, 24 Oct 2008 17:24:52 GMT\r\n" . "Status: 200 OK\r\n" . "Content-type: application/xml; charset=utf-8\r\n" . "Expires: Tue, 31 Mar 1981 05:00:00 GMT\r\n" . "Connection: close\r\n" . "\r\n" ."\r\n" ." \r\n" ." \r\n" ." i-12345678\r\n" ." bun-cla322b9\r\n" ." bundling\r\n" ." 2008-10-07T11:41:50.000Z\r\n" ." 2008-10-07T11:51:50.000Z\r\n" ." 20%\r\n" ." \r\n" ." \r\n" ." my-bucket\r\n" ." my-new-image\r\n" ." \r\n" ." \r\n" ." \r\n" ." \r\n" .""; $this->adapter->setResponse($rawHttpResponse); $return = $this->Zend_Service_Amazon_Ec2_Instance_Windows->describeBundle('bun-cla322b9'); $arrReturn = array( array( "instanceId" => "i-12345678", "bundleId" => "bun-cla322b9", "state" => "bundling", "startTime" => "2008-10-07T11:41:50.000Z", "updateTime" => "2008-10-07T11:51:50.000Z", "progress" => "20%", "storage" => array( "s3" => array ( "bucket" => "my-bucket", "prefix" => "my-new-image" ) ) ) ); $this->assertSame($arrReturn, $return); } }