/**
  * @covers WindowsAzure\ServiceManagement\Models\GetHostedServicePropertiesOptions::setEmbedDetail
  * @covers WindowsAzure\ServiceManagement\Models\GetHostedServicePropertiesOptions::getEmbedDetail
  * @covers WindowsAzure\ServiceManagement\Models\GetHostedServicePropertiesOptions::__construct
  */
 public function testSetEmbedDetail()
 {
     // Setup
     $service = new GetHostedServicePropertiesOptions();
     $expected = true;
     // Test
     $service->setEmbedDetail($expected);
     // Assert
     $this->assertEquals($expected, $service->getEmbedDetail());
 }
 /**
  * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::getHostedServiceProperties
  * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::_getHostedServicePath
  * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::_getPath
  * @covers WindowsAzure\ServiceManagement\Models\GetHostedServicePropertiesResult::create
  * @group HostedService
  */
 public function testGetHostedServicePropertiesWithEmbed()
 {
     // Setup
     $name = $this->getTestName();
     $stagingName = $name . 'staging';
     $options = new GetHostedServicePropertiesOptions();
     $options->setEmbedDetail(true);
     $this->createDeployment($name);
     $this->createDeployment($name, DeploymentSlot::STAGING, $stagingName);
     // Test
     $result = $this->restProxy->getHostedServiceProperties($name, $options);
     // Need to delete the staging deployment manually
     $this->deleteDeployment($name, DeploymentSlot::STAGING);
     // Assert
     $this->assertEquals($name, $result->getHostedService()->getName());
     $this->assertEquals($this->defaultLocation, $result->getHostedService()->getLocation());
     $this->assertEquals(base64_encode($name), $result->getHostedService()->getLabel());
     $this->assertCount(2, $result->getHostedService()->getDeployments());
     $deployments = $result->getHostedService()->getDeployments();
     $deployment1 = $deployments[0];
     $deployment2 = $deployments[1];
     // First deployment
     $this->assertSuspendedDeploymentWithOneRole($deployment1, $name, DeploymentSlot::PRODUCTION, 'WebRole1', 'WebRole1_IN_0');
     // Second deployment
     $this->assertSuspendedDeploymentWithOneRole($deployment2, $stagingName, DeploymentSlot::STAGING, 'WebRole1', 'WebRole1_IN_0');
 }