public void LeaderBoard() { var clientTask = Client.GetLeaderboardAsync(TEST_STAT_NAME, 0, 3); try { clientTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(clientTask.Result, "Failed to get client leaderboard"); UUnitAssert.True(clientTask.Result.Leaderboard.Count > 0, "Leaderboard does not contain enough entries."); var serverTask = Server.GetLeaderboardAsync(TEST_STAT_NAME, 0, 3); try { clientTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(serverTask.Result, "Failed to get server leaderboard"); UUnitAssert.True(serverTask.Result.Leaderboard.Count > 0, "Leaderboard does not contain enough entries."); }
public void LeaderBoard() { var clientRequest = new ClientModels.GetLeaderboardRequest(); clientRequest.MaxResultsCount = 3; clientRequest.StatisticName = TEST_STAT_NAME; var clientTask = PlayFabClientAPI.GetLeaderboardAsync(clientRequest); clientTask.Wait(); UUnitAssert.Null(clientTask.Result.Error, "Failed to get client leaderboard"); UUnitAssert.NotNull(clientTask.Result.Result, "Failed to get client leaderboard"); UUnitAssert.NotNull(clientTask.Result.Result.Leaderboard, "Failed to get client leaderboard"); UUnitAssert.True(clientTask.Result.Result.Leaderboard.Count > 0, "Leaderboard does not contain enough entries."); var serverRequest = new ServerModels.GetLeaderboardRequest(); serverRequest.MaxResultsCount = 3; serverRequest.StatisticName = TEST_STAT_NAME; var serverTask = PlayFabServerAPI.GetLeaderboardAsync(serverRequest); clientTask.Wait(); UUnitAssert.Null(serverTask.Result.Error, "Failed to get server leaderboard"); UUnitAssert.NotNull(serverTask.Result.Result, "Failed to get server leaderboard"); UUnitAssert.NotNull(serverTask.Result.Result.Leaderboard, "Failed to get server leaderboard"); UUnitAssert.True(serverTask.Result.Result.Leaderboard.Count > 0, "Leaderboard does not contain enough entries."); }
public void UserCharacter() { var getCharsTask = Server.GetAllUsersCharactersAsync(_playFabId); try { getCharsTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(getCharsTask.Result, "Failed to GetChars"); ServerModels.CharacterResult targetCharacter = null; foreach (var eachCharacter in getCharsTask.Result) { if (eachCharacter.CharacterName == CHAR_NAME) { targetCharacter = eachCharacter; } } if (targetCharacter == null) { // Create the targetCharacter since it doesn't exist var grantTask = Server.GrantCharacterToUserAsync(_playFabId, CHAR_NAME, CHAR_TEST_TYPE); try { grantTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(grantTask.Result, "Grant character failed"); // Attempt to get characters again getCharsTask = Server.GetAllUsersCharactersAsync(_playFabId); try { getCharsTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(getCharsTask.Result, "Failed to GetChars"); foreach (var eachCharacter in getCharsTask.Result) { if (eachCharacter.CharacterName == CHAR_NAME) { targetCharacter = eachCharacter; } } } // Save the requested character UUnitAssert.NotNull(targetCharacter, "The test character did not exist, and was not successfully created"); }
public void LoginOrRegister() { if (!PlayFabClientAPI.IsClientLoggedIn()) // If we haven't already logged in... { var loginRequest = new LoginWithEmailAddressRequest(); loginRequest.Email = USER_EMAIL; loginRequest.Password = USER_PASSWORD; loginRequest.TitleId = PlayFabSettings.TitleId; PlayFabClientAPI.LoginWithEmailAddress(loginRequest, LoginCallback, SharedErrorCallback); WaitForApiCalls(); // We don't do any test here, because the user may not exist, and thus login might fail, but the test should not } if (PlayFabClientAPI.IsClientLoggedIn()) { return; // Success, already logged in } // If the setup failed to log in a user, we need to create one. var registerRequest = new RegisterPlayFabUserRequest(); registerRequest.TitleId = PlayFabSettings.TitleId; registerRequest.Username = USER_NAME; registerRequest.Email = USER_EMAIL; registerRequest.Password = USER_PASSWORD; PlayFabClientAPI.RegisterPlayFabUser(registerRequest, RegisterCallback, SharedErrorCallback); WaitForApiCalls(); UUnitAssert.StringEquals("User Registration Successful", lastReceivedMessage); // If we get here, we definitely registered a new user, and we definitely want to verify success UUnitAssert.True(PlayFabClientAPI.IsClientLoggedIn(), "User login failed"); }
public void CloudScript() { var cloudTask = Client.ExecuteCloudScriptAsync("helloWorld"); try { cloudTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(cloudTask.Result, "Failed to Execute CloudScript"); UUnitAssert.NotNull(cloudTask.Result.FunctionResult, "Failed to Execute CloudScript"); // Get the helloWorld return message var jobj = (JObject)cloudTask.Result.FunctionResult; UUnitAssert.NotNull(jobj); JToken jtok; jobj.TryGetValue("messageValue", out jtok); UUnitAssert.NotNull(jtok); var jval = jtok as JValue; UUnitAssert.NotNull(jval); var actualMessage = jval.Value as string; UUnitAssert.StringEquals("Hello " + _playFabId + "!", actualMessage); }
public void AccountInfo() { GetAccountInfoRequest request = new GetAccountInfoRequest(); request.PlayFabId = playFabId; var task = PlayFabClientAPI.GetAccountInfoAsync(request); WaitForResultSuccess(task, "Failed to get accountInfo"); UUnitAssert.True(Enum.IsDefined(typeof(UserOrigination), task.Result.Result.AccountInfo.TitleInfo.Origination.Value), "Origination Enum not valid"); }
private void WaitForApiCalls() { lastReceivedMessage = null; DateTime expireTime = DateTime.UtcNow + TimeSpan.FromSeconds(3); while (PlayFabHTTP.GetPendingMessages() != 0 && DateTime.UtcNow < expireTime) { Thread.Sleep(1); // Wait for the threaded call to be executed PlayFabHTTP.instance.Update(); // Invoke the callbacks for any threaded messages } UUnitAssert.True(DateTime.UtcNow < expireTime, "Request timed out"); UUnitAssert.NotNull(lastReceivedMessage, "Unexpected internal error within PlayFab api, or test suite"); }
public void UserDataApi() { string TEST_KEY = "testCounter"; ClientModels.UserDataRecord testCounter; int testCounterValueExpected, testCounterValueActual; var getRequest = new ClientModels.GetUserDataRequest(); var getDataTask1 = PlayFabClientAPI.GetUserDataAsync(getRequest); getDataTask1.Wait(); UUnitAssert.Null(getDataTask1.Result.Error, "UserData should have been retrieved from Api call"); UUnitAssert.NotNull(getDataTask1.Result.Result, "UserData should have been retrieved from Api call"); UUnitAssert.NotNull(getDataTask1.Result.Result.Data, "UserData should have been retrieved from Api call"); if (!getDataTask1.Result.Result.Data.TryGetValue(TEST_KEY, out testCounter)) { testCounter = new ClientModels.UserDataRecord(); testCounter.Value = "0"; } int.TryParse(testCounter.Value, out testCounterValueExpected); testCounterValueExpected = (testCounterValueExpected + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds var updateRequest = new ClientModels.UpdateUserDataRequest(); updateRequest.Data = new Dictionary <string, string>(); updateRequest.Data[TEST_KEY] = testCounterValueExpected.ToString(); var updateTask = PlayFabClientAPI.UpdateUserDataAsync(updateRequest); updateTask.Wait(); // The update doesn't return anything interesting except versionID. It's better to just re-call GetUserData again below to verify the update UUnitAssert.Null(updateTask.Result.Error, "UpdateUserData call failed"); UUnitAssert.NotNull(updateTask.Result.Result, "UpdateUserData call failed"); getRequest = new ClientModels.GetUserDataRequest(); var getDataTask2 = PlayFabClientAPI.GetUserDataAsync(getRequest); getDataTask2.Wait(); UUnitAssert.Null(getDataTask2.Result.Error, "UserData should have been retrieved from Api call"); UUnitAssert.NotNull(getDataTask2.Result.Result, "UserData should have been retrieved from Api call"); UUnitAssert.NotNull(getDataTask2.Result.Result.Data, "UserData should have been retrieved from Api call"); getDataTask2.Result.Result.Data.TryGetValue(TEST_KEY, out testCounter); UUnitAssert.NotNull(testCounter, "The updated UserData was not found in the Api results"); int.TryParse(testCounter.Value, out testCounterValueActual); UUnitAssert.Equals(testCounterValueExpected, testCounterValueActual); var timeUpdated = testCounter.LastUpdated; var testMin = DateTime.UtcNow - TimeSpan.FromMinutes(5); var testMax = testMin + TimeSpan.FromMinutes(10); UUnitAssert.True(testMin <= timeUpdated && timeUpdated <= testMax); }
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); }
public void AccountInfo() { ClientModels.GetAccountInfoRequest request = new ClientModels.GetAccountInfoRequest(); request.PlayFabId = playFabId; var task = PlayFabClientAPI.GetAccountInfoAsync(request); task.Wait(); UUnitAssert.Null(task.Result.Error, "Failed to get accountInfo"); UUnitAssert.NotNull(task.Result.Result, "Failed to get accountInfo"); UUnitAssert.NotNull(task.Result.Result.AccountInfo, "Failed to get accountInfo"); UUnitAssert.NotNull(task.Result.Result.AccountInfo.TitleInfo, "Failed to get accountInfo"); UUnitAssert.NotNull(task.Result.Result.AccountInfo.TitleInfo.Origination, "Failed to get Origination Enum"); UUnitAssert.True(Enum.IsDefined(typeof(ClientModels.UserOrigination), task.Result.Result.AccountInfo.TitleInfo.Origination.Value), "Origination Enum not valid"); }
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); }
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"); }
public void LoginOrRegister() { var loginTask = Client.LoginWithCustomIDAsync(Client.Settings.TitleId, PlayFabVersion.BuildIdentifier, true); try { loginTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } _playFabId = loginTask.Result.PlayFabId; // Needed for subsequent tests UUnitAssert.True(Client.IsClientLoggedIn(), "User login failed"); }
public void LoginOrRegister() { var loginRequest = new LoginWithCustomIDRequest { TitleId = PlayFabSettings.TitleId, CustomId = PlayFabSettings.BuildIdentifier, CreateAccount = true }; var loginTask = PlayFabClientAPI.LoginWithCustomIDAsync(loginRequest); WaitForResultSuccess(loginTask, "Login failed"); _playFabId = loginTask.Result.Result.PlayFabId; // Needed for subsequent tests UUnitAssert.True(PlayFabClientAPI.IsClientLoggedIn(), "User login failed"); }
private void CloudScript() { if (string.IsNullOrEmpty(PlayFabSettings.LogicServerUrl)) { PlayFabClientAPI.GetCloudScriptUrl(new GetCloudScriptUrlRequest(), CloudScriptUrlCallback, SharedErrorCallback); WaitForApiCalls(); UUnitAssert.True(lastReceivedMessage.StartsWith("CloudScript setup complete: "), lastReceivedMessage); } var request = new RunCloudScriptRequest(); request.ActionId = "helloWorld"; PlayFabClientAPI.RunCloudScript(request, CloudScriptHwCallback, SharedErrorCallback); WaitForApiCalls(); UUnitAssert.Equals("Hello " + playFabId + "!", lastReceivedMessage); }
public void InvalidLogin() { // If the setup failed to log in a user, we need to create one. var request = new ClientModels.LoginWithEmailAddressRequest(); request.TitleId = PlayFabSettings.TitleId; request.Email = USER_EMAIL; request.Password = USER_PASSWORD + "INVALID"; var task = PlayFabClientAPI.LoginWithEmailAddressAsync(request); task.Wait(); UUnitAssert.NotNull(task.Result); UUnitAssert.Null(task.Result.Result); UUnitAssert.NotNull(task.Result.Error); UUnitAssert.True(task.Result.Error.ErrorMessage.Contains("password")); }
public void InvalidRegistration() { var registerRequest = new RegisterPlayFabUserRequest(); registerRequest.TitleId = PlayFabSettings.TitleId; registerRequest.Username = "******"; // Provide invalid inputs for multiple parameters, which will show up in errorDetails registerRequest.Email = "x"; // Provide invalid inputs for multiple parameters, which will show up in errorDetails registerRequest.Password = "******"; // Provide invalid inputs for multiple parameters, which will show up in errorDetails PlayFabClientAPI.RegisterPlayFabUser(registerRequest, RegisterCallback, SharedErrorCallback); WaitForApiCalls(); var expectedEmailMsg = "email address is not valid."; var expectedPasswordMsg = "password must be between"; UUnitAssert.True(lastReceivedMessage.ToLower().Contains(expectedEmailMsg), lastReceivedMessage); UUnitAssert.True(lastReceivedMessage.ToLower().Contains(expectedPasswordMsg), lastReceivedMessage); }
public void WriteEvent() { var writeTask = Client.WritePlayerEventAsync("ForumPostEvent", DateTime.UtcNow, new Dictionary <string, object> { { "Subject", "My First Post" }, { "Body", "My awesome Post." }, }); try { writeTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } // ATM there's nothing we can check after this thing executes. }
public void CloudScriptError() { var cloudTask = Client.ExecuteCloudScriptAsync("throwError"); try { cloudTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } // Get the JavascriptException result UUnitAssert.IsNull(cloudTask.Result.FunctionResult); UUnitAssert.NotNull(cloudTask.Result.Error); UUnitAssert.StringEquals(cloudTask.Result.Error.Error, "JavascriptException"); }
public void LoginWithAdvertisingId() { Client.Settings.AdvertisingIdType = PlayFabDefaultSettings.AD_TYPE_ANDROID_ID; Client.Settings.AdvertisingIdValue = "PlayFabTestId"; var loginTask = Client.LoginWithEmailAddressAsync(Client.Settings.TitleId, USER_EMAIL, USER_PASSWORD); try { loginTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.Equals(PlayFabDefaultSettings.AD_TYPE_ANDROID_ID + "_Successful", Client.Settings.AdvertisingIdType); }
public void AccountInfo() { var task = Client.GetAccountInfoAsync(_playFabId); try { task.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(task.Result, "Failed to get accountInfo"); UUnitAssert.NotNull(task.Result.TitleInfo, "Failed to get accountInfo"); UUnitAssert.NotNull(task.Result.TitleInfo.Origination, "Failed to get Origination Enum"); UUnitAssert.True(Enum.IsDefined(typeof(UserOrigination), task.Result.TitleInfo.Origination.Value), "Origination Enum not valid"); }
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"); }
public void LoginWithAdvertisingId() { Client.Settings.AdvertisingIdType = PlayFabDefaultSettings.AD_TYPE_ANDROID_ID; Client.Settings.AdvertisingIdValue = "PlayFabTestId"; var loginTask = Client.LoginWithCustomIDAsync(Client.Settings.TitleId, PlayFabVersion.BuildIdentifier, true); try { loginTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } _playFabId = loginTask.Result.PlayFabId; // Needed for subsequent tests UUnitAssert.True(Client.IsClientLoggedIn(), "User login failed"); UUnitAssert.StringEquals(PlayFabDefaultSettings.AD_TYPE_ANDROID_ID + "_Successful", Client.Settings.AdvertisingIdType); }
public void LoginWithAdvertisingId() { PlayFabSettings.AdvertisingIdType = PlayFabSettings.AD_TYPE_ANDROID_ID; PlayFabSettings.AdvertisingIdValue = "PlayFabTestId"; var loginRequest = new LoginWithCustomIDRequest { TitleId = PlayFabSettings.TitleId, CustomId = PlayFabSettings.BuildIdentifier, CreateAccount = true }; var loginTask = PlayFabClientAPI.LoginWithCustomIDAsync(loginRequest); WaitForResultSuccess(loginTask, "Login with advertId failed"); _playFabId = loginTask.Result.Result.PlayFabId; // Needed for subsequent tests UUnitAssert.True(PlayFabClientAPI.IsClientLoggedIn(), "User login failed"); UUnitAssert.StringEquals(PlayFabSettings.AD_TYPE_ANDROID_ID + "_Successful", PlayFabSettings.AdvertisingIdType); }
public void InvalidRegistration() { var registerRequest = new RegisterPlayFabUserRequest(); registerRequest.TitleId = PlayFabSettings.TitleId; registerRequest.Username = "******"; registerRequest.Email = "x"; registerRequest.Password = "******"; var registerTask = PlayFabClientAPI.RegisterPlayFabUserAsync(registerRequest); UUnitAssert.NotNull(registerTask.Result); UUnitAssert.IsNull(registerTask.Result.Result); UUnitAssert.NotNull(registerTask.Result.Error); var expectedEmailMsg = "email address is not valid."; var expectedPasswordMsg = "password must be between"; var fullReport = CompileErrorReport(registerTask.Result.Error); UUnitAssert.True(fullReport.ToLower().Contains(expectedEmailMsg), "Expected an error about bad email address: " + fullReport); UUnitAssert.True(fullReport.ToLower().Contains(expectedPasswordMsg), "Expected an error about bad password: " + fullReport); }
public void LoginOrRegister() { if (!Client.IsClientLoggedIn()) // If we haven't already logged in... { var loginTask = Client.LoginWithEmailAddressAsync(Client.Settings.TitleId, USER_EMAIL, USER_PASSWORD); try { loginTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.True(true); playFabId = loginTask.Result.PlayFabId; // Needed for subsequent tests } if (Client.IsClientLoggedIn()) { return; // Success, already logged in } // If the setup failed to log in a user, we need to create one. var registerTask = Client.RegisterPlayFabUserAsync(Client.Settings.TitleId, USER_NAME, USER_EMAIL, USER_PASSWORD, null, null, null); try { registerTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.True(true); playFabId = registerTask.Result.PlayFabId; // Needed for subsequent tests UUnitAssert.True(Client.IsClientLoggedIn(), "User login failed"); }
public void UserDataApi() { int testCounterValueExpected, testCounterValueActual; var getRequest = new GetUserDataRequest(); PlayFabClientAPI.GetUserData(getRequest, GetUserDataCallback, SharedErrorCallback); WaitForApiCalls(); UUnitAssert.Equals("User Data Received", lastReceivedMessage); int.TryParse(testCounterReturn.Value, out testCounterValueExpected); testCounterValueExpected = (testCounterValueExpected + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds var updateRequest = new UpdateUserDataRequest(); updateRequest.Data = new Dictionary <string, string>(); updateRequest.Data[TEST_DATA_KEY] = testCounterValueExpected.ToString(); PlayFabClientAPI.UpdateUserData(updateRequest, UpdateUserDataCallback, SharedErrorCallback); WaitForApiCalls(); UUnitAssert.StringEquals("User Data Updated", lastReceivedMessage); getRequest = new GetUserDataRequest(); PlayFabClientAPI.GetUserData(getRequest, GetUserDataCallback, SharedErrorCallback); WaitForApiCalls(); UUnitAssert.StringEquals("User Data Received", lastReceivedMessage); int.TryParse(testCounterReturn.Value, out testCounterValueActual); UUnitAssert.IntEquals(testCounterValueExpected, testCounterValueActual); DateTime timeUpdated = testCounterReturn.LastUpdated; DateTime minTest = DateTime.UtcNow - TimeSpan.FromMinutes(5); DateTime maxTest = DateTime.UtcNow + TimeSpan.FromMinutes(5); UUnitAssert.True(minTest <= timeUpdated && timeUpdated <= maxTest); // UnityEngine.Debug.Log((DateTime.UtcNow - timeUpdated).TotalSeconds); UUnitAssert.True(Math.Abs((DateTime.UtcNow - timeUpdated).TotalMinutes) < 5); // Make sure that this timestamp is recent - This must also account for the difference between local machine time and server time }
public void LeaderBoard() { var clientRequest = new GetLeaderboardRequest { MaxResultsCount = 3, StatisticName = TEST_STAT_NAME, }; var clientTask = PlayFabClientAPI.GetLeaderboardAsync(clientRequest); WaitForResultSuccess(clientTask, "Failed to get client leaderboard"); UUnitAssert.True(clientTask.Result.Result.Leaderboard.Count > 0, "Leaderboard does not contain enough entries."); var serverRequest = new ServerModels.GetLeaderboardRequest { MaxResultsCount = 3, StatisticName = TEST_STAT_NAME, }; var serverTask = PlayFabServerAPI.GetLeaderboardAsync(serverRequest); WaitForResultSuccess(serverTask, "Failed to get server leaderboard"); UUnitAssert.True(serverTask.Result.Result.Leaderboard.Count > 0, "Leaderboard does not contain enough entries."); }
public void LoginOrRegister() { if (!PlayFabClientAPI.IsClientLoggedIn()) // If we haven't already logged in... { var loginRequest = new ClientModels.LoginWithEmailAddressRequest(); loginRequest.Email = USER_EMAIL; loginRequest.Password = USER_PASSWORD; loginRequest.TitleId = PlayFabSettings.TitleId; var loginTask = PlayFabClientAPI.LoginWithEmailAddressAsync(loginRequest); loginTask.Wait(); if (loginTask.Result != null && loginTask.Result.Result != null) // If successful, track playFabId { playFabId = loginTask.Result.Result.PlayFabId; // Needed for subsequent tests } } if (PlayFabClientAPI.IsClientLoggedIn()) { return; // Success, already logged in } // If the setup failed to log in a user, we need to create one. var registerRequest = new ClientModels.RegisterPlayFabUserRequest(); registerRequest.TitleId = PlayFabSettings.TitleId; registerRequest.Username = USER_NAME; registerRequest.Email = USER_EMAIL; registerRequest.Password = USER_PASSWORD; var registerTask = PlayFabClientAPI.RegisterPlayFabUserAsync(registerRequest); registerTask.Wait(); UUnitAssert.NotNull(registerTask.Result); UUnitAssert.Null(registerTask.Result.Error); UUnitAssert.NotNull(registerTask.Result.Result); playFabId = registerTask.Result.Result.PlayFabId; // Needed for subsequent tests UUnitAssert.True(PlayFabClientAPI.IsClientLoggedIn(), "User login failed"); }
public void LeaderBoard() { var clientRequest = new ClientModels.GetLeaderboardAroundCurrentUserRequest(); clientRequest.MaxResultsCount = 3; clientRequest.StatisticName = TEST_STAT_NAME; var clientTask = Client.GetLeaderboardAroundCurrentUserAsync(clientRequest); try { clientTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(clientTask.Result, "Failed to get client leaderboard"); UUnitAssert.True(clientTask.Result.Count > 0, "Leaderboard does not contain enough entries."); var serverRequest = new ServerModels.GetLeaderboardAroundCharacterRequest(); serverRequest.MaxResultsCount = 3; serverRequest.StatisticName = TEST_STAT_NAME; serverRequest.CharacterId = characterId; serverRequest.PlayFabId = playFabId; var serverTask = Server.GetLeaderboardAroundCharacterAsync(serverRequest); try { clientTask.Wait(); } catch (Exception ex) { UUnitAssert.True(false, ex.Message); } UUnitAssert.NotNull(serverTask.Result, "Failed to get server leaderboard"); UUnitAssert.True(serverTask.Result.Count > 0, "Leaderboard does not contain enough entries."); }