Beispiel #1
0
        public void GetGroup_01()
        {
            GetGroupRequest  request2 = new GetGroupRequest();
            GetGroupResponse response = DeserializeGetGroupResponse(SerializeGetGroupRequest(request2));

            Assert.That(response.Categories.Any(c => c.CategoryCName == "soccer"));
        }
Beispiel #2
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)]
            [RequestBodyType(typeof(GetGroupRequest), "get group")] GetGroupRequest req,
            CancellationToken cancellationToken)
        {
            try
            {
                if (req.IsValid(out var validationResults))
                {
                    GetGroupResponse response = await _mediator.Send(req, cancellationToken);

                    return(new OkObjectResult(ResponseWrapper <GetGroupResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response)));
                }
                else
                {
                    return(new ObjectResult(ResponseWrapper <GetGroupResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.ValidationError, validationResults))
                    {
                        StatusCode = 422
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetGroup", ex);
                return(new ObjectResult(ResponseWrapper <GetGroupResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error"))
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                });
            }
        }
Beispiel #3
0
        public void TestCreateGetGroup()
        {
            string groupname = Guid.NewGuid().ToString().Replace('-', '0');

            try
            {
                Client.CreateGroup(new CreateGroupRequest()
                {
                    GroupName = groupname
                });
                GetGroupResponse response = Client.GetGroup(new GetGroupRequest()
                {
                    GroupName = groupname
                });
                Assert.AreNotEqual(DateTime.MinValue, response.Group.CreateDate);
                Assert.AreEqual(0, response.Users.Count());
            }
            finally
            {
                Client.DeleteGroup(new DeleteGroupRequest()
                {
                    GroupName = groupname
                });
            }
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            GetGroupResponse response = new GetGroupResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.IsStartElement)
                {
                    if (context.TestExpression("GetGroupResult", 2))
                    {
                        UnmarshallResult(context, response);
                        continue;
                    }

                    if (context.TestExpression("ResponseMetadata", 2))
                    {
                        response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context);
                    }
                }
            }

            return(response);
        }
Beispiel #5
0
        public GetGroupResponse Get(GetGroupRequest request)
        {
            GetGroupResponse response = new GetGroupResponse();
            string           gid      = request.Gid;

            Group result = _brainManager.GetGroup(gid);

            response.Group = result ?? throw HttpError.NotFound($"Group {gid} does not exist");
            return(response);
        }
