public void Setup() { _partyMatched = new PartyDataModel(LeaderPartyMatched, Pit); _partyMatched.AddPlayerToParty(PlayerPartyMatched, Pit); _matchedPartyJoinRequest = new PartyJoinRequest(_partyMatched, "type-matched", null); _partyError = new PartyDataModel(LeaderPartyError, Pit); _errorPartyJoinRequest = new PartyJoinRequest(_partyError, "type-error", null); _partyRequeue = new PartyDataModel(LeaderPartyRequeue, Pit); _requeuePartyJoinRequest = new PartyJoinRequest(_partyRequeue, "type-requeue", null); _logger = new Mock <ILogger>(); Log.Logger = _logger.Object; _transaction = new Mock <ITransaction>(MockBehavior.Strict); _transaction.Setup(tx => tx.Dispose()); _memoryStoreClient = new Mock <IMemoryStoreClient>(MockBehavior.Strict); _memoryStoreClient.Setup(client => client.Dispose()); _memoryStoreClient.Setup(client => client.CreateTransaction()).Returns(_transaction.Object); var memoryStoreClientManager = new Mock <IMemoryStoreClientManager <IMemoryStoreClient> >(); memoryStoreClientManager.Setup(manager => manager.GetClient()).Returns(_memoryStoreClient.Object); _service = new GatewayInternalServiceImpl(memoryStoreClientManager.Object); }
public PartyJoinRequest(PartyDataModel party, string type, Dictionary <string, string> metadata) { Id = party.Id; Party = new PartyDataModel(party); Type = type; Metadata = metadata; RefreshQueueData(); }
public PartyJoinRequest(PartyDataModel party, string type, Dictionary <string, string> metadata) { MatchRequestId = Guid.NewGuid().ToString(); Id = party.Id; Party = new PartyDataModel(party); Type = type; Metadata = metadata; RefreshQueueData(); }
public void ReturnLeaderWhenThereLeaderPlayerIdIsSet() { var party = new PartyDataModel("Leader", "PIT", 10, 20, new Dictionary <string, string>()); var member = party.GetLeader(); Assert.NotNull(member); Assert.AreEqual("Leader", member.Id); Assert.AreEqual(party.Id, member.PartyId); Assert.AreEqual(member.SerializeToJson(), member.PreviousState); }
public PartyJoinRequest(string id, PartyDataModel party, string type, Dictionary <string, string> metadata, string queueName, double score) { Id = party.Id; Party = party; Type = type; Metadata = metadata; QueueName = queueName; Score = score; }
public PartyJoinRequest(string id, PartyDataModel party, string type, Dictionary <string, string> metadata, string queueName, double score, string matchRequestId = null) { MatchRequestId = matchRequestId ?? Guid.NewGuid().ToString(); Id = party.Id; Party = party; Type = type; Metadata = metadata; QueueName = queueName; Score = score; }
public void SetAllFieldsWhenGiven() { var party = new PartyDataModel(TestLeaderPlayerId, TestPit, TestMinMembers, TestMaxMembers, _testMetadata); Assert.False(string.IsNullOrEmpty(party.Id)); Assert.AreEqual(TestLeaderPlayerId, party.LeaderPlayerId); Assert.AreEqual(TestMinMembers, party.MinMembers); Assert.AreEqual(TestMaxMembers, party.MaxMembers); Assert.AreEqual(PartyDataModel.Phase.Forming, party.CurrentPhase); CollectionAssert.AreEquivalent(_testMetadata, party.Metadata); CollectionAssert.AreEquivalent(_testMemberIdToPit, party.MemberIdToPit); Assert.IsNull(party.PreviousState); }
private static PartyProto ConvertToProto(PartyDataModel party) { return(new PartyProto { Id = party.Id, LeaderPlayerId = party.LeaderPlayerId, MinMembers = party.MinMembers, MaxMembers = party.MaxMembers, Metadata = { party.Metadata }, MemberIds = { party.MemberIds }, CurrentPhase = ConvertToProto(party.CurrentPhase) }); }
public void SetDefaultValuesWhenParametersAreAbsent() { PartyDataModel.Defaults.MinMembers = 10; PartyDataModel.Defaults.MaxMembers = 100; var party = new PartyDataModel(TestLeaderPlayerId, TestPit); Assert.False(string.IsNullOrEmpty(party.Id)); Assert.AreEqual(TestLeaderPlayerId, party.LeaderPlayerId); Assert.AreEqual(10, party.MinMembers); Assert.AreEqual(100, party.MaxMembers); Assert.AreEqual(PartyDataModel.Phase.Forming, party.CurrentPhase); CollectionAssert.IsEmpty(party.Metadata); CollectionAssert.AreEquivalent(_testMemberIdToPit, party.MemberIdToPit); Assert.IsNull(party.PreviousState); }
public void Setup() { _soloParty = new PartyDataModel(SoloPartyLeader, Pit); _twoPlayerParty = new PartyDataModel(TwoPlayerPartyLeader, Pit); _twoPlayerParty.AddPlayerToParty(TwoPlayerPartyMember, Pit); _transaction = new Mock <ITransaction>(MockBehavior.Strict); _transaction.Setup(tx => tx.Dispose()); _memoryStoreClient = new Mock <IMemoryStoreClient>(MockBehavior.Strict); _memoryStoreClient.Setup(client => client.Dispose()); _memoryStoreClient.Setup(client => client.CreateTransaction()).Returns(_transaction.Object); var memoryStoreClientManager = new Mock <IMemoryStoreClientManager <IMemoryStoreClient> >(); memoryStoreClientManager.Setup(manager => manager.GetClient()).Returns(_memoryStoreClient.Object); _service = new GatewayInternalServiceImpl(memoryStoreClientManager.Object); }
public void SetUp() { _testParty = new PartyDataModel(TestPlayerId, Pit, TestMinMembers, TestMaxMembers, _testMetadata); _testParty.MemberIdToPit[TestPlayerId2] = Pit; _testUpdatedParty.Id = _testParty.Id; _testUpdatedParty.Metadata.Clear(); _testUpdatedParty.Metadata.Add(_testNewMetadata); _mockTransaction = new Mock <ITransaction>(MockBehavior.Strict); _mockMemoryStoreClient = new Mock <IMemoryStoreClient>(MockBehavior.Strict); _mockMemoryStoreClient.Setup(client => client.Dispose()).Verifiable(); _mockMemoryStoreClient.Setup(client => client.CreateTransaction()).Returns(_mockTransaction.Object); var memoryStoreClientManager = new Mock <IMemoryStoreClientManager <IMemoryStoreClient> >(MockBehavior.Strict); memoryStoreClientManager.Setup(manager => manager.GetClient()).Returns(_mockMemoryStoreClient.Object); _partyService = new PartyServiceImpl(memoryStoreClientManager.Object); }
public void ReturnFailedPreconditionWhenNewLeaderIsNotAMemberOfTheParty() { // Setup the client such that it will claim that the party doesn't have as member the newly proposed leader. var party = new PartyDataModel(_testParty); party.MemberIdToPit.Remove(TestPlayerId2); _mockMemoryStoreClient.Setup(client => client.GetAsync <PartyDataModel>(_testUpdatedParty.Id)).ReturnsAsync(party); // Check that an exception was thrown signaling that the update operation failed. var context = Util.CreateFakeCallContext(TestPlayerId, Pit); var request = new UpdatePartyRequest { UpdatedParty = _testUpdatedParty }; var exception = Assert.ThrowsAsync <RpcException>(() => _partyService.UpdateParty(request, context)); Assert.That(exception.Message, Contains.Substring("new leader is not a member")); Assert.AreEqual(StatusCode.FailedPrecondition, exception.StatusCode); }
public void ReturnPermissionDeniedWhenPlayerIsNotTheLeader() { // Setup the client such that it will claim that the party has as leader a different player other than the // one making the request. var party = new PartyDataModel(_testParty); party.UpdatePartyLeader(TestPlayerId2); _mockMemoryStoreClient.Setup(client => client.GetAsync <PartyDataModel>(_testUpdatedParty.Id)).ReturnsAsync(party); // Check that an exception was thrown signaling that the update operation failed. var context = Util.CreateFakeCallContext(TestPlayerId, Pit); var request = new UpdatePartyRequest { UpdatedParty = _testUpdatedParty }; var exception = Assert.ThrowsAsync <RpcException>(() => _partyService.UpdateParty(request, context)); Assert.That(exception.Message, Contains.Substring("can only be done by the leader")); Assert.AreEqual(StatusCode.PermissionDenied, exception.StatusCode); }
public void ReturnACollectionWithAllMembers() { var party = new PartyDataModel(TestLeaderId, DefaultPit) { MemberIdToPit = { [TestMemberId] = DefaultPit } }; var memberList = party.GetMembers().ToList(); Assert.AreEqual(2, memberList.Count); var first = memberList[0]; Assert.AreEqual(TestLeaderId, first.Id); Assert.AreEqual(party.Id, first.PartyId); Assert.AreEqual(first.SerializeToJson(), first.PreviousState); var second = memberList[1]; Assert.AreEqual(TestMemberId, second.Id); Assert.AreEqual(party.Id, second.PartyId); Assert.AreEqual(second.SerializeToJson(), second.PreviousState); }
public void SetUp() { _party = new PartyDataModel(LeaderId, "PIT", MinMembers, MaxMembers); }
public void SetUp() { _party = new PartyDataModel(LeaderId, "PIT"); _party.AddPlayerToParty(PlayerId, "PIT"); }
public void SetUp() { _party = new PartyDataModel(LeaderId, "PIT"); }