/// <summary> /// Fetch the result and return /// (The cloudscript function should remove the test result from userData and delete the user) /// </summary> private int FetchTestResult(string workspacePath, TestTitleData testTitleData) { List <TestSuiteReport> testResults; string errorReport; var callResult = ExecuteCloudScript(CsFuncGetTestData, _getRequest, testTitleData.extraHeaders, out testResults, out errorReport); string outputFileFullPath = null; for (int i = 0; i < 100; i++) { string eachOutputFile = Path.Combine(workspacePath, "ListenCsResult" + i + ".xml"); if (!File.Exists(eachOutputFile)) { outputFileFullPath = eachOutputFile; break; // Find the first file that doesn't exist } } if (!callResult || testResults == null) { return(1); } JcuUtil.FancyWriteToConsole(ConsoleColor.Gray, "Writing test results: " + outputFileFullPath); return(JUnitXml.WriteXmlFile(outputFileFullPath, testResults, true)); }
/// <summary> /// Fetch the result and return /// (The cloudscript function should remove the test result from userData and delete the user) /// </summary> private int FetchTestResult(string buildIdentifier, string workspacePath, TestTitleData testTitleData) { List <TestSuiteReport> testResults; string errorReport; var callResult = ExecuteCloudScript <CsGetRequest, List <TestSuiteReport> >(CsFuncGetTestData, _getRequest, testTitleData.extraHeaders, out testResults, out errorReport); var tempFilename = buildIdentifier + ".xml"; var tempFileFullPath = Path.Combine(workspacePath, tempFilename); if (!callResult || testResults == null) { return(1); } return(JUnitXml.WriteXmlFile(tempFileFullPath, testResults, true)); }
/// <summary> /// Loop and poll for the expected test results /// </summary> private int WaitForTestResult(TimeSpan timeout, TestTitleData testTitleData) { var now = DateTime.UtcNow; var expireTime = now + timeout; var resultsReady = false; while (now < expireTime && !resultsReady) { string errorReport; var callResult = ExecuteCloudScript(CsFuncTestDataExists, _getRequest, testTitleData.extraHeaders, out resultsReady, out errorReport); if (callResult == false) { return(1); // The cloudscript call failed } Thread.Sleep(TestDataExistsSleepTime); now = DateTime.UtcNow; JcuUtil.FancyWriteToConsole(ConsoleColor.Gray, "Test results ready: " + resultsReady); } return(resultsReady ? 0 : 1); }
private static int Login(string titleId, string buildIdentifier, TestTitleData testTitleData) { PlayFabSettings.TitleId = titleId; var task = PlayFabClientAPI.LoginWithCustomIDAsync(new LoginWithCustomIDRequest { TitleId = titleId, CustomId = buildIdentifier, CreateAccount = true }, null, testTitleData.extraHeaders); task.Wait(); var returnCode = PlayFabClientAPI.IsClientLoggedIn() ? 0 : 1; if (returnCode != 0) { JenkinsConsoleUtility.FancyWriteToConsole("Failed to log in using CustomID: " + titleId + ", " + buildIdentifier, null, ConsoleColor.Red); JenkinsConsoleUtility.FancyWriteToConsole(PlayFabUtil.GetErrorReport(task.Result.Error), null, ConsoleColor.Red); } else { JenkinsConsoleUtility.FancyWriteToConsole("Login successful, PlayFabId: " + task.Result.Result.PlayFabId, null, ConsoleColor.Gray); } return(returnCode); }
private int Login(string titleId, string buildIdentifier, TestTitleData testTitleData) { PlayFabSettings.staticSettings.TitleId = titleId; var task = clientApi.LoginWithCustomIDAsync(new LoginWithCustomIDRequest { TitleId = titleId, CustomId = buildIdentifier, CreateAccount = true }, null, testTitleData.extraHeaders); task.Wait(); var returnCode = clientApi.IsClientLoggedIn() ? 0 : 1; if (returnCode != 0) { JcuUtil.FancyWriteToConsole(ConsoleColor.Red, "Failed to log in using CustomID: " + titleId + ", " + buildIdentifier); JcuUtil.FancyWriteToConsole(ConsoleColor.Red, task.Result.Error?.GenerateErrorReport()); } else { JcuUtil.FancyWriteToConsole(ConsoleColor.Gray, "Login successful, PlayFabId: " + task.Result.Result.PlayFabId); } return(returnCode); }