/**
  * Gets a WRAP access token with specified parameters.
  * 
  * @param string $uri      The URI of the WRAP service.
  * @param string $name     The user name of the WRAP service. 
  * @param string $password The password of the WRAP service. 
  * @param string $scope    The scope of the WRAP service. 
  * 
  * @return WindowsAzure\ServiceBus\Internal\WrapAccessTokenResult
  */
 public function wrapAccessToken($uri, $name, $password, $scope)
 {
     $method = Resources::HTTP_POST;
     $headers = array();
     $queryParams = array();
     $postParameters = array();
     $statusCode = Resources::STATUS_OK;
     $postParameters = $this->addPostParameter($postParameters, Resources::WRAP_NAME, $name);
     $postParameters = $this->addPostParameter($postParameters, Resources::WRAP_PASSWORD, $password);
     $postParameters = $this->addPostParameter($postParameters, Resources::WRAP_SCOPE, $scope);
     $this->setUri($uri);
     $response = $this->send($method, $headers, $queryParams, $postParameters, Resources::EMPTY_STRING, $statusCode);
     return WrapAccessTokenResult::create($response->getBody());
 }
 /**
  * @covers WindowsAzure\ServiceBus\Internal\WrapAccessTokenResult::create
  */
 public function testCreateWrapAccessTokenSuccess()
 {
     // Setup
     $expectedWrapAccessToken = 'WRAP_ACCESS_TOKEN';
     $expectedWrapAccessTokenExpiresIn = 300;
     $queryParameter = array('wrap_access_token' => 'WRAP_ACCESS_TOKEN', 'wrap_access_token_expires_in' => 300);
     $queryString = http_build_query($queryParameter);
     // Test
     $wrapAccessTokenResult = WrapAccessTokenResult::create($queryString);
     $actualWrapAccessToken = $wrapAccessTokenResult->getAccessToken();
     $actualWrapAccessTokenExpiresIn = $wrapAccessTokenResult->getExpiresIn();
     // Assert
     $this->assertEquals($expectedWrapAccessToken, $actualWrapAccessToken);
     $this->assertEquals($expectedWrapAccessTokenExpiresIn, $actualWrapAccessTokenExpiresIn);
 }