コード例 #1
0
        public void CloudScript()
        {
            var getUrlTask = PlayFabClientAPI.GetCloudScriptUrlAsync(new GetCloudScriptUrlRequest());

            WaitForResultSuccess(getUrlTask, "Failed to get LogicServerURL");

            var request = new RunCloudScriptRequest();

            request.ActionId = "helloWorld";
            var cloudTask = PlayFabClientAPI.RunCloudScriptAsync(request);

            WaitForResultSuccess(cloudTask, "Failed to Execute CloudScript");
            UUnitAssert.False(string.IsNullOrEmpty(cloudTask.Result.Result.ResultsEncoded), "Failed to Execute CloudScript");

            // Get the helloWorld return message
            JObject jobj = cloudTask.Result.Result.Results as JObject;

            UUnitAssert.NotNull(jobj);
            JToken jtok;

            jobj.TryGetValue("messageValue", out jtok);
            UUnitAssert.NotNull(jtok);
            JValue jval = jtok as JValue;

            UUnitAssert.NotNull(jval);
            string actualMessage = jval.Value as string;

            UUnitAssert.StringEquals("Hello " + playFabId + "!", actualMessage);
        }
コード例 #2
0
        public void InvalidLogin()
        {
            // If the setup failed to log in a user, we need to create one.
            var request = new LoginWithEmailAddressRequest();

            request.TitleId  = PlayFabSettings.TitleId;
            request.Email    = USER_EMAIL;
            request.Password = USER_PASSWORD + "INVALID";
            PlayFabClientAPI.LoginWithEmailAddress(request, LoginCallback, SharedErrorCallback);
            WaitForApiCalls();

            UUnitAssert.False(lastReceivedMessage.ToLower().Contains("successful"), lastReceivedMessage);
            UUnitAssert.True(lastReceivedMessage.ToLower().Contains("password"), lastReceivedMessage);
        }
コード例 #3
0
        public void CloudScript()
        {
            if (string.IsNullOrEmpty(Client.Settings.GetLogicURL()))
            {
                var getUrlTask = Client.GetCloudScriptUrlAsync(new ClientModels.GetCloudScriptUrlRequest());

                try
                {
                    getUrlTask.Wait();
                }
                catch (Exception ex)
                {
                    UUnitAssert.True(false, ex.Message);
                }
                UUnitAssert.False(string.IsNullOrEmpty(getUrlTask.Result), "Failed to get LogicServerURL");
                UUnitAssert.False(string.IsNullOrEmpty(Client.Settings.GetLogicURL()), "Failed to get LogicServerURL");
            }

            var request = new ClientModels.RunCloudScriptRequest();

            request.ActionId = "helloWorld";
            var cloudTask = Client.RunCloudScriptAsync(request);

            try
            {
                cloudTask.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.True(false, ex.Message);
            }
            UUnitAssert.NotNull(cloudTask.Result, "Failed to Execute CloudScript");
            UUnitAssert.False(string.IsNullOrEmpty(cloudTask.Result.ResultsEncoded), "Failed to Execute CloudScript");

            // Get the helloWorld return message
            JObject jobj = cloudTask.Result.Results as JObject;

            UUnitAssert.NotNull(jobj);
            JToken jtok;

            jobj.TryGetValue("messageValue", out jtok);
            UUnitAssert.NotNull(jtok);
            JValue jval = jtok as JValue;

            UUnitAssert.NotNull(jval);
            string actualMessage = jval.Value as string;

            UUnitAssert.Equals("Hello " + playFabId + "!", actualMessage);
        }
コード例 #4
0
        public void InvalidLogin()
        {
            // If the setup failed to log in a user, we need to create one.
            var task = Client.LoginWithEmailAddressAsync(Client.Settings.TitleId, USER_EMAIL, USER_PASSWORD);

            try
            {
                task.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.True(ex.Message.Contains("password"));
            }
            UUnitAssert.False(true, "This should be unreachable");
        }
コード例 #5
0
        public void InvalidRegistration()
        {
            var expectedEmailMsg    = "email address is not valid.";
            var expectedPasswordMsg = "password must be between";

            var registerTask = Client.RegisterPlayFabUserAsync(Client.Settings.TitleId, "x", "x", "x");

            try
            {
                registerTask.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.True(ex.InnerException.Message.ToLowerInvariant().Contains(expectedEmailMsg), "Expected an error about bad email address: " + ex.InnerException.Message);
                UUnitAssert.True(ex.InnerException.Message.ToLowerInvariant().Contains(expectedPasswordMsg), "Expected an error about bad password: "******"This should be unreachable");
        }
コード例 #6
0
        public void UserStatisticsApi()
        {
            int testStatExpected, testStatActual;

            var getStatTask1 = Client.GetUserStatisticsAsync();

            try
            {
                getStatTask1.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.True(false, ex.Message);
            }

            UUnitAssert.NotNull(getStatTask1.Result, "UserStatistics should have been retrieved from Api call");

            if (!getStatTask1.Result.TryGetValue(TEST_STAT_NAME, out testStatExpected))
            {
                testStatExpected = TEST_STAT_BASE;
            }
            testStatExpected = ((testStatExpected + 1) % TEST_STAT_BASE) + TEST_STAT_BASE; // This test is about the expected value changing (incrementing through from TEST_STAT_BASE to TEST_STAT_BASE * 2 - 1)

            var updateRequest = new ClientModels.UpdateUserStatisticsRequest();

            updateRequest.UserStatistics = new Dictionary <string, int>();
            updateRequest.UserStatistics[TEST_STAT_NAME] = testStatExpected;
            var    updateTask    = Client.UpdateUserStatisticsAsync(updateRequest);
            bool   failed        = false;
            string failedMessage = "UpdateStatistics should have failed";

            try
            {
                updateTask.Wait(); // The update doesn't return anything, so can't test anything other than failure
            }
            catch (Exception ex)
            {
                failed        = true;
                failedMessage = ex.Message;
            }

            // Test update result - no data returned, so error or no error, based on Title settings
            if (!TITLE_CAN_UPDATE_SETTINGS)
            {
                UUnitAssert.True(failed, failedMessage);
            }
            else
            {
                UUnitAssert.False(failed, failedMessage);
            }

            var getStatTask2 = Client.GetUserStatisticsAsync();

            try
            {
                getStatTask2.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.True(false, ex.Message);
            }
            UUnitAssert.NotNull(getStatTask2.Result, "UserStatistics should have been retrieved from Api call");
            getStatTask2.Result.TryGetValue(TEST_STAT_NAME, out testStatActual);
            UUnitAssert.Equals(testStatExpected, testStatActual);
        }