Ejemplo n.º 1
0
        public void CannotUpdateAlreadyAcceptedRequest()
        {
            var key             = "UserFriend_CannotUpdateAlreadyAcceptedRequest";
            var friend          = CreateUser(key);
            var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipRequest = new RelationshipRequest
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = friend.Id,
                AutoAccept  = true
            };

            Fixture.SUGARClient.UserFriend.CreateFriendRequest(relationshipRequest);

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Friend");

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = friend.Id,
                Accepted    = true
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.UserFriend.UpdateFriendRequest(relationshipStatusUpdate));
        }
 internal static void Remove(int id, Action <bool> onComplete)
 {
     SUGARManager.unity.StartSpinner();
     if (SUGARManager.UserSignedIn)
     {
         var relationship = new RelationshipStatusUpdate
         {
             RequestorId = id,
             AcceptorId  = SUGARManager.CurrentUser.Id,
             Accepted    = false
         };
         SUGARManager.client.GroupMember.UpdateMemberAsync(relationship,
                                                           () =>
         {
             SUGARManager.userGroup.RefreshRelationships(onComplete);
         },
                                                           exception =>
         {
             Debug.LogError($"Failed to update group status. {exception}");
             SUGARManager.unity.StopSpinner();
             onComplete(false);
         });
     }
     else
     {
         SUGARManager.unity.StopSpinner();
         onComplete(false);
     }
 }
Ejemplo n.º 3
0
        public void CannotUpdateAlreadyAcceptedRequest()
        {
            var key             = "GroupMember_CannotUpdateAlreadyAcceptedRequest";
            var group           = CreateGroup(key);
            var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipRequest = new RelationshipRequest
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = group.Id,
                AutoAccept  = true
            };

            Fixture.SUGARClient.GroupMember.CreateMemberRequest(relationshipRequest);

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Creator");

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = group.Id,
                Accepted    = true
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.GroupMember.UpdateMemberRequest(relationshipStatusUpdate));
        }
 internal static void UpdateRequest(int id, bool accept, Action <bool> onComplete)
 {
     SUGARManager.unity.StartSpinner();
     if (SUGARManager.UserSignedIn)
     {
         var relationship = new RelationshipStatusUpdate
         {
             RequestorId = id,
             AcceptorId  = SUGARManager.CurrentUser.Id,
             Accepted    = accept
         };
         SUGARManager.client.UserFriend.UpdateFriendRequestAsync(relationship,
                                                                 () =>
         {
             SUGARManager.userFriend.RefreshRelationships(onComplete);
         },
                                                                 exception =>
         {
             Debug.LogError($"Failed to update friend request. {exception}");
             SUGARManager.unity.StopSpinner();
             onComplete(false);
         });
     }
     else
     {
         SUGARManager.unity.StopSpinner();
         onComplete(false);
     }
 }
        public void CannotUpdateAlreadyAcceptedRequest()
        {
            var key = "Alliance_CannotUpdateAlreadyAcceptedRequest";

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);
            var group1 = CreateGroup(key + "_Req");
            var group2 = CreateGroup(key + "_Acc");

            var relationshipRequest = new RelationshipRequest
            {
                RequestorId = group1.Id,
                AcceptorId  = group2.Id,
                AutoAccept  = true
            };

            Fixture.SUGARClient.AllianceClient.CreateAllianceRequest(relationshipRequest);

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = group1.Id,
                AcceptorId  = group2.Id,
                Accepted    = true
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.AllianceClient.UpdateAllianceRequest(relationshipStatusUpdate));
        }
Ejemplo n.º 6
0
        public void CanRejectRequest()
        {
            var key             = "GroupMember_CanRejectRequest";
            var group           = CreateGroup(key);
            var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipRequest = new RelationshipRequest
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = group.Id,
                AutoAccept  = false
            };

            Fixture.SUGARClient.GroupMember.CreateMemberRequest(relationshipRequest);

            var sent = Fixture.SUGARClient.GroupMember.GetSentRequests(loggedInAccount.User.Id);

            Assert.Equal(1, sent.Count());

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Creator");

            var received = Fixture.SUGARClient.GroupMember.GetMemberRequests(group.Id);

            Assert.Equal(1, received.Count());

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = group.Id,
                Accepted    = false
            };

            Fixture.SUGARClient.GroupMember.UpdateMemberRequest(relationshipStatusUpdate);

            received = Fixture.SUGARClient.GroupMember.GetMemberRequests(group.Id);

            Assert.Equal(0, received.Count());

            received = Fixture.SUGARClient.GroupMember.GetMembers(group.Id);

            Assert.Equal(1, received.Count());

            var receivedCount = Fixture.SUGARClient.GroupMember.GetMemberCount(group.Id);

            Assert.Equal(1, receivedCount);

            loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            sent = Fixture.SUGARClient.GroupMember.GetSentRequests(loggedInAccount.User.Id);

            Assert.Equal(0, sent.Count());

            sent = Fixture.SUGARClient.GroupMember.GetUserGroups(loggedInAccount.User.Id);

            Assert.Equal(0, sent.Count());
        }