Beispiel #6
0
        private GroupView GetGroupView(string id)
        {
            GetRequest request = new GetRequest();

            request.ID = Guid.Parse(id);

            GetGroupResponse response = this._groupService.GetGroup(request);

            return(response.GroupView);
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            GetGroupResponse response = new GetGroupResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Arn", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.Arn = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("CreationTimestamp", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.CreationTimestamp = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("Id", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.Id = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LastUpdatedTimestamp", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LastUpdatedTimestamp = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestVersion", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestVersion = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestVersionArn", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestVersionArn = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("Name", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.Name = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
        public GroupInfo GetGroup(Identifier ouId)
        {
            GetGroupRequest request = new GetGroupRequest()
            {
                OrgUnitId = ouId
            };
            GetGroupResponse response = CallWebService <
                IOrgUnitManagementServicev1_0, GetGroupRequest, GetGroupResponse>(
                m_service1_0, request, (s, q) => s.GetGroup(q));

            return(response.Group);
        }
        public GroupInfo GetGroupByCode(string code)
        {
            GetGroupByCodeRequest request = new GetGroupByCodeRequest()
            {
                Code = code
            };
            GetGroupResponse response = CallWebService <
                IOrgUnitManagementServicev1_0, GetGroupByCodeRequest, GetGroupResponse>(
                m_service1_0, request, (s, q) => s.GetGroupByCode(q));

            return(response.Group);
        }
Beispiel #10
0
        protected GetGroupResponse DeserializeGetGroupResponse(HttpWebRequest request)
        {
            var httpResponse = (HttpWebResponse)request.GetResponse();

            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();

                JavaScriptSerializer js       = new JavaScriptSerializer();
                GetGroupResponse     response = (GetGroupResponse)js.Deserialize(result, typeof(GetGroupResponse));
                return(response);
            }
        }
Beispiel #11
0
        public async override Task <GetGroupResponse> GetGroup(GetGroupRequest request, ServerCallContext context)
        {
            try
            {
                var result = new GetGroupResponse {
                    Success = true
                };
                var userIdentifier = GetUserIdentifier(context);
                var user           = await _groupStore.GetUser(userIdentifier);

                if (user != null)
                {
                    result.UserId = user.Id;
                    var userGroup = await _groupStore.GetUserGroup(user.Id, request.Id);

                    if (userGroup != null)
                    {
                        result.Group = new GroupDto
                        {
                            Id       = userGroup.GroupId,
                            Label    = userGroup.GroupLabel,
                            Password = userGroup.UserRole == UserRole.Owner ? userGroup.Group.Password : string.Empty,
                            UserName = userGroup.UserName,
                            UserRole = (int)userGroup.UserRole,
                            UserIcon = userGroup.UserIcon
                        };
                    }
                    else
                    {
                        result.Success = false;
                        result.Message = "User is not connected to group";
                    }
                }
                else
                {
                    result.Success = false;
                    result.Message = "User does not exist";
                }

                return(result);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                return(new GetGroupResponse
                {
                    Success = false,
                    Message = ex.Message
                });
            }
        }
        private static void UnmarshallResult(XmlUnmarshallerContext context, GetGroupResponse response)
        {
            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            if (context.IsStartOfDocument)
            {
                targetDepth += 2;
            }

            while (context.Read())
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                    if (context.TestExpression("Group", targetDepth))
                    {
                        response.Group = GroupUnmarshaller.GetInstance().Unmarshall(context);

                        continue;
                    }
                    if (context.TestExpression("Users/member", targetDepth))
                    {
                        response.Users.Add(UserUnmarshaller.GetInstance().Unmarshall(context));

                        continue;
                    }
                    if (context.TestExpression("IsTruncated", targetDepth))
                    {
                        response.IsTruncated = BoolUnmarshaller.GetInstance().Unmarshall(context);

                        continue;
                    }
                    if (context.TestExpression("Marker", targetDepth))
                    {
                        response.Marker = StringUnmarshaller.GetInstance().Unmarshall(context);

                        continue;
                    }
                }
                else if (context.IsEndElement && context.CurrentDepth < originalDepth)
                {
                    return;
                }
            }



            return;
        }
        public static GetGroupResponse Unmarshall(UnmarshallerContext context)
        {
            GetGroupResponse getGroupResponse = new GetGroupResponse();

            getGroupResponse.HttpResponse = context.HttpResponse;
            getGroupResponse.RequestId    = context.StringValue("GetGroup.RequestId");

            GetGroupResponse.GetGroup_Group group = new GetGroupResponse.GetGroup_Group();
            group.GroupName        = context.StringValue("GetGroup.Group.GroupName");
            group.Comments         = context.StringValue("GetGroup.Group.Comments");
            group.CreateDate       = context.StringValue("GetGroup.Group.CreateDate");
            group.UpdateDate       = context.StringValue("GetGroup.Group.UpdateDate");
            getGroupResponse.Group = group;

            return(getGroupResponse);
        }
