public void ReturnAnEquivalentPlayerJoinRequest()
        {
            var playerJoinRequest =
                new PlayerJoinRequest("Leader", "PIT", "type", new Dictionary <string, string> {
                { "cmf", "cmz" }
            });

            playerJoinRequest.AssignMatch("deployment-id", "deployment-name");
            var serializedPlayerJoinRequest   = JsonConvert.SerializeObject(playerJoinRequest);
            var deserializedPlayerJoinRequest =
                JsonConvert.DeserializeObject <PlayerJoinRequest>(serializedPlayerJoinRequest);

            Assert.AreEqual(playerJoinRequest.Id, deserializedPlayerJoinRequest.Id);
            Assert.AreEqual(playerJoinRequest.PlayerIdentity, deserializedPlayerJoinRequest.PlayerIdentity);
            Assert.AreEqual(playerJoinRequest.PlayerIdentityToken, deserializedPlayerJoinRequest.PlayerIdentityToken);
            Assert.AreEqual(playerJoinRequest.DeploymentName, deserializedPlayerJoinRequest.DeploymentName);
            Assert.AreEqual(playerJoinRequest.DeploymentId, deserializedPlayerJoinRequest.DeploymentId);
            Assert.AreEqual(playerJoinRequest.Type, deserializedPlayerJoinRequest.Type);
            Assert.AreEqual(playerJoinRequest.State, deserializedPlayerJoinRequest.State);
            CollectionAssert.AreEquivalent(playerJoinRequest.Metadata, deserializedPlayerJoinRequest.Metadata);
        }
示例#2
0
        public void ReturnOperationWithResultIfMatched()
        {
            var joinReq = new PlayerJoinRequest("testplayer", "test-player-token", "open_world", null);

            joinReq.AssignMatch("1234", "deployment1234");
            _memoryStoreClient.Setup(client => client.GetAsync <PlayerJoinRequest>("test_op")).ReturnsAsync(joinReq);
            _authClient.Setup(client => client.CreateLoginToken(new CreateLoginTokenRequest
            {
                DeploymentId        = "1234",
                PlayerIdentityToken = "test-player-token"
            }, It.IsAny <CallSettings>())).Returns(new CreateLoginTokenResponse
            {
                LoginToken = "test-login-token"
            });
            var deleted = new List <PlayerJoinRequest>();

            _transaction.Setup(tx => tx.DeleteAll(It.IsAny <IEnumerable <Entry> >()))
            .Callback <IEnumerable <Entry> >(requests =>
                                             deleted.AddRange(requests.Select(r => (PlayerJoinRequest)r)));

            var context = Util.CreateFakeCallContext("test_op", Pit);
            var resp    = _service.GetOperation(new GetOperationRequest {
                Name = "test_op"
            }, context);

            Assert.That(resp.IsCompletedSuccessfully);
            Assert.AreEqual(StatusCode.OK, context.Status.StatusCode);
            var op = resp.Result;

            Assert.That(op.Done);
            var joinResponse = op.Response.Unpack <JoinResponse>();

            Assert.AreEqual("deployment1234", joinResponse.DeploymentName);
            Assert.AreEqual("test-login-token", joinResponse.LoginToken);
            Assert.AreEqual("testplayer", deleted[0].PlayerIdentity);
            Assert.AreEqual("open_world", deleted[0].Type);
        }