Example #1
0
            public IEnumerator ServerGetUserEntitlementById_Failed()
            {
                ServerEcommerce serverEcommerce = AccelByteServerPlugin.GetEcommerce();

                Result <EntitlementInfo> entitlementInfo = null;

                serverEcommerce.GetUserEntitlementById("Invalid", result => { entitlementInfo = result; });

                while (entitlementInfo == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(entitlementInfo.IsError, "Server get user entitlement by invalid id is success.");
            }
            public IEnumerator LoginTestUser()
            {
                var    user            = AccelBytePlugin.GetUser();
                Result userLoginResult = null;

                user.LoginWithDeviceId(result => { userLoginResult = result; });

                while (userLoginResult == null)
                {
                    yield return(new WaitForSeconds(0.1f));
                }

                TestHelper.Assert.IsTrue(!userLoginResult.IsError, "User cannot login.");

                TestVariables.userId = user.Session.UserId;

                TestHelper         testHelper     = new TestHelper();
                Result <TokenData> getAccessToken = null;

                testHelper.GetAccessToken(result => { getAccessToken = result; });

                while (getAccessToken == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(!getAccessToken.IsError, "Cannot get access token.");

                TestVariables.accessToken = getAccessToken.Value.access_token;

                DedicatedServer server      = AccelByteServerPlugin.GetDedicatedServer();
                Result          loginResult = null;

                server.LoginWithClientCredentials(result => loginResult = result);

                while (loginResult == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(!loginResult.IsError, "Server cannot login.");
            }
Example #3
0
            public IEnumerator ServerGetUserEntitlementById_Success()
            {
                ServerEcommerce serverEcommerce = AccelByteServerPlugin.GetEcommerce();

                Result <EntitlementInfo> entitlementInfo = null;

                serverEcommerce.GetUserEntitlementById(expectedEntitlementId, result => { entitlementInfo = result; });

                while (entitlementInfo == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(!entitlementInfo.IsError, "Server get user entitlement by id failed.");
                TestHelper.Assert.IsTrue(entitlementInfo.Value.id == expectedEntitlementId, "Expected entitlement is not found.");
            }
Example #4
0
            public IEnumerator CreditUserWallet_Success()
            {
                ServerEcommerce         serverEcommerce         = AccelByteServerPlugin.GetEcommerce();
                CreditUserWalletRequest creditUserWalletRequest = new CreditUserWalletRequest
                {
                    amount = 1000,
                    source = CreditUserWalletSource.PURCHASE,
                    reason = "Unity GameServer Ecommerce CreditUserWallet test."
                };
                int expectedBalance            = walletBalance + creditUserWalletRequest.amount;
                Result <WalletInfo> walletInfo = null;

                serverEcommerce.CreditUserWallet(TestVariables.userId, TestVariables.currencyCode, creditUserWalletRequest, result => { walletInfo = result; });

                while (walletInfo == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(!walletInfo.IsError, "Credit user wallet failed.");
                TestHelper.Assert.IsTrue(walletInfo.Value.balance == expectedBalance, "Balance is not increased.");
            }
Example #5
0
        public IEnumerator Setup()
        {
            var user = AccelBytePlugin.GetUser();

            this.server = AccelByteServerPlugin.GetDedicatedServer();

            Result loginResult = null;

            this.server.LoginWithClientCredentials(result => loginResult = result);

            while (loginResult == null)
            {
                Thread.Sleep(100);

                yield return(null);
            }

            Result loginWithDevice = null;

            user.LoginWithDeviceId(result => { loginWithDevice = result; });

            while (loginWithDevice == null)
            {
                Thread.Sleep(100);

                yield return(null);
            }

            this.userId1 = user.Session.UserId;

            Result logoutResult = null;

            user.Logout(result => logoutResult = result);

            while (logoutResult == null)
            {
                yield return(new WaitForSeconds(0.1f));
            }

            var steamTicketBuilder = new StringBuilder();

            if (SteamManager.Initialized)
            {
                var  ticket = new byte[1024];
                uint actualTicketLength;
                SteamUser.GetAuthSessionTicket(ticket, ticket.Length, out actualTicketLength);
                Array.Resize(ref ticket, (int)actualTicketLength);

                foreach (byte b in ticket)
                {
                    steamTicketBuilder.AppendFormat("{0:x2}", b);
                }
            }

            Result steamLoginResult = null;

            user.LoginWithOtherPlatform(
                PlatformType.Steam,
                steamTicketBuilder.ToString(),
                result => steamLoginResult = result);

            while (steamLoginResult == null)
            {
                yield return(new WaitForSeconds(0.1f));
            }

            this.userId2 = user.Session.UserId;

            this.statistic = AccelByteServerPlugin.GetStatistic();

            //Get AccessToken
            Result <TokenData> GetAccessToken = null;

            this.helper.GetAccessToken(result => { GetAccessToken = result; });

            while (GetAccessToken == null)
            {
                Thread.Sleep(100);

                yield return(null);
            }

            this.helperAccessToken = GetAccessToken.Value.access_token;

            for (int i = 0; i < this.statCodes.Length - 1; i++)
            {
                Debug.Log("Start to create stat! " + this.statCodes[i]);
                Result <StatConfig>        createStatResult = null;
                TestHelper.StatCreateModel createStat       = new TestHelper.StatCreateModel
                {
                    defaultValue  = 0,
                    description   = "Stat for SDK Test",
                    incrementOnly = true,
                    maximum       = 999999,
                    minimum       = 0,
                    name          = this.statCodes[i],
                    setAsGlobal   = false,
                    setBy         = StatisticSetBy.SERVER,
                    statCode      = this.statCodes[i],
                    tags          = new[] { this.tags[i] }
                };

                this.helper.CreateStatConfig(
                    this.helperAccessToken,
                    createStat,
                    result => { createStatResult = result; });

                while (createStatResult == null)
                {
                    yield return(new WaitForSeconds(0.1f));
                }
            }

            Debug.Log("Start to create stat! " + this.statCodes[5]);
            Result <StatConfig> createStat6Result = null;

            TestHelper.StatCreateModel createStat6 = new TestHelper.StatCreateModel
            {
                defaultValue  = 0,
                description   = "Stat for SDK Test",
                incrementOnly = false,
                maximum       = 999999,
                minimum       = 0,
                name          = this.statCodes[5],
                setAsGlobal   = false,
                setBy         = StatisticSetBy.SERVER,
                statCode      = this.statCodes[5],
                tags          = new[] { this.tags[5] }
            };

            this.helper.CreateStatConfig(
                this.helperAccessToken,
                createStat6,
                result => { createStat6Result = result; });

            while (createStat6Result == null)
            {
                yield return(new WaitForSeconds(0.1f));
            }

            foreach (string statCode in this.statCodes)
            {
                Result deleteResult = null;

                this.helper.DeleteStatItem(
                    this.helperAccessToken,
                    this.userId1,
                    statCode,
                    result => deleteResult = result);

                while (deleteResult == null)
                {
                    yield return(new WaitForSeconds(0.1f));
                }

                deleteResult = null;

                this.helper.DeleteStatItem(
                    this.helperAccessToken,
                    this.userId2,
                    statCode,
                    result => deleteResult = result);

                while (deleteResult == null)
                {
                    yield return(new WaitForSeconds(0.1f));
                }
            }
        }
Example #6
0
            public IEnumerator GrantUserEntitlement_Success()
            {
                Entitlement entitlements = AccelBytePlugin.GetEntitlements();
                Result <EntitlementPagingSlicedResult> getEmptyPagedEntitlementsResult = null;

                entitlements.QueryUserEntitlements("", TestVariables.inGameItem.itemId, 0, 20, result => { getEmptyPagedEntitlementsResult = result; });

                while (getEmptyPagedEntitlementsResult == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(!getEmptyPagedEntitlementsResult.IsError, "Get user entitlements failed.");

                GrantUserEntitlementRequest grantUserEntitlementRequest = new GrantUserEntitlementRequest
                {
                    itemId        = TestVariables.inGameItem.itemId,
                    itemNamespace = TestVariables.inGameItem.Namespace,
                    grantedCode   = "123456789",
                    quantity      = 1,
                    source        = EntitlementSource.ACHIEVEMENT,
                    region        = TestVariables.region,
                    language      = TestVariables.language
                };

                GrantUserEntitlementRequest[] grantUserEntitlementsRequest = { grantUserEntitlementRequest };

                ServerEcommerce serverEcommerce = AccelByteServerPlugin.GetEcommerce();

                Result <StackableEntitlementInfo[]> stackableEntitlementInfo = null;

                serverEcommerce.GrantUserEntitlement(TestVariables.userId, grantUserEntitlementsRequest, result => { stackableEntitlementInfo = result; });

                while (stackableEntitlementInfo == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                TestHelper.Assert.IsTrue(!stackableEntitlementInfo.IsError, "Grant user entitlement failed.");
                TestHelper.Assert.IsTrue(stackableEntitlementInfo.Value[0].itemId == TestVariables.inGameItem.itemId, "Item is not found.");

                Result <EntitlementPagingSlicedResult> getPagedEntitlementsResult = null;

                entitlements.QueryUserEntitlements("", TestVariables.inGameItem.itemId, 0, 20, result => { getPagedEntitlementsResult = result; });

                while (getPagedEntitlementsResult == null)
                {
                    Thread.Sleep(100);

                    yield return(null);
                }

                bool grantedEntitlementFound = false;

                for (int i = 0; i < getPagedEntitlementsResult.Value.data.Length; i++)
                {
                    if (getPagedEntitlementsResult.Value.data[i].grantedCode == grantUserEntitlementRequest.grantedCode)
                    {
                        grantedEntitlementFound = true;
                    }
                }

                TestHelper.Assert.IsTrue(!getPagedEntitlementsResult.IsError, "Get user entitlements failed.");
                TestHelper.Assert.IsTrue(grantedEntitlementFound, "Granted Item is not found.");
            }