Merge pull request #86 from andrerod/deployment

Add SCM support
This commit is contained in:
André Rodrigues 2013-09-17 00:00:41 -07:00
Родитель 546d91e942 82e3ed9005
Коммит d5a087aaf8
9 изменённых файлов: 1838 добавлений и 9 удалений

Просмотреть файл

@ -303,6 +303,29 @@ exports.createWebsiteManagementService = function (subscriptionId, authenticatio
return new WebsiteManagementService(subscriptionId, authentication, hostOptions);
};
/**
* ScmService client exports.
* @ignore
*/
var ScmService = require('./services/scm/scmservice');
exports.ScmService = ScmService;
/**
* Creates a new {@link ScmService} object.
*
* @param {object} authentication The authentication object for the client.
* You must use a auth/pass for basic authentication.
* @param {string} [authentication.user] The basic authentication username.
* @param {string} [authentication.pass] The basic authentication password.
* @param {object} [hostOptions] The host options to override defaults.
* @param {string} [hostOptions.host] The SCM repository endpoint.
* @return {ScmService} A new WebsitemanagementService object.
*/
exports.createScmService = function (authentication, hostOptions) {
return new ScmService(authentication, hostOptions);
};
/**
* Service Runtime exports.
* @ignore

Просмотреть файл

@ -0,0 +1,78 @@
/**
* Copyright (c) Microsoft. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Module dependencies.
var util = require('util');
var url = require('url');
var ServiceClient = require('./serviceclient');
var Constants = require('../../util/constants');
var HeaderConstants = Constants.HeaderConstants;
/**
* Creates a new ScmServiceClient object.
*
* @constructor
*/
function ScmServiceClient(authentication, host) {
host.protocol = Constants.HTTPS;
ScmServiceClient['super_'].call(this, url.format(host), authentication);
this.authentication = authentication;
}
util.inherits(ScmServiceClient, ServiceClient);
/**
* Builds the request options to be passed to the http.request method.
*
* @param {WebResource} webResource The webresource where to build the options from.
* @param {object} options The request options.
* @param {function(error, requestOptions)} callback The callback function.
* @return {undefined}
*/
ScmServiceClient.prototype._buildRequestOptions = function (webResource, options, callback) {
var self = this;
webResource.withHeader(HeaderConstants.HOST_HEADER, self.host);
if (!webResource.headers || !webResource.headers[HeaderConstants.CONTENT_LENGTH]) {
webResource.withHeader(HeaderConstants.CONTENT_LENGTH, 0);
}
var targetUrl = {
protocol: self._isHttps() ? 'https' : 'http',
hostname: self.host,
port: self.port,
pathname: webResource.path,
query: webResource.queryString
};
if (this.authentication) {
targetUrl.auth = util.format('%s:%s', this.authentication.user, this.authentication.pass);
}
var requestOptions = {
url: url.format(targetUrl),
method: webResource.httpVerb,
headers: webResource.headers,
strictSSL: self.strictSSL
};
callback(null, requestOptions);
};
module.exports = ScmServiceClient;

Просмотреть файл