Beispiel #14
0
        public async Task WhenVolunteerIsDiffentToCreatedByButUserIsNotTaskAdmin_ReturnsFalse()
        {
            int jobId           = 1;
            int createdByUserID = 1;

            _refferingGroupID      = 1;
            _getjobdetailsResponse = new GetJobDetailsResponse()
            {
                JobSummary = new JobSummary()
                {
                    VolunteerUserID = 2
                }
            };

            Dictionary <int, List <int> > roles = new Dictionary <int, List <int> >();

            roles.Add(1, new List <int>()
            {
                (int)GroupRoles.Member
            });

            _getUserRolesResponse = new GetUserRolesResponse()
            {
                UserGroupRoles = roles
            };


            _getGroupResponse = new GetGroupResponse()
            {
                Group = new Group()
                {
                    GroupId       = 1,
                    GroupKey      = "KEY",
                    GroupName     = "GroupName",
                    ParentGroupId = 2
                }
            };

            var response = await _classUnderTest.HasPermissionToChangeStatusAsync(jobId, createdByUserID, true, CancellationToken.None);

            _repository.Verify(x => x.GetJobDetails(It.IsAny <int>()), Times.Once);
            _repository.Verify(x => x.GetReferringGroupIDForJobAsync(It.IsAny <int>(), It.IsAny <CancellationToken>()), Times.Once);
            _groupService.Verify(x => x.GetUserRoles(It.IsAny <int>(), It.IsAny <CancellationToken>()), Times.Once);
            _groupService.Verify(x => x.GetGroup(It.IsAny <int>()), Times.Once);

            Assert.AreEqual(false, response);
        }
        private static void UnmarshallResult(XmlUnmarshallerContext context, GetGroupResponse response)
        {
            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            if (context.IsStartOfDocument)
            {
                targetDepth += 2;
            }

            while (context.ReadAtDepth(originalDepth))
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                    if (context.TestExpression("Group", targetDepth))
                    {
                        var unmarshaller = GroupUnmarshaller.Instance;
                        response.Group = unmarshaller.Unmarshall(context);
                        continue;
                    }
                    if (context.TestExpression("IsTruncated", targetDepth))
                    {
                        var unmarshaller = BoolUnmarshaller.Instance;
                        response.IsTruncated = unmarshaller.Unmarshall(context);
                        continue;
                    }
                    if (context.TestExpression("Marker", targetDepth))
                    {
                        var unmarshaller = StringUnmarshaller.Instance;
                        response.Marker = unmarshaller.Unmarshall(context);
                        continue;
                    }
                    if (context.TestExpression("Users/member", targetDepth))
                    {
                        var unmarshaller = UserUnmarshaller.Instance;
                        var item         = unmarshaller.Unmarshall(context);
                        response.Users.Add(item);
                        continue;
                    }
                }
            }

            return;
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            GetGroupResponse response = new GetGroupResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Group", targetDepth))
                {
                    var unmarshaller = GroupUnmarshaller.Instance;
                    response.Group = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Beispiel #17
0
        public static void DeleteUsersAndGroupsInTestNameSpace(string testPrefix)
        {
            AmazonIdentityManagementServiceClient client = UtilityMethods.CreateClient <AmazonIdentityManagementServiceClient>();
            var prefix = MakePath(testPrefix);
            ListGroupsResponse lgRes = client.ListGroupsAsync(new ListGroupsRequest()
            {
                PathPrefix = prefix
            }).Result;

            foreach (Group g in lgRes.Groups)
            {
                GetGroupResponse ggRes = client.GetGroupAsync(new GetGroupRequest()
                {
                    GroupName = g.GroupName
                }).Result;
                foreach (User u in ggRes.Users)
                {
                    client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                    {
                        GroupName = g.GroupName, UserName = u.UserName
                    }).Wait();
                }
                client.DeleteGroupAsync(new DeleteGroupRequest()
                {
                    GroupName = g.GroupName
                }).Wait();
            }

            ListUsersResponse luRes = client.ListUsersAsync(new ListUsersRequest()
            {
                PathPrefix = prefix
            }).Result;

            foreach (User u in luRes.Users)
            {
                DeleteTestUsers(client, u.UserName);
            }
        }
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            GetGroupResponse response = new GetGroupResponse();

            while (context.Read())
            {
                if (context.IsStartElement)
                {
                    if (context.TestExpression("GetGroupResult", 2))
                    {
                        response.GetGroupResult = GetGroupResultUnmarshaller.GetInstance().Unmarshall(context);
                        continue;
                    }
                    if (context.TestExpression("ResponseMetadata", 2))
                    {
                        response.ResponseMetadata = ResponseMetadataUnmarshaller.GetInstance().Unmarshall(context);
                    }
                }
            }


            return(response);
        }