Ejemplo n.º 7
0
        public void CanRejectRequest()
        {
            var key             = "UserFriend_CanRejectRequest";
            var friend          = CreateUser(key);
            var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipRequest = new RelationshipRequest
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = friend.Id,
                AutoAccept  = false
            };

            Fixture.SUGARClient.UserFriend.CreateFriendRequest(relationshipRequest);

            var sent = Fixture.SUGARClient.UserFriend.GetSentRequests(loggedInAccount.User.Id);

            Assert.Equal(1, sent.Count());

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Friend");

            var received = Fixture.SUGARClient.UserFriend.GetFriendRequests(friend.Id);

            Assert.Equal(1, received.Count());

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = friend.Id,
                Accepted    = false
            };

            Fixture.SUGARClient.UserFriend.UpdateFriendRequest(relationshipStatusUpdate);

            received = Fixture.SUGARClient.UserFriend.GetFriendRequests(friend.Id);

            Assert.Equal(0, received.Count());

            received = Fixture.SUGARClient.UserFriend.GetFriends(friend.Id);

            Assert.Equal(0, received.Count());

            loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            sent = Fixture.SUGARClient.UserFriend.GetSentRequests(loggedInAccount.User.Id);

            Assert.Equal(0, sent.Count());

            sent = Fixture.SUGARClient.UserFriend.GetFriends(loggedInAccount.User.Id);

            Assert.Equal(0, sent.Count());
        }
Ejemplo n.º 8
0
        public void CannotUpdateNotExistingRelationship()
        {
            var key             = "UserFriend_CannotUpdateNotExistingRelationship";
            var friend          = CreateUser(key);
            var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = friend.Id
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.UserFriend.UpdateFriend(relationshipStatusUpdate));
        }
Ejemplo n.º 9
0
        public void CannotUpdateNotExistingRelationship()
        {
            var key             = "GroupMember_CannotUpdateNotExistingRelationship";
            var group           = CreateGroup(key);
            var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = loggedInAccount.User.Id,
                AcceptorId  = group.Id
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.GroupMember.UpdateMember(relationshipStatusUpdate));
        }
        public void CanRejectRequest()
        {
            var key = "Alliance_CanRejectRequest";

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);
            var group1 = CreateGroup(key + "_Req");
            var group2 = CreateGroup(key + "_Acc");

            var relationshipRequest = new RelationshipRequest
            {
                RequestorId = group1.Id,
                AcceptorId  = group2.Id,
                AutoAccept  = false
            };

            Fixture.SUGARClient.AllianceClient.CreateAllianceRequest(relationshipRequest);

            var sent = Fixture.SUGARClient.AllianceClient.GetSentRequests(group1.Id);

            Assert.Equal(1, sent.Count());

            var received = Fixture.SUGARClient.AllianceClient.GetAllianceRequests(group2.Id);

            Assert.Equal(1, received.Count());

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = group1.Id,
                AcceptorId  = group2.Id,
                Accepted    = false
            };

            Fixture.SUGARClient.AllianceClient.UpdateAllianceRequest(relationshipStatusUpdate);

            received = Fixture.SUGARClient.AllianceClient.GetAllianceRequests(group2.Id);

            Assert.Equal(0, received.Count());

            received = Fixture.SUGARClient.AllianceClient.GetAlliances(group2.Id);

            Assert.Equal(0, received.Count());

            sent = Fixture.SUGARClient.AllianceClient.GetSentRequests(group1.Id);

            Assert.Equal(0, sent.Count());

            sent = Fixture.SUGARClient.AllianceClient.GetAlliances(group1.Id);

            Assert.Equal(0, sent.Count());
        }
 public async Task <IActionResult> RemoveAlliance([FromBody] RelationshipStatusUpdate relationship)
 {
     if ((await _authorizationService.AuthorizeAsync(User, relationship.RequestorId, HttpContext.ScopeItems(ClaimScope.Group))).Succeeded ||
         (await _authorizationService.AuthorizeAsync(User, relationship.AcceptorId, HttpContext.ScopeItems(ClaimScope.Group))).Succeeded)
     {
         var relation = new RelationshipRequest
         {
             RequestorId = relationship.RequestorId,
             AcceptorId  = relationship.AcceptorId
         };
         _relationshipCoreController.Delete(relation.ToRelationshipModel());
         return(Ok());
     }
     return(Forbid());
 }
Ejemplo n.º 12
0
        public void CannotUpdateNotExistingRequest()
        {
            var key = "UserFriend_CannotUpdateNotExistingRequest";

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = -1,
                AcceptorId  = -1,
                Accepted    = true
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.UserFriend.UpdateFriendRequest(relationshipStatusUpdate));
        }
        public void CannotUpdateNotExistingRelationship()
        {
            var key = "Alliance_CannotUpdateNotExistingRelationship";

            Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key);
            var group1 = CreateGroup(key + "_Req");
            var group2 = CreateGroup(key + "_Acc");

            var relationshipStatusUpdate = new RelationshipStatusUpdate
            {
                RequestorId = group1.Id,
                AcceptorId  = group2.Id
            };

            Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.AllianceClient.UpdateAlliance(relationshipStatusUpdate));
        }
 public void UpdateMemberAsync(RelationshipStatusUpdate relationship, Action onSuccess, Action <Exception> onError)
 {
     AsyncRequestController.EnqueueRequest(() => UpdateMember(relationship),
                                           onSuccess,
                                           onError);
 }
        /// <summary>
        /// Update an existing relationship between <param name="relationship.UserId"/> and <param name="relationship.GroupId"/>.
        /// Requires the relationship to already exist between the User and Group.
        /// </summary>
        /// <param name="relationship"><see cref="RelationshipStatusUpdate"/> object that holds the details of the relationship.</param>
        public void UpdateMember(RelationshipStatusUpdate relationship)
        {
            var query = GetUriBuilder(ControllerPrefix + "").ToString();

            Put(query, relationship);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Update an existing relationship request between two groups.
        /// Requires the relationship request to already exist between the two Groups.
        /// </summary>
        /// <param name="relationship"><see cref="RelationshipStatusUpdate"/> object that holds the details of the relationship.</param>
        public void UpdateAllianceRequest(RelationshipStatusUpdate relationship)
        {
            var query = GetUriBuilder(ControllerPrefix + "/request").ToString();

            Put(query, relationship);
        }