public void DeployLargeRepoFromDropbox(string repoPath, string appName, string verificationText, string resourcePath) { if (!shouldRunLargeRepoTests) { return; } using (new LatencyLogger("PushAndDeployApps - " + appName)) { var db = new DropboxTests(); { DropboxTests.OAuthInfo oauth = db.GetOAuthInfo(appName); if (oauth == null) { // only run in private kudu return; } DropboxDeployInfo deploy; DropboxTests.AccountInfo account = db.GetAccountInfo(oauth); using (new LatencyLogger("DropboxGetDeployInfo - " + appName)) { deploy = db.GetDeployInfo(repoPath, oauth, account); } ApplicationManager.Run(appName, appManager => { const int timeoutInMinutes = 100; DateTime stopTime = DateTime.Now.AddMinutes(timeoutInMinutes); var client = HttpClientHelper.CreateClient(appManager.ServiceUrl, appManager.DeploymentManager.Credentials); using (new LatencyLogger("DropboxDeploy - " + appName)) { client.PostAsJsonAsync("deploy?scmType=Dropbox", deploy); List<DeployResult> results; do { Thread.Sleep(5000); if (DateTime.Now > stopTime) { throw new TimeoutException("Terminating test. Current test took too long."); } results = appManager.DeploymentManager.GetResultsAsync().Result.ToList(); TestTracer.Trace(results[0].Progress); } while ((results[0]).Status != DeployStatus.Success && (results[0]).Status != DeployStatus.Failed); } KuduAssert.VerifyUrl(appManager.SiteUrl + resourcePath, verificationText); using (new LatencyLogger("DropboxScmDelete - " + appName)) { appManager.RepositoryManager.Delete(deleteWebRoot: false, ignoreErrors: false).Wait(); } }); } } }
public void DeployLargeRepoFromDropbox(string repoPath, string appName, string verificationText, string resourcePath) { if (!shouldRunLargeRepoTests) { return; } using (new LatencyLogger("PushAndDeployApps - " + appName)) { var db = new DropboxTests(); { DropboxTests.OAuthInfo oauth = db.GetOAuthInfo(appName); if (oauth == null) { // only run in private kudu return; } JObject deploy; DropboxTests.AccountInfo account = db.GetAccountInfo(oauth); using (new LatencyLogger("DropboxGetDeployInfo - " + appName)) { deploy = db.GetDeployInfo(repoPath, oauth, account); } ApplicationManager.Run(appName, appManager => { const int timeoutInMinutes = 100; DateTime stopTime = DateTime.Now.AddMinutes(timeoutInMinutes); var client = HttpClientHelper.CreateClient(appManager.ServiceUrl, appManager.DeploymentManager.Credentials); using (new LatencyLogger("DropboxDeploy - " + appName)) { client.PostAsJsonAsync("deploy?scmType=Dropbox", deploy); List <DeployResult> results; do { Thread.Sleep(5000); if (DateTime.Now > stopTime) { throw new TimeoutException("Terminating test. Current test took too long."); } results = appManager.DeploymentManager.GetResultsAsync().Result.ToList(); TestTracer.Trace(results[0].Progress); } while ((results[0]).Status != DeployStatus.Success && (results[0]).Status != DeployStatus.Failed); } KuduAssert.VerifyUrl(appManager.SiteUrl + resourcePath, verificationText); using (new LatencyLogger("DropboxScmDelete - " + appName)) { appManager.RepositoryManager.Delete(deleteWebRoot: false, ignoreErrors: false).Wait(); } }); } } }