Beispiel #19
0
        public override Task <GetGroupResponse> GetGroup(GetGroupRequest request, ServerCallContext context)
        {
            this.Logger.LogInformation($"Operation:{Utils.GetActualAsyncMethodName()} Payload:{Utils.ProtoToJson(request)}");
            var response = new GetGroupResponse()
            {
                Status = 0
            };

            try
            {
                var group = UserManager.Instance.GetGroup(request.CurrentUser.Name, request.GroupName);
                response.Group = new Group()
                {
                    Name = group.Name, Owner = group.Owner
                };
            }
            catch (Exception e)
            {
                response.Status  = 1;
                response.Message = e.Message;
            }
            return(Task.FromResult(response));
        }
Beispiel #20
0
        public GetGroupResponse GetGroup(GetRequest request)
        {
            GetGroupResponse response = new GetGroupResponse();

            try
            {
                Group group = new Group();

                GroupView groupView = group.ConvertToGroupView();

                group = _groupRepository.FindBy(request.ID);
                if (group != null)
                {
                    groupView = group.ConvertToGroupView();
                }

                response.GroupView = groupView;
            }
            catch (Exception ex)
            {
            }

            return(response);
        }
Beispiel #21
0
        public static void DeleteUsersAndGroupsInTestNameSpace(AmazonIdentityManagementServiceClient client)
        {
            ListGroupsResponse lgRes = client.ListGroupsAsync(new ListGroupsRequest()
            {
                PathPrefix = TEST_PATH
            }).Result;

            foreach (Group g in lgRes.Groups)
            {
                GetGroupResponse ggRes = client.GetGroupAsync(new GetGroupRequest()
                {
                    GroupName = g.GroupName
                }).Result;
                foreach (User u in ggRes.Users)
                {
                    client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                    {
                        GroupName = g.GroupName, UserName = u.UserName
                    }).Wait();
                }
                client.DeleteGroupAsync(new DeleteGroupRequest()
                {
                    GroupName = g.GroupName
                }).Wait();
            }

            ListUsersResponse luRes = client.ListUsersAsync(new ListUsersRequest()
            {
                PathPrefix = TEST_PATH
            }).Result;

            foreach (User u in luRes.Users)
            {
                DeleteTestUsers(client, u.UserName);
            }
        }
Beispiel #22
0
        public async Task <IEnumerable <FormInformation> > GetGroup(string formId, string groupAlias)
        {
            GetGroupResponse response = await this.formsServicesClient.GetGroupAsync(this.apiToken, formId, groupAlias);

            return(this.DeserializeResponse <FormInformation>(response.Body.GetGroupResult));
        }
Beispiel #23
0
 private static string ToString(GetGroupResponse p)
 {
     return($@"{p.Id} - ""{p.Name}"" ({string.Join(",", p.LightIds)}): {(p.State.AllOn ? "all on" : p.State.AnyOn ? "some on" : "all off")}");
 }
