/// <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));
        }
Example #2
0
        /// <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));
        }
Example #3
0
        /// <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);
        }
Example #5
0
        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);
        }