/** * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::changeDeploymentConfiguration * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::_getDeploymentPath * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::_getPath * @covers WindowsAzure\ServiceManagement\ServiceManagementRestProxy::_createRequestXml * @covers WindowsAzure\ServiceManagement\Models\AsynchronousOperationResult::create * @group Deployment */ public function testChangeDeploymentConfiguration() { // Setup $name = $this->getTestName(); $newConfig = '<?xml version="1.0" encoding="utf-8"?> <ServiceConfiguration serviceName="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2013-10.2.2"> <Role name="WebRole1"> <Instances count="2" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> </ConfigurationSettings> </Role> </ServiceConfiguration>'; $expected = 'PFNlcnZpY2VDb25maWd1cmF0aW9uIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHNlcnZpY2VOYW1lPSIiIG9zRmFtaWx5PSIzIiBvc1ZlcnNpb249IioiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NlcnZpY2VIb3N0aW5nLzIwMDgvMTAvU2VydmljZUNvbmZpZ3VyYXRpb24iPg0KICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+DQogICAgPENvbmZpZ3VyYXRpb25TZXR0aW5ncz4NCiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+DQogICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+DQogICAgPEluc3RhbmNlcyBjb3VudD0iMiIgLz4NCiAgICA8Q2VydGlmaWNhdGVzIC8+DQogIDwvUm9sZT4NCjwvU2VydmljZUNvbmZpZ3VyYXRpb24+'; $this->createDeployment($name); $options = new ChangeDeploymentConfigurationOptions(); $options->setDeploymentName($name); // Test $result = $this->restProxy->changeDeploymentConfiguration($name, $newConfig, $options); // Block until the change is done. $this->blockUntilAsyncSucceed($result); // Assert $options = new GetDeploymentOptions(); $options->setSlot(DeploymentSlot::PRODUCTION); $result = $this->restProxy->getDeployment($name, $options); $deployment = $result->getDeployment(); $this->assertEquals($expected, $deployment->getConfiguration()); }