Beispiel #24
0
        public void TestGroupPaging()
        {
            string
                username1 = "user1" + DateTime.Now.Ticks,
                username2 = "user2" + DateTime.Now.Ticks,
                username3 = "user3" + DateTime.Now.Ticks,
                username4 = "user4" + DateTime.Now.Ticks,
                groupname = "group" + DateTime.Now.Ticks;


            try
            {
                Client.CreateUserAsync(new CreateUserRequest()
                {
                    UserName = username1, Path = IAMUtil.TEST_PATH
                }).Wait();
                Client.CreateUserAsync(new CreateUserRequest()
                {
                    UserName = username2, Path = IAMUtil.TEST_PATH
                }).Wait();
                Client.CreateUserAsync(new CreateUserRequest()
                {
                    UserName = username3, Path = IAMUtil.TEST_PATH
                }).Wait();
                Client.CreateUserAsync(new CreateUserRequest()
                {
                    UserName = username4, Path = IAMUtil.TEST_PATH
                }).Wait();

                Client.CreateGroupAsync(new CreateGroupRequest()
                {
                    GroupName = groupname, Path = IAMUtil.TEST_PATH
                }).Wait();

                Client.AddUserToGroupAsync(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username1
                }).Wait();
                Client.AddUserToGroupAsync(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username2
                }).Wait();
                Client.AddUserToGroupAsync(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username3
                }).Wait();
                Client.AddUserToGroupAsync(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username4
                }).Wait();

                GetGroupResponse response =
                    Client.GetGroupAsync(new GetGroupRequest()
                {
                    GroupName = groupname, MaxItems = 2
                }).Result;

                Assert.AreEqual(2, response.Users.Count());
                Assert.AreEqual(true, response.IsTruncated);

                string marker = response.Marker;

                int matches = 0;

                foreach (User u in response.Users)
                {
                    if (u.UserName.Equals(username1))
                    {
                        matches |= 1;
                    }
                    if (u.UserName.Equals(username2))
                    {
                        matches |= 2;
                    }
                    if (u.UserName.Equals(username3))
                    {
                        matches |= 4;
                    }
                    if (u.UserName.Equals(username4))
                    {
                        matches |= 8;
                    }
                }

                response = Client.GetGroupAsync(new GetGroupRequest()
                {
                    GroupName = groupname, Marker = marker
                }).Result;

                Assert.AreEqual(2, response.Users.Count());
                Assert.AreEqual(false, response.IsTruncated);

                foreach (User u in response.Users)
                {
                    if (u.UserName.Equals(username1))
                    {
                        matches |= 1;
                    }
                    if (u.UserName.Equals(username2))
                    {
                        matches |= 2;
                    }
                    if (u.UserName.Equals(username3))
                    {
                        matches |= 4;
                    }
                    if (u.UserName.Equals(username4))
                    {
                        matches |= 8;
                    }
                }

                Assert.AreEqual(15, matches);
            }
            finally
            {
                Client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username1
                }).Wait();
                Client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username2
                }).Wait();
                Client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username3
                }).Wait();
                Client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username4
                }).Wait();
                Client.DeleteUserAsync(new DeleteUserRequest()
                {
                    UserName = username1
                }).Wait();
                Client.DeleteUserAsync(new DeleteUserRequest()
                {
                    UserName = username2
                }).Wait();
                Client.DeleteUserAsync(new DeleteUserRequest()
                {
                    UserName = username3
                }).Wait();
                Client.DeleteUserAsync(new DeleteUserRequest()
                {
                    UserName = username4
                }).Wait();
                Client.DeleteGroupAsync(new DeleteGroupRequest()
                {
                    GroupName = groupname
                }).Wait();
            }
        }