@ -114,6 +114,20 @@ ServiceClient.prototype.setHost = function (host) {
}
};
/**
* Performs a REST service request through HTTP expecting an input stream.
* @ignore
*
* @param {WebResource} webResource The webresource on which to perform the request.
* @param {string} outputData The outgoing request data as a raw string.
* @param {object} [options] The request options.
* @param {int} [options.timeoutIntervalInMs] The timeout interval, in milliseconds, to use for the request.
* @param {function} callback The chunked response callback function.
*/
ServiceClient.prototype.performChunkedRequest = function (webResource, outputData, options, chunkedCallback, callback) {
this._performRequest(webResource, { outputData: outputData }, options, callback, chunkedCallback);
};
/**
* Performs a REST service request through HTTP expecting an input stream.
* @ignore
@ -169,8 +183,9 @@ ServiceClient.prototype.performRequestInputStream = function (webResource, outpu
* @param {object} [options] The request options.
* @param {int} [options.timeoutIntervalInMs] The timeout interval, in milliseconds, to use for the request.
* @param {function} callback The response callback function.
* @param {function} chunkedCallback The chunked response callback function.
*/
ServiceClient.prototype._performRequest = function (webResource, body, options, callback) {
ServiceClient.prototype._performRequest = function (webResource, body, options, callback, chunkedCallback) {
var self = this;
self._buildRequestOptions(webResource, options, function (err, requestOptions) {
if (err) {
@ -182,19 +197,25 @@ ServiceClient.prototype._performRequest = function (webResource, body, options,
self.logger.log(Logger.LogLevels.DEBUG, 'REQUEST OPTIONS:\n' + util.inspect(requestOptions));
var operation = function (finalRequestOptions, operationCallback, next) {
var operation = function (finalRequestOptions, next) {
self.logger.log(Logger.LogLevels.DEBUG, 'FINAL REQUEST OPTIONS:\n' + util.inspect(finalRequestOptions));
var processResponseCallback = function (error, response) {
var processResponseCallback = function (error, response, body, cb) {
var responseObject;
if (error) {
responseObject = { error: error, response: null };
} else if (cb) {
responseObject = { error: null, response: self._buildResponse(false, response.body, response.headers, response.statusCode, response.md5) };
} else {
responseObject = self._processResponse(webResource, response);
}
operationCallback(responseObject, next);
if (cb) {
cb(responseObject, next);
} else {
callback(responseObject, next);
}
};
if (body && body.outputData) {
@ -204,10 +225,17 @@ ServiceClient.prototype._performRequest = function (webResource, body, options,
var buildRequest = function (headersOnly) {
// Build request (if body was set before, request will process immediately, if not it'll wait for the piping to happen)
var requestStream;
if (headersOnly) {
if (headersOnly || chunkedCallback) {
requestStream = request(finalRequestOptions);
requestStream.on('error', processResponseCallback);
requestStream.on('response', function (response) {
if (chunkedCallback) {
response.on('data', function (chunk) {
response.body = chunk;
processResponseCallback(null, response, null, chunkedCallback);
});
}
response.on('end', function () {
processResponseCallback(null, response);
});
@ -290,7 +318,7 @@ ServiceClient.prototype._performRequest = function (webResource, body, options,
self.filter(requestOptions, function (postFiltersRequestOptions, nextPostCallback) {
// If there is a filter, flow is:
// filter -> operation -> process response -> next filter
operation(postFiltersRequestOptions, callback, nextPostCallback);
operation(postFiltersRequestOptions, nextPostCallback);
});
}
});
@ -560,7 +588,7 @@ ServiceClient.prototype._parseResponse = function (response) {
}
}
if (response.body && Buffer.byteLength(response.body) > 0) {
if (response.body && Buffer.byteLength(response.body.toString()) > 0) {
if (response.headers && response.headers['content-type']) {
var contentType = response.headers['content-type'].toLowerCase();
if (contentType.indexOf('application/json') !== -1) {
@ -689,7 +717,7 @@ ServiceClient.prototype._normalizeError = function (error) {
} else if (error) {
var normalizedError = {};
var errorProperties = error.Error || error.error;
var errorProperties = error.Error || error.error || error;
for (var property in errorProperties) {
if (property !== Constants.XML_METADATA_MARKER) {
var value = null;

Просмотреть файл

@ -0,0 +1,373 @@
/**
* Copyright (c) Microsoft. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Module dependencies.
var util = require('util');
var azureutil = require('../../util/util');
var ScmServiceClient = require('../core/scmserviceclient');
var WebResource = require('../../http/webresource');
/**
*
* Creates a new ScmService object.
* @class
* The ScmService object allows you to perform management operations on Windows Azure Web Sites Repositories.
* @constructor
*
* @param {object} authentication The authentication object for the client.
* You must use a auth/pass for basic authentication.
* @param {string} [authentication.user] The basic authentication username.
* @param {string} [authentication.pass] The basic authentication password.
* @param {object} [hostOptions] The host options to override defaults.
* @param {string} [hostOptions.host] The SCM repository endpoint.
*/
function ScmService(authentication, hostOptions) {
ScmService['super_'].call(this, authentication, hostOptions);
}
util.inherits(ScmService, ScmServiceClient);
/**
* Lists the available deployments.
*
* @this {ScmService}
* @param {object} [options] The request options.
* @param {int} [options.orderby] The ordering criteria.
* @param {int} [options.top] The number of elements to retrieve.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.listDeployments = function (optionsOrCallback, callback) {
var options;
azureutil.normalizeArgs(optionsOrCallback, callback, function (o, c) { options = o; callback = c; });
var webResource = WebResource.get('deployments/');
if (options) {
if (options.orderby) {
webResource = webResource.withQueryOption('$orderby', options.orderby);
}
if (options.top) {
webResource = webResource.withQueryOption('$top', options.top);
}
}
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Get a deployment.
*
* @this {ScmService}
* @param {string} deploymentId The deployment identifier.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.getDeployment = function (deploymentId, callback) {
var webResource = WebResource.get('deployments/' + deploymentId);
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Redeploys a deployment.
*
* @this {ScmService}
* @param {string} deploymentId The deployment identifier.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.updateDeployment = function (deploymentId, callback) {
var webResource = WebResource.put('deployments/' + deploymentId);
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* List logs.
*
* @this {ScmService}
* @param {string} deploymentId The deployment identifier.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.listLogs = function (deploymentId, callback) {
var webResource = WebResource.get('deployments/' + deploymentId + '/log/');
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Get log.
*
* @this {ScmService}
* @param {string} deploymentId The deployment identifier.
* @param {string} logId The log identifier.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.getLog = function (deploymentId, logId, callback) {
var webResource = WebResource.get('deployments/' + deploymentId + '/log/' + logId);
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Delete repository files.
*
* @this {ScmService}
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.deleteRepository = function (callback) {
var webResource = WebResource.del('scm');
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* List repository settings.
*
* @this {ScmService}
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.listSettings = function (callback) {
var webResource = WebResource.get('settings');
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Get repository setting.
*
* @this {ScmService}
* @param {string} settingId The setting identifier.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.getSetting = function (settingId, callback) {
var webResource = WebResource.get('settings/' + settingId);
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Update repository setting.
*
* @this {ScmService}
* @param {string} settingId The setting identifier.
* @param {string} settingValue The setting value.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.updateSetting = function (settingId, settingValue, callback) {
var webResource = WebResource.post('settings')
.withHeader('content-type', 'application/json');
var body = JSON.stringify({
key: settingId,
value: settingValue
});
this.performRequest(webResource, body, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Get diagnostics settings.
*
* @this {ScmService}
* @param {string} settingId The setting identifier.
* @param {string} settingValue The setting value.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.getDiagnosticsSettings = function (callback) {
var webResource = WebResource.get('diagnostics/settings/');
this.performRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Update diagnostics settings.
*
* @this {ScmService}
* @param {object} settings The setting values.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.updateDiagnosticsSettings = function (settings, callback) {
var webResource = WebResource.post('diagnostics/settings/')
.withHeader('Accept', 'application/json,application/xml')
.withHeader('content-type', 'application/json');
var body = JSON.stringify(settings);
this.performRequest(webResource, body, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Get log dump.
*
* @this {ScmService}
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.getDumpToStream = function (writeStream, callback) {
var webResource = WebResource.get('dump');
this.performRequestInputStream(webResource, null, writeStream, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.response);
};
next(responseObject, finalCallback);
});
};
/**
* Get log stream.
*
* @this {ScmService}
* @param {object} path The log stream path.
* @param {object} [options] The request options.
* @param {int} [options.filter] The log stream filter.
* @param {Function(error, results, response)} callback `error` will contain information
* if an error occurs; otherwise `results` will contain
* the list of webspaces.
* `response` will contain information related to this operation.
*/
ScmService.prototype.getLogStream = function (path, optionsOrCallback, chunkCallback, callback) {
var options;
azureutil.normalizeArgs(optionsOrCallback, callback, function (o, c) { options = o; callback = c; });
var webResource;
if (!path) {
webResource = WebResource.get('logstream');
} else {
webResource = WebResource.get('logstream/' + path);
}
if (options.filter) {
webResource.withOption('filter', options.filter);
}
this.performChunkedRequest(webResource, null, null, function (responseObject, next) {
var finalCallback = function (returnObject) {
chunkCallback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
}, function (responseObject, next) {
var finalCallback = function (returnObject) {
callback(returnObject.error, returnObject.error ? null : returnObject.response.body, returnObject.response);
};
next(responseObject, finalCallback);
});
};
module.exports = ScmService;

Просмотреть файл

@ -48,7 +48,7 @@
"mocha": ">= 1.12.0",
"jshint": ">= 2.1.4",
"sinon": "*",
"should": "*",
"should": "1.2.x",
"nock": "*",
"grunt": "~0.4.1",
"grunt-jsdoc": "~0.4.0",

1
test/data/app.js Normal file
Просмотреть файл

@ -0,0 +1 @@
console.log('hello world');

Просмотреть файл

@ -0,0 +1,960 @@
// This file has been autogenerated.
exports.scopes = [[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2738',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'cef676f535414e879518882e5ff3c98c',
date: 'Sat, 14 Sep 2013 16:05:49 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli1.azurewebsites.net</a:string><a:string>xplatcli1.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli1.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli1.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli1.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:05:53.743</LastModifiedTimeUtc><Name>xplatcli1</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli1</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli1</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2029',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'd859ec5712464c5797ab86ee0cf16f44',
date: 'Sat, 14 Sep 2013 16:06:01 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli1/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '86e6fa58d0bd4f70b1518a68fd133443',
date: 'Sat, 14 Sep 2013 16:06:06 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli1?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli1.azurewebsites.net</a:string><a:string>xplatcli1.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli1.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli1.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli1.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:06:06.473</LastModifiedTimeUtc><Name>xplatcli1</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli1</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli1</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli1.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli1</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>bATrecs4fSdkhebbAvNCvJpcxzgihrxn7T98lkkp1uoFQYggbc9k666XmZCs</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '84f429ee6bed4f2b8eca2df617ded1f9',
date: 'Sat, 14 Sep 2013 16:06:08 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli1.scm.azurewebsites.net:443')
.get('/settings')
.reply(200, "[{\"Key\":\"deployment_branch\",\"Value\":\"master\"},{\"Key\":\"SCM_TRACE_LEVEL\",\"Value\":\"1\"},{\"Key\":\"SCM_COMMAND_IDLE_TIMEOUT\",\"Value\":\"60\"},{\"Key\":\"SCM_LOGSTREAM_TIMEOUT\",\"Value\":\"1800\"},{\"Key\":\"SCM_BUILD_ARGS\",\"Value\":\"\"},{\"Key\":\"aspnet:PortableCompilationOutput\",\"Value\":\"true\"},{\"Key\":\"aspnet:PortableCompilationOutputSnapshotType\",\"Value\":\"Microsoft.Web.Compilation.Snapshots.SnapshotHelper, Microsoft.Web.Compilation.Snapshots, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\"},{\"Key\":\"aspnet:DisableFcnDaclRead\",\"Value\":\"true\"},{\"Key\":\"SCM_GIT_USERNAME\",\"Value\":\"windowsazure\"},{\"Key\":\"SCM_GIT_EMAIL\",\"Value\":\"windowsazure\"},{\"Key\":\"webpages:Enabled\",\"Value\":\"false\"},{\"Key\":\"ScmType\",\"Value\":\"LocalGit\"},{\"Key\":\"WEBSITE_NODE_DEFAULT_VERSION\",\"Value\":\"0.10.5\"}]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '777',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=295610a20f42b906c5d45d83b538c569c47296bf09fadb41ce4927d978a082ca;Path=/;Domain=xplatcli1.scm.azurewebsites.net',
'WAWebSiteSID=4a3c6ef0753d4e7590030a9cdc873582; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:06:12 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli1')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '530edbe8f31d44af911a8394b599da09',
date: 'Sat, 14 Sep 2013 16:06:14 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'e8aed45ca50d422eb16998586bd34621',
date: 'Sat, 14 Sep 2013 16:06:20 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli2.azurewebsites.net</a:string><a:string>xplatcli2.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli2.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli2.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli2.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:06:26.01</LastModifiedTimeUtc><Name>xplatcli2</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli2</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli2</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2028',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '661719643d7d42869f1987a696cbda69',
date: 'Sat, 14 Sep 2013 16:06:33 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli2/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '511c7b572d0244279e7e0bfd1ed92319',
date: 'Sat, 14 Sep 2013 16:06:39 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli2?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli2.azurewebsites.net</a:string><a:string>xplatcli2.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli2.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli2.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli2.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:06:39.277</LastModifiedTimeUtc><Name>xplatcli2</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli2</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli2</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli2.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli2</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>Jjeg1fvxlqySbpuh6EwooepFWxut1mso5Tt8Pb9nTwyvZHGNk3Rm0Hnxvau4</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'cc534e004a6e494cb30f6df19e95ae38',
date: 'Sat, 14 Sep 2013 16:06:42 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli2.scm.azurewebsites.net:443')
.get('/settings/deployment_branch')
.reply(200, "\"master\"", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '8',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=295610a20f42b906c5d45d83b538c569c47296bf09fadb41ce4927d978a082ca;Path=/;Domain=xplatcli2.scm.azurewebsites.net',
'WAWebSiteSID=e90536a6663a4062ae9d8805d00b45a3; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:06:48 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli2')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '34eadf611d2d4ad5bdf03889fcdbbc44',
date: 'Sat, 14 Sep 2013 16:06:54 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '8cc5777e3aa44916ab820256c0d570d6',
date: 'Sat, 14 Sep 2013 16:06:57 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli3.azurewebsites.net</a:string><a:string>xplatcli3.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli3.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli3.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli3.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:07:01.067</LastModifiedTimeUtc><Name>xplatcli3</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli3</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli3</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2029',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '63749396d690459d9ec6e15f660777a4',
date: 'Sat, 14 Sep 2013 16:07:08 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli3/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'd29cc2037f0546d282f4a584b8f093fd',
date: 'Sat, 14 Sep 2013 16:07:11 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli3?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli3.azurewebsites.net</a:string><a:string>xplatcli3.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli3.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli3.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli3.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:07:11.49</LastModifiedTimeUtc><Name>xplatcli3</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli3</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli3</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli3.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli3</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>L85aQZrgEdPrussz1XzjjM8CosnttABaSvlPpvErXktnBA7e0lwnzu5qiPwA</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2375',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '3aa2bfe173c548dbb1ea758a8354a9f6',
date: 'Sat, 14 Sep 2013 16:07:14 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli3.scm.azurewebsites.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/settings', '*')
.reply(204, "", { 'cache-control': 'no-cache',
pragma: 'no-cache',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=295610a20f42b906c5d45d83b538c569c47296bf09fadb41ce4927d978a082ca;Path=/;Domain=xplatcli3.scm.azurewebsites.net',
'WAWebSiteSID=c054524eafb340be88465a474f4f3a25; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:07:18 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli3')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'a57e04d94d3445a8aa380cea8e2166af',
date: 'Sat, 14 Sep 2013 16:07:20 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '2c8859c551564d52828ac135a0c42e17',
date: 'Sat, 14 Sep 2013 16:07:25 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli4.azurewebsites.net</a:string><a:string>xplatcli4.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli4.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli4.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli4.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:07:29.153</LastModifiedTimeUtc><Name>xplatcli4</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli4</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli4</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2029',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'f91131de982a45a287cd01b3ab683c14',
date: 'Sat, 14 Sep 2013 16:07:35 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli4/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '2b4a4bdd9ae94c939183f398caa5076e',
date: 'Sat, 14 Sep 2013 16:07:38 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli4?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli4.azurewebsites.net</a:string><a:string>xplatcli4.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli4.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli4.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli4.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:07:39.12</LastModifiedTimeUtc><Name>xplatcli4</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli4</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli4</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli4.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli4</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>HTJNeWqSuTMpQqsYxQQuBznihAfsfx5u1czdGn6pY2MPJWdvkiGvp3STg888</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2375',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'a58c7fba39f34f88ac88417152f50e9d',
date: 'Sat, 14 Sep 2013 16:07:40 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli4.scm.azurewebsites.net:443')
.get('/diagnostics/settings/')
.reply(200, "{}", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '2',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=99931c55eef738f67454119b239895f2198ebb9dafba381ead98e3252ddf180b;Path=/;Domain=xplatcli4.scm.azurewebsites.net',
'WAWebSiteSID=3b409fd70eb248fd9073d131bcde2604; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:07:44 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli4')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '024a3f72cc594555958f46941066f8d1',
date: 'Sat, 14 Sep 2013 16:07:47 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Limited</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2736',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '40f28973d2b447a1af7823c181f71957',
date: 'Sat, 14 Sep 2013 16:07:52 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli5.azurewebsites.net</a:string><a:string>xplatcli5.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli5.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli5.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli5.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:07:55.81</LastModifiedTimeUtc><Name>xplatcli5</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli5</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli5</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2028',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'a233452fd6a447759f7b8ce46727972c',
date: 'Sat, 14 Sep 2013 16:08:03 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli5/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'c0ecaafc4b4346dcafe5774be1cd3383',
date: 'Sat, 14 Sep 2013 16:08:06 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli5?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli5.azurewebsites.net</a:string><a:string>xplatcli5.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli5.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli5.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli5.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:08:06.647</LastModifiedTimeUtc><Name>xplatcli5</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli5</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli5</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli5.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli5</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>uqJXkbhle7wimhu1jCmm667fconaAzxbZkpETdm0yQ9bkTo91HBmFZ2P2Jtp</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '387858a15b3742c196aa2e909ede95c8',
date: 'Sat, 14 Sep 2013 16:08:09 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli5.scm.azurewebsites.net:443')
.get('/diagnostics/settings/')
.reply(200, "{}", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '2',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=99931c55eef738f67454119b239895f2198ebb9dafba381ead98e3252ddf180b;Path=/;Domain=xplatcli5.scm.azurewebsites.net',
'WAWebSiteSID=4599ed4b9ec54b21bd23627df93d9e14; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:08:13 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli5.scm.azurewebsites.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/diagnostics/settings/', '*')
.reply(204, "", { 'cache-control': 'no-cache',
pragma: 'no-cache',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=99931c55eef738f67454119b239895f2198ebb9dafba381ead98e3252ddf180b;Path=/;Domain=xplatcli5.scm.azurewebsites.net',
'WAWebSiteSID=6cf7d21c957d4a28a9e1d6c11f5889ee; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:08:14 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli5')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'e3fa05ad4eff44c4bea4b51cdcd4f4cf',
date: 'Sat, 14 Sep 2013 16:08:16 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '43bd301b19ea4061a60d2cc0408603d7',
date: 'Sat, 14 Sep 2013 16:08:21 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli6.azurewebsites.net</a:string><a:string>xplatcli6.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli6.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli6.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli6.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:08:23.81</LastModifiedTimeUtc><Name>xplatcli6</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli6</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli6</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2028',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '801f3698c59843d9bf29d4f8ab7cbb71',
date: 'Sat, 14 Sep 2013 16:08:33 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli6/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '8a526f03725b482b8b4c340f61766b35',
date: 'Sat, 14 Sep 2013 16:08:36 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli6?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli6.azurewebsites.net</a:string><a:string>xplatcli6.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli6.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli6.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli6.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:08:36.057</LastModifiedTimeUtc><Name>xplatcli6</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli6</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli6</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli6.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli6</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>CpZxhpd2kPNJ5H84BPl6eCCGZnuek3vigd77r5mKYBEoc5znTCiE58wrtb8C</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'ddd6c769c18d45ec906e1f42a4b83b8c',
date: 'Sat, 14 Sep 2013 16:08:39 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli6.scm.azurewebsites.net:443')
.get('/deployments/')
.reply(200, "[]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '2',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
etag: '"1f24e015"',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=295610a20f42b906c5d45d83b538c569c47296bf09fadb41ce4927d978a082ca;Path=/;Domain=xplatcli6.scm.azurewebsites.net',
'WAWebSiteSID=3cc83c778b3b45b685d4ad2b42f81993; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:08:45 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli6')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '29c965f821e3405284261fb032995464',
date: 'Sat, 14 Sep 2013 16:08:49 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '16d01e75d95d47cfa24e34c79fdf70ec',
date: 'Sat, 14 Sep 2013 16:08:52 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli7.azurewebsites.net</a:string><a:string>xplatcli7.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli7.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli7.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli7.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:08:55.233</LastModifiedTimeUtc><Name>xplatcli7</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli7</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli7</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2029',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '40881a183c734a72af610c416e235eed',
date: 'Sat, 14 Sep 2013 16:09:02 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli7/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'b66bd34eb061454ea670c5242a1ab9e8',
date: 'Sat, 14 Sep 2013 16:09:05 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli7?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli7.azurewebsites.net</a:string><a:string>xplatcli7.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli7.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli7.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli7.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:09:05.707</LastModifiedTimeUtc><Name>xplatcli7</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli7</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli7</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli7.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli7</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>laeFNX7sMkpgHGSyyruadYdcZ3Se9i0ND4KEfgYGsfWXZdHotxlnTyj1rwlX</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'ba09a98dbd68458fbb48bce648ff884c',
date: 'Sat, 14 Sep 2013 16:09:09 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli7.scm.azurewebsites.net:443')
.get('/deployments/')
.reply(200, "[{\"id\":\"f904a033793c16ceb912f82b50ccaa2621c8f1e1\",\"status\":4,\"status_text\":\"\",\"author_email\":\"andrerod@microsoft.com\",\"author\":\"Andre Rodrigues\",\"deployer\":\"$xplatcli7\",\"message\":\" Initial commit\\n\",\"progress\":\"\",\"received_time\":\"2013-09-14T16:09:20.902451Z\",\"start_time\":\"2013-09-14T16:09:21.2305514Z\",\"end_time\":\"2013-09-14T16:09:22.4492173Z\",\"last_success_end_time\":\"2013-09-14T16:09:22.4492173Z\",\"complete\":true,\"active\":true,\"is_temp\":false,\"is_readonly\":false,\"url\":\"https://xplatcli7.scm.azurewebsites.net/deployments/f904a033793c16ceb912f82b50ccaa2621c8f1e1\",\"log_url\":\"https://xplatcli7.scm.azurewebsites.net/deployments/f904a033793c16ceb912f82b50ccaa2621c8f1e1/log\"}]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '680',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
etag: '"8d07f7bf63cfe4d"',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=b02c56de372b84a9410deb28c6cb6d7798a760b98148cbfa3e745b39b6ea751b;Path=/;Domain=xplatcli7.scm.azurewebsites.net',
'WAWebSiteSID=5e0b5c7802ef4545984956af37eda936; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:09:23 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli7')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '4b54de0590824a12837b88643581104e',
date: 'Sat, 14 Sep 2013 16:09:25 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '435299bd0c1145e7aeebb56e53e0a6cf',
date: 'Sat, 14 Sep 2013 16:09:28 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli8.azurewebsites.net</a:string><a:string>xplatcli8.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli8.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli8.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli8.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:09:34.98</LastModifiedTimeUtc><Name>xplatcli8</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli8</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli8</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2028',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '2b128dc0c4ab4f91a977f91b90540604',
date: 'Sat, 14 Sep 2013 16:09:42 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli8/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '0e78ef2b43a645d286068c077651829d',
date: 'Sat, 14 Sep 2013 16:09:44 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli8?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli8.azurewebsites.net</a:string><a:string>xplatcli8.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli8.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli8.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli8.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:09:44.937</LastModifiedTimeUtc><Name>xplatcli8</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli8</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli8</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli8.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli8</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>eaGer0uicx4LqnjKpz9Wx6L22EewMA8YbpTxqjpdbg8qQF8HnBzuelCvmZSR</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'd5df05c2b68e4546bc5cc49479a4120a',
date: 'Sat, 14 Sep 2013 16:09:47 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli8.scm.azurewebsites.net:443')
.get('/deployments/')
.reply(200, "[{\"id\":\"eb184340ebd14448a8482b7e1699319c379cb66b\",\"status\":4,\"status_text\":\"\",\"author_email\":\"andrerod@microsoft.com\",\"author\":\"Andre Rodrigues\",\"deployer\":\"$xplatcli8\",\"message\":\" Initial commit\\n\",\"progress\":\"\",\"received_time\":\"2013-09-14T16:09:56.618987Z\",\"start_time\":\"2013-09-14T16:09:56.9627137Z\",\"end_time\":\"2013-09-14T16:09:58.1657521Z\",\"last_success_end_time\":\"2013-09-14T16:09:58.1657521Z\",\"complete\":true,\"active\":true,\"is_temp\":false,\"is_readonly\":false,\"url\":\"https://xplatcli8.scm.azurewebsites.net/deployments/eb184340ebd14448a8482b7e1699319c379cb66b\",\"log_url\":\"https://xplatcli8.scm.azurewebsites.net/deployments/eb184340ebd14448a8482b7e1699319c379cb66b/log\"}]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '680',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
etag: '"8d07f7be154b5ae"',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=b02c56de372b84a9410deb28c6cb6d7798a760b98148cbfa3e745b39b6ea751b;Path=/;Domain=xplatcli8.scm.azurewebsites.net',
'WAWebSiteSID=c80ffcf8fc3243de915c9f14ee13c4c2; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:09:59 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli8.scm.azurewebsites.net:443')
.get('/deployments/eb184340ebd14448a8482b7e1699319c379cb66b')
.reply(200, "{\"id\":\"eb184340ebd14448a8482b7e1699319c379cb66b\",\"status\":4,\"status_text\":\"\",\"author_email\":\"andrerod@microsoft.com\",\"author\":\"Andre Rodrigues\",\"deployer\":\"$xplatcli8\",\"message\":\" Initial commit\\n\",\"progress\":\"\",\"received_time\":\"2013-09-14T16:09:56.618987Z\",\"start_time\":\"2013-09-14T16:09:56.9627137Z\",\"end_time\":\"2013-09-14T16:09:58.1657521Z\",\"last_success_end_time\":\"2013-09-14T16:09:58.1657521Z\",\"complete\":true,\"active\":true,\"is_temp\":false,\"is_readonly\":false,\"url\":\"https://xplatcli8.scm.azurewebsites.net/deployments/eb184340ebd14448a8482b7e1699319c379cb66b\",\"log_url\":\"https://xplatcli8.scm.azurewebsites.net/deployments/eb184340ebd14448a8482b7e1699319c379cb66b/log\"}", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '678',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=b02c56de372b84a9410deb28c6cb6d7798a760b98148cbfa3e745b39b6ea751b;Path=/;Domain=xplatcli8.scm.azurewebsites.net',
'WAWebSiteSID=51b1d8a36f4f4377a9629b4150646a6f; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:10:00 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli8')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'debf0f37597d40dc839a6aea05591423',
date: 'Sat, 14 Sep 2013 16:10:03 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '6eddaf00a0a2435caea4517f216205ba',
date: 'Sat, 14 Sep 2013 16:10:05 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli9.azurewebsites.net</a:string><a:string>xplatcli9.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli9.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli9.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli9.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:10:09.14</LastModifiedTimeUtc><Name>xplatcli9</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli9</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli9</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2028',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '6c386e83b6f0420cb4cc8540d7b8ae54',
date: 'Sat, 14 Sep 2013 16:10:17 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli9/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '2db3597ab58d4a1d9577878a9ba13375',
date: 'Sat, 14 Sep 2013 16:10:19 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli9?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli9.azurewebsites.net</a:string><a:string>xplatcli9.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli9.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli9.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli9.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:10:20.427</LastModifiedTimeUtc><Name>xplatcli9</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli9</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli9</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli9.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli9</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>NXkpgZWSCfiMmm0EKEf6W8aiwegWqhtsc7ToFneijv6oHuZBiZ5dTTsuX5Ki</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2376',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '0fb7e1d8e71a44e5b66428156af4588c',
date: 'Sat, 14 Sep 2013 16:10:23 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli9.scm.azurewebsites.net:443')
.get('/deployments/')
.reply(200, "[{\"id\":\"fd2b15809516c0358c6af6b5a6917b53098bae8c\",\"status\":4,\"status_text\":\"\",\"author_email\":\"andrerod@microsoft.com\",\"author\":\"Andre Rodrigues\",\"deployer\":\"$xplatcli9\",\"message\":\" Initial commit\\n\",\"progress\":\"\",\"received_time\":\"2013-09-14T16:10:31.3147312Z\",\"start_time\":\"2013-09-14T16:10:31.6272092Z\",\"end_time\":\"2013-09-14T16:10:32.8458809Z\",\"last_success_end_time\":\"2013-09-14T16:10:32.8458809Z\",\"complete\":true,\"active\":true,\"is_temp\":false,\"is_readonly\":false,\"url\":\"https://xplatcli9.scm.azurewebsites.net/deployments/fd2b15809516c0358c6af6b5a6917b53098bae8c\",\"log_url\":\"https://xplatcli9.scm.azurewebsites.net/deployments/fd2b15809516c0358c6af6b5a6917b53098bae8c/log\"}]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '681',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
etag: '"8d07f7c0c33b5d7"',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=1a42b241df09410beb0faebf8294105cd87504f1b99c744c4a1d967c33138592;Path=/;Domain=xplatcli9.scm.azurewebsites.net',
'WAWebSiteSID=1545e932779541959bcba24cf8e52407; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:10:33 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli9.scm.azurewebsites.net:443')
.put('/deployments/fd2b15809516c0358c6af6b5a6917b53098bae8c')
.reply(204, "", { 'cache-control': 'no-cache',
pragma: 'no-cache',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=1a42b241df09410beb0faebf8294105cd87504f1b99c744c4a1d967c33138592;Path=/;Domain=xplatcli9.scm.azurewebsites.net',
'WAWebSiteSID=4a4847bf9cdd421fbdad5e533decc0a1; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:10:37 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli9')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '83874a2c19814bb2b40e6948c2578792',
date: 'Sat, 14 Sep 2013 16:10:38 GMT' });
return result; }],
[function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/')
.reply(200, "<WebSpaces xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>hk1</GeoLocation><GeoRegion>East Asia</GeoRegion><Name>eastasiawebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>BLU</GeoLocation><GeoRegion>East US</GeoRegion><Name>eastuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>CH1</GeoLocation><GeoRegion>North Central US</GeoRegion><Name>northcentraluswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>DB3</GeoLocation><GeoRegion>North Europe</GeoRegion><Name>northeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>AM2</GeoLocation><GeoRegion>West Europe</GeoRegion><Name>westeuropewebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace><WebSpace><AvailabilityState>Normal</AvailabilityState><ComputeMode i:nil=\"true\"/><CurrentNumberOfWorkers i:nil=\"true\"/><CurrentWorkerSize i:nil=\"true\"/><GeoLocation>bay</GeoLocation><GeoRegion>West US</GeoRegion><Name>westuswebspace</Name><NumberOfWorkers i:nil=\"true\"/><Plan>VirtualDedicatedPlan</Plan><Status>Ready</Status><Subscription>279b0675-cf67-467f-98f0-67ae31eb540f</Subscription><WorkerSize i:nil=\"true\"/></WebSpace></WebSpaces>", { 'cache-control': 'private',
'content-length': '2732',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '5ebe3d0746ff49b084fbc6cdc9b8255c',
date: 'Sat, 14 Sep 2013 16:10:42 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.filteringRequestBody(function (path) { return '*';})
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites', '*')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli10.azurewebsites.net</a:string><a:string>xplatcli10.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli10.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli10.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli10.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:10:45.853</LastModifiedTimeUtc><Name>xplatcli10</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli10</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli10</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties/></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2037',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': 'a2c2cf4803a34bd7860075590e499a92',
date: 'Sat, 14 Sep 2013 16:10:54 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.post('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli10/repository')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '57bb88a9c8b34879af49370623f22fe7',
date: 'Sat, 14 Sep 2013 16:10:56 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.get('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli10?propertiesToInclude=repositoryuri%2Cpublishingpassword%2Cpublishingusername')
.reply(200, "<Site xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><AdminEnabled>true</AdminEnabled><AvailabilityState>Normal</AvailabilityState><Cers i:nil=\"true\"/><ComputeMode>Shared</ComputeMode><ContentAvailabilityState>Normal</ContentAvailabilityState><Csrs/><Enabled>true</Enabled><EnabledHostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli10.azurewebsites.net</a:string><a:string>xplatcli10.scm.azurewebsites.net</a:string></EnabledHostNames><HostNameSslStates><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli10.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState><HostNameSslState><IPBasedSslState>NotConfigured</IPBasedSslState><IpBasedSslResult i:nil=\"true\"/><Name>xplatcli10.scm.azurewebsites.net</Name><SslState>Disabled</SslState><Thumbprint i:nil=\"true\"/><ToUpdate i:nil=\"true\"/><ToUpdateIpBasedSsl i:nil=\"true\"/><VirtualIP i:nil=\"true\"/></HostNameSslState></HostNameSslStates><HostNames xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\"><a:string>xplatcli10.azurewebsites.net</a:string></HostNames><LastModifiedTimeUtc>2013-09-14T16:10:57.007</LastModifiedTimeUtc><Name>xplatcli10</Name><Owner i:nil=\"true\"/><RepositorySiteName>xplatcli10</RepositorySiteName><RuntimeAvailabilityState>Normal</RuntimeAvailabilityState><SSLCertificates/><SelfLink>https://waws-prod-hk1-001.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/eastasiawebspace/sites/xplatcli10</SelfLink><ServerFarm i:nil=\"true\"/><SiteMode>Limited</SiteMode><SiteProperties><AppSettings i:nil=\"true\"/><Metadata i:nil=\"true\"/><Properties><NameValuePair><Name>RepositoryUri</Name><Value>https://xplatcli10.scm.azurewebsites.net</Value></NameValuePair><NameValuePair><Name>PublishingUsername</Name><Value>$xplatcli10</Value></NameValuePair><NameValuePair><Name>PublishingPassword</Name><Value>QpkotGsfdnMRTfXL0lrEeyrppLTpbA67lnnCmoTZlgKSa6S8vqZPA2sshzMn</Value></NameValuePair></Properties></SiteProperties><State>Running</State><StorageRecoveryDefaultState>Running</StorageRecoveryDefaultState><UsageState>Normal</UsageState><WebSpace>eastasiawebspace</WebSpace></Site>", { 'cache-control': 'private',
'content-length': '2386',
'content-type': 'application/xml; charset=utf-8',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '98e76953f1274e9fa53ff10e7e0d5bf8',
date: 'Sat, 14 Sep 2013 16:10:59 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli10.scm.azurewebsites.net:443')
.get('/deployments/')
.reply(200, "[{\"id\":\"3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf\",\"status\":4,\"status_text\":\"\",\"author_email\":\"andrerod@microsoft.com\",\"author\":\"Andre Rodrigues\",\"deployer\":\"$xplatcli10\",\"message\":\" Initial commit\\n\",\"progress\":\"\",\"received_time\":\"2013-09-14T16:11:09.7726685Z\",\"start_time\":\"2013-09-14T16:11:10.0538979Z\",\"end_time\":\"2013-09-14T16:11:11.256938Z\",\"last_success_end_time\":\"2013-09-14T16:11:11.256938Z\",\"complete\":true,\"active\":true,\"is_temp\":false,\"is_readonly\":false,\"url\":\"https://xplatcli10.scm.azurewebsites.net/deployments/3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf\",\"log_url\":\"https://xplatcli10.scm.azurewebsites.net/deployments/3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf/log\"}]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '682',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
etag: '"8d07f7c36d1dee0"',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=1a42b241df09410beb0faebf8294105cd87504f1b99c744c4a1d967c33138592;Path=/;Domain=xplatcli10.scm.azurewebsites.net',
'WAWebSiteSID=ea27ac13c43e447a8720ab595ab85fce; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:11:13 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli10.scm.azurewebsites.net:443')
.get('/deployments/3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf/log/')
.reply(200, "[{\"log_time\":\"2013-09-14T16:11:09.8820429Z\",\"id\":\"b98a88ca-cc8c-4b14-b9d5-c7536ddbf719\",\"message\":\"Updating branch 'master'.\",\"type\":0,\"details_url\":null},{\"log_time\":\"2013-09-14T16:11:10.0070248Z\",\"id\":\"d5f511af-3437-428b-9372-9aceaed508c7\",\"message\":\"Updating submodules.\",\"type\":0,\"details_url\":null},{\"log_time\":\"2013-09-14T16:11:10.0382738Z\",\"id\":\"5468a9c5-485b-4248-91f2-99870467e565\",\"message\":\"Preparing deployment for commit id '3ee4c8e3ac'.\",\"type\":0,\"details_url\":null},{\"log_time\":\"2013-09-14T16:11:10.1788892Z\",\"id\":\"82fcb909-3250-4f1b-b4d8-05ef1b3406e1\",\"message\":\"Generating deployment script.\",\"type\":0,\"details_url\":\"https://xplatcli10.scm.azurewebsites.net/deployments/3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf/log/82fcb909-3250-4f1b-b4d8-05ef1b3406e1\"},{\"log_time\":\"2013-09-14T16:11:10.4601191Z\",\"id\":\"d411cf44-9a8b-4e5d-a554-36a5b61c4971\",\"message\":\"Running deployment command...\",\"type\":0,\"details_url\":\"https://xplatcli10.scm.azurewebsites.net/deployments/3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf/log/d411cf44-9a8b-4e5d-a554-36a5b61c4971\"},{\"log_time\":\"2013-09-14T16:11:11.2413212Z\",\"id\":\"fe3ebfed-6811-4967-9408-b0501c20457d\",\"message\":\"Deployment successful.\",\"type\":0,\"details_url\":null}]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '1212',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=1a42b241df09410beb0faebf8294105cd87504f1b99c744c4a1d967c33138592;Path=/;Domain=xplatcli10.scm.azurewebsites.net',
'WAWebSiteSID=443486b17f35461d90a78f2393c55823; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:11:14 GMT' });
return result; },
function (nock) {
var result =
nock('https://xplatcli10.scm.azurewebsites.net:443')
.get('/deployments/3ee4c8e3ac6c21c1eb0ca6919cd590c484f7b0cf/log/b98a88ca-cc8c-4b14-b9d5-c7536ddbf719')
.reply(200, "[]", { 'cache-control': 'no-cache',
pragma: 'no-cache',
'content-length': '2',
'content-type': 'application/json; charset=utf-8',
expires: '-1',
server: 'Microsoft-IIS/8.0',
'set-cookie':
[ 'ARRAffinity=1a42b241df09410beb0faebf8294105cd87504f1b99c744c4a1d967c33138592;Path=/;Domain=xplatcli10.scm.azurewebsites.net',
'WAWebSiteSID=529b99edff4f4d4c9461249bac0cd840; Path=/; HttpOnly' ],
'x-aspnet-version': '4.0.30319',
'dwas-handler-name': 'System.Web.Http.WebHost.HttpControllerHandler',
'x-powered-by': 'ASP.NET, ARR/2.5, ASP.NET',
date: 'Sat, 14 Sep 2013 16:11:16 GMT' });
return result; },
function (nock) {
var result =
nock('https://management.core.windows.net:443')
.delete('/279b0675-cf67-467f-98f0-67ae31eb540f/services/webspaces/eastasiawebspace/sites/xplatcli10')
.reply(200, "", { 'cache-control': 'private',
'transfer-encoding': 'chunked',
server: '1.0.6198.5 (rd_rdfe_stable.130911-1402) Microsoft-HTTPAPI/2.0',
'x-ms-servedbyregion': 'ussouth',
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET',
'x-ms-request-id': '04265fca8db54da7862bff4a241104aa',
date: 'Sat, 14 Sep 2013 16:11:19 GMT' });
return result; }]];

Просмотреть файл

@ -0,0 +1,365 @@
/**
* Copyright (c) Microsoft. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var path = require('path');
var url = require('url');
var util = require('util');
var should = require('should');
var mocha = require('mocha');
var _ = require('underscore');
/*jshint camelcase:false*/
var child_process = require('child_process');
var testutil = require('../../util/util');
var MockedTestUtils = require('../../framework/mocked-test-utils');
var azure = testutil.libRequire('azure');
var testPrefix = 'scmservice-tests';
var siteNamePrefix = 'xplatcli';
var siteNames = [];
describe('SCM', function () {
var service;
var suiteUtil;
var scmService;
before(function (done) {
var subscriptionId = process.env['AZURE_SUBSCRIPTION_ID'];
var auth = { keyvalue: testutil.getCertificateKey(), certvalue: testutil.getCertificate() };
service = azure.createWebsiteManagementService(
subscriptionId, auth,
{ serializetype: 'XML'});
suiteUtil = new MockedTestUtils(service, testPrefix);
suiteUtil.setupSuite(done);
});
after(function (done) {
suiteUtil.teardownSuite(done);
});
beforeEach(function (done) {
suiteUtil.setupTest(done);
});
afterEach(function (done) {
suiteUtil.baseTeardownTest(done);
});
describe('when there is a site with a repository', function () {
var siteName;
var allSiteData;
beforeEach(function (done) {
service.listWebspaces(function (err, webspaces) {
should.not.exist(err);
webspace = webspaces[0];
siteName = testutil.generateId(siteNamePrefix, siteNames, suiteUtil.isMocked);
var siteProperties = {
HostNames: {
'$': { 'xmlns:a': 'http://schemas.microsoft.com/2003/10/Serialization/Arrays' },
'a:string': [ siteName + '.azurewebsites.net' ]
},
Name: siteName,
WebSpace: webspace.Name
};
service.createSite(webspace.Name, siteName, siteProperties, function (err) {
should.not.exist(err);
service.createSiteRepository(webspace.Name, siteName, function (err) {
should.not.exist(err);
service.getSite(webspace.Name, siteName, {
propertiesToInclude: [ 'repositoryuri', 'publishingpassword', 'publishingusername' ]
}, function (err, siteData) {
should.not.exist(err);
allSiteData = siteData;
var repositoryUrl = url.parse(getRepositoryUri(siteData));
var repositoryAuth = getRepositoryAuth(siteData).split(':');
var authentication = null;
if (process.env.AZURE_NOCK_RECORD) {
authentication = {
user: repositoryAuth[0],
pass: repositoryAuth[1]
};
}
scmService = azure.createScmService(authentication, {
host: repositoryUrl.hostname,
port: repositoryUrl.port
});
suiteUtil.setupService(scmService);
done();
});
});
});
});
});
afterEach(function (done) {
service.deleteSite(webspace.Name, siteName, done);
});
describe('settings', function () {
it('should list the settings', function (done) {
scmService.listSettings(function (err, settings) {
should.not.exist(err);
settings.length.should.be.above(0);
var setting = settings.filter(function (k) {
return k.Key === 'deployment_branch';
})[0];
setting.Value.should.equal('master');
done(err);
});
});
it('should get the setting', function (done) {
scmService.getSetting('deployment_branch', function (err, setting) {
should.not.exist(err);
setting.should.equal('master');
done(err);
});
});
it('should update the setting', function (done) {
scmService.updateSetting('deployment_branch', 'master', function (err) {
should.not.exist(err);
done(err);
});
});
});
describe('diagnostics settings', function () {
it('should get the diagnostics settings', function (done) {
scmService.getDiagnosticsSettings(function (err, settings) {
should.not.exist(err);
Object.keys(settings).length.should.equal(0);
done(err);
});
});
it('should update the diagnostics setting', function (done) {
scmService.getDiagnosticsSettings(function (err, settings) {
should.not.exist(err);
scmService.updateDiagnosticsSettings(settings, function (err) {
should.not.exist(err);
done(err);
});
});
});
});
describe('deployments', function () {
describe('when there are no deployments', function () {
it('should list nothing', function (done) {
scmService.listDeployments(function (err, deployments) {
should.not.exist(err);
// there is more than one location
deployments.length.should.equal(0);
done(err);
});
});
});
describe('when there are deployments', function () {
beforeEach(function (done) {
if (!process.env.AZURE_NOCK_RECORD) {
done();
} else {
process.chdir(path.join(__dirname, '../../data'));
exec('rm -rf .git', function (err) {
should.not.exist(err);
exec('git init', function (err) {
should.not.exist(err);
var repositoryUri = getRepositoryUri(allSiteData);
var repositoryAuth = getRepositoryAuth(allSiteData).split(':');
var parsedUri = url.parse(repositoryUri);
parsedUri.auth = util.format('%s:%s', repositoryAuth[0], repositoryAuth[1]);
exec('git remote add azure ' + url.format(parsedUri), function (err) {
should.not.exist(err);
exec('git add .', function (err) {
should.not.exist(err);
exec('git commit -m "Initial commit"', function (err) {
should.not.exist(err);
exec('git push azure master', function (err) {
should.not.exist(err);
done();
});
});
});
});
});
});
}
});
it('should list, get and redeploy it', function (done) {
scmService.listDeployments(function (err, deployments) {
should.not.exist(err);
// Make sure the deployment exists
deployments.length.should.equal(1);
should.exist(deployments[0].id);
deployments[0].active.should.equal(true);
done(err);
});
});
it('should get', function (done) {
scmService.listDeployments(function (err, deployments) {
should.not.exist(err);
// Make sure the deployment exists
deployments.length.should.equal(1);
should.exist(deployments[0].id);
deployments[0].active.should.equal(true);
scmService.getDeployment(deployments[0].id, function (err, deployment) {
should.not.exist(err);
should.exist(deployment.id);
deployment.active.should.equal(true);
done(err);
});
});
});
it('should update', function (done) {
scmService.listDeployments(function (err, deployments) {
should.not.exist(err);
// Make sure the deployment exists
deployments.length.should.equal(1);
should.exist(deployments[0].id);
deployments[0].active.should.equal(true);
scmService.updateDeployment(deployments[0].id, function (err) {
should.not.exist(err);
done(err);
});
});
});
it('should list and get logs', function (done) {
scmService.listDeployments(function (err, deployments) {
should.not.exist(err);
// Make sure the deployment exists
deployments.length.should.equal(1);
should.exist(deployments[0].id);
deployments[0].active.should.equal(true);
scmService.listLogs(deployments[0].id, function (err, logs) {
should.not.exist(err);
logs.length.should.be.above(1);
should.exist(logs[0].id);
scmService.getLog(deployments[0].id, logs[0].id, function (err) {
should.not.exist(err);
done(err);
});
});
});
});
});
});
});
});
function getRepositoryUri(siteData) {
if (siteData.SiteProperties.Properties) {
for (var i = 0; i < siteData.SiteProperties.Properties.NameValuePair.length; ++i) {
var pair = siteData.SiteProperties.Properties.NameValuePair[i];
if (pair.Name === 'RepositoryUri') {
if (typeof pair.Value === 'string') {
if (!endsWith(pair.Value, '/')) {
// Make sure there is a trailing slash
pair.Value += '/';
}
return pair.Value;
} else {
return null;
}
}
}
}
return null;
}
function getRepositoryAuth(siteData) {
var userName, password;
for (var i = 0; i < siteData.SiteProperties.Properties.NameValuePair.length; ++i) {
var pair = siteData.SiteProperties.Properties.NameValuePair[i];
if (pair.Name === 'PublishingUsername') {
userName = pair.Value;
} else if (pair.Name === 'PublishingPassword') {
password = pair.Value;
}
}
return userName && (userName + ':' + password);
}
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
function exec(cmd, cb) {
/*jshint camelcase:false*/
child_process.exec(cmd, function (err, stdout, stderr) {
cb(err, {
stdout: stdout,
stderr: stderr
});
});
}

Просмотреть файл

@ -18,6 +18,7 @@ services/core/servicebussettings-tests.js
services/core/servicemanagementsettings-tests.js
services/core/storageservicesettings-tests.js
services/queue/queueservice-tests.js
services/scm/scmservice-tests.js
services/serviceBus/internal/wraptokenmanager-tests.js
services/serviceBus/apnsservice-tests.js
services/serviceBus/apnsservice-registrations-tests.js