Beispiel #25
0
        public async Task WhenAccessRestrictedByRole_ReturnsCorrectResponse(int createdByUserId, GroupRoles role, Fulfillable fulfillable, int timesGroupMemberCalled)
        {
            requestId      = 1;
            _validPostcode = true;
            _emailSent     = true;
            int referringGroupId = -20;

            Guid guid    = Guid.NewGuid();
            var  request = new PostNewRequestForHelpRequest
            {
                HelpRequest = new HelpRequest
                {
                    RequestorType = RequestorType.Myself,
                    Recipient     = new RequestPersonalDetails
                    {
                        Address = new Address
                        {
                            Postcode = "test",
                        }
                    },
                    VolunteerUserId  = 1,
                    CreatedByUserId  = createdByUserId,
                    ReferringGroupId = referringGroupId
                },
                NewJobsRequest = new NewJobsRequest
                {
                    Jobs = new List <Job>
                    {
                        new Job
                        {
                            Guid            = guid,
                            HealthCritical  = true,
                            DueDays         = 5,
                            SupportActivity = SupportActivities.Shopping
                        }
                    }
                }
            };

            _formVariantResponse = new GetRequestHelpFormVariantResponse()
            {
                AccessRestrictedByRole   = true,
                RequestorDefinedByGroup  = true,
                RequestHelpFormVariant   = RequestHelpFormVariant.Default,
                TargetGroups             = TargetGroups.GenericGroup,
                RequestorPersonalDetails = new RequestPersonalDetails()
                {
                    FirstName    = "First",
                    LastName     = "Last",
                    EmailAddress = "Email",
                    MobileNumber = "Mobile",
                    OtherNumber  = "Other"
                },
                SuppressRecipientPersonalDetails = true
            };

            _getGroupMemberResponse = new GetGroupMemberResponse()
            {
                UserInGroup = new UserInGroup()
                {
                    UserId     = 1,
                    GroupId    = 1,
                    GroupRoles = new List <GroupRoles>()
                    {
                        role
                    }
                }
            };

            _getGroupResponse = new GetGroupResponse()
            {
                Group = new Group()
                {
                    GroupId = referringGroupId
                }
            };

            _getUserRolesResponse = new GetUserRolesResponse()
            {
                UserGroupRoles = new Dictionary <int, List <int> >()
            };

            _getNewRequestActionsResponse = new GetNewRequestActionsResponse()
            {
                Actions = new Dictionary <Guid, TaskAction>(), RequestTaskActions = new Dictionary <NewTaskAction, List <int> >()
            };
            _getNewRequestActionsResponse.Actions.Add(guid, new TaskAction()
            {
                TaskActions = new Dictionary <NewTaskAction, List <int> >()
            });
            _getNewRequestActionsResponse.Actions[guid].TaskActions.Add(NewTaskAction.AssignToVolunteer, new List <int>()
            {
                1
            });

            var response = await _classUnderTest.Handle(request, new CancellationToken());

            _groupService.Verify(x => x.GetRequestHelpFormVariant(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Once);
            _groupService.Verify(x => x.GetGroupMember(It.IsAny <GetGroupMemberRequest>()), Times.Exactly(timesGroupMemberCalled));
            Assert.AreEqual(fulfillable, response.Fulfillable);
        }
Beispiel #26
0
        public void TestGroupWithUsers()
        {
            string
                username1 = "user1" + DateTime.Now.Ticks,
                username2 = "user2" + DateTime.Now.Ticks,
                username3 = "user3" + DateTime.Now.Ticks,
                groupname = "group" + DateTime.Now.Ticks;

            try
            {
                Client.CreateUser(new CreateUserRequest()
                {
                    UserName = username1, Path = IAMUtil.TEST_PATH
                });
                Client.CreateUser(new CreateUserRequest()
                {
                    UserName = username2, Path = IAMUtil.TEST_PATH
                });
                Client.CreateUser(new CreateUserRequest()
                {
                    UserName = username3, Path = IAMUtil.TEST_PATH
                });

                Client.CreateGroup(new CreateGroupRequest()
                {
                    GroupName = groupname, Path = IAMUtil.TEST_PATH
                });

                Client.AddUserToGroup(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username1
                });
                Client.AddUserToGroup(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username2
                });
                Client.AddUserToGroup(new AddUserToGroupRequest()
                {
                    GroupName = groupname, UserName = username3
                });

                GetGroupResponse response =
                    Client.GetGroup(new GetGroupRequest()
                {
                    GroupName = groupname
                });

                Assert.AreEqual(3, response.Users.Count());
                Assert.AreEqual(false, response.IsTruncated);

                int matches = 0;

                foreach (User u in response.Users)
                {
                    if (u.UserName.Equals(username1))
                    {
                        matches |= 1;
                    }
                    if (u.UserName.Equals(username2))
                    {
                        matches |= 2;
                    }
                    if (u.UserName.Equals(username3))
                    {
                        matches |= 4;
                    }
                }

                Assert.AreEqual(7, matches);
            }
            finally
            {
                Client.RemoveUserFromGroup(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username1
                });
                Client.RemoveUserFromGroup(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username2
                });
                Client.RemoveUserFromGroup(new RemoveUserFromGroupRequest()
                {
                    GroupName = groupname, UserName = username3
                });
                Client.DeleteUser(new DeleteUserRequest()
                {
                    UserName = username1
                });
                Client.DeleteUser(new DeleteUserRequest()
                {
                    UserName = username2
                });
                Client.DeleteUser(new DeleteUserRequest()
                {
                    UserName = username3
                });
                Client.DeleteGroup(new DeleteGroupRequest()
                {
                    GroupName = groupname
                });
            }
        }