public async Task GetAccounts_WithoutAccess_ShouldFail()
        {
            Bogus.Faker faker    = new Bogus.Faker();
            var         identity = faker.Random.Identity();

            var accountUserFaker    = new Common.Fakers.AccountUserFaker();
            var master              = accountUserFaker.Generate();
            var newAccountUserFaker = accountUserFaker
                                      .RuleFor(au => au.UserId, master.UserId)
                                      .RuleFor(au => au.UserDescription, master.AccountDescription);

            var originalAccountUserList = newAccountUserFaker.Generate(3);

            var mockAuthorizationService = new Mock <IAuthorizationService>();

            mockAuthorizationService.Setup(a => a.CheckAuthorizedUser(identity, master.UserId, AccessType.Read)).ReturnsAsync(false);

            var mockUserRepository = new Mock <IUserRepository>();

            mockUserRepository.Setup(ur => ur.GetAccounts(master.UserId)).ReturnsAsync(originalAccountUserList);

            var userQueryHandler = new UserQueryHandler(mockAuthorizationService.Object, mockUserRepository.Object);
            await Assert.ThrowsAsync <UnauthorizedAccessException>(async() => await userQueryHandler.GetAccounts(identity, master.UserId));

            mockUserRepository.VerifyNoOtherCalls();
        }
Пример #2
0
 public HomeController(Course.DisciplineQueryHandler disciplineQuery, EnrollmentQueryHandler enrollmentQuery, Evaluation.DisciplineQueryHandler disciplineEvaluationQuery,
                       UserQueryHandler userQuery) : base(userQuery)
 {
     _disciplineQuery           = disciplineQuery;
     _enrollmentQuery           = enrollmentQuery;
     _disciplineEvaluationQuery = disciplineEvaluationQuery;
 }
        public async Task Should_Get_User_Profile_When_User_Found()
        {
            //Arrange
            var applicationUser = new ApplicationUser
            {
                Email        = String.Empty,
                UserName     = String.Empty,
                FirstName    = "Test",
                LastName     = "Test",
                Id           = 1,
                PasswordHash = String.Empty
            };
            var message = new UserQuery(applicationUser.Id);

            Mock <IUserManagerService> userManagerService = new Mock <IUserManagerService>();

            userManagerService.Setup(s => s.GetUserById(It.IsAny <int>())).ReturnsAsync(applicationUser);
            var sut = new UserQueryHandler(userManagerService.Object, _mapper);

            //ActT
            var result = await sut.Handle(message, default);

            //Assert
            result.ShouldNotBeNull();
            result.ShouldBeOfType <UserDetailInfoDto>();
            result.Id.ShouldBe(applicationUser.Id);
            result.FirstName.ShouldBe(applicationUser.FirstName);
            result.LastName.ShouldBe(applicationUser.LastName);
        }
        public async Task GetIdentities_ShouldSucceed()
        {
            Bogus.Faker faker    = new Bogus.Faker();
            var         identity = faker.Random.Identity();

            var userIdentityFaker    = new Common.Fakers.UserIdentityFaker();
            var master               = userIdentityFaker.Generate();
            var newUserIdentityFaker = userIdentityFaker
                                       .RuleFor(au => au.UserId, master.UserId);

            var originalUserIdentityList = newUserIdentityFaker.Generate(3);

            var mockAuthorizationService = new Mock <IAuthorizationService>();

            mockAuthorizationService.Setup(a => a.CheckAuthorizedUser(identity, master.UserId, AccessType.Read)).ReturnsAsync(true);

            var mockUserRepository = new Mock <IUserRepository>();

            mockUserRepository.Setup(ur => ur.GetIdentities(master.UserId)).ReturnsAsync(originalUserIdentityList);

            var userQueryHandler   = new UserQueryHandler(mockAuthorizationService.Object, mockUserRepository.Object);
            var userIdentitiesList = await userQueryHandler.GetIdentities(identity, master.UserId);

            originalUserIdentityList.ShouldDeepEqual(userIdentitiesList);

            mockAuthorizationService.Verify(a => a.CheckAuthorizedUser(identity, master.UserId, AccessType.Read));
            mockAuthorizationService.VerifyNoOtherCalls();

            mockUserRepository.Verify(ur => ur.GetIdentities(master.UserId));
            mockUserRepository.VerifyNoOtherCalls();
        }
Пример #5
0
 public DisciplineController(DisciplineCommandHandler disciplineCommand, DisciplineQueryHandler disciplineQuery, CourseQueryHandler courseQuery,
                             ProfessorQueryHandler professorQuery, UserQueryHandler userQuery) : base(userQuery)
 {
     _disciplineCommand = disciplineCommand;
     _disciplineQuery   = disciplineQuery;
     _courseQuery       = courseQuery;
     _professorQuery    = professorQuery;
 }
Пример #6
0
 public UserController(
     UserCommandHandler commandHandler,
     UserQueryHandler queryHandler,
     IMapper mapper)
 {
     _commandHandler = commandHandler;
     _queryHandler   = queryHandler;
     _mapper         = mapper;
 }
Пример #7
0
        public async Task UserDoesNotExist()
        {
            var query = new UserQuery {
                UserId = string.Empty
            };
            var handler = new UserQueryHandler(Context);
            var result  = await handler.Handle(query);

            Assert.Null(result);
        }
Пример #8
0
        public async Task UserExists()
        {
            var query = new UserQuery()
            {
                UserId = _userId
            };
            var handler = new UserQueryHandler(Context);
            var result  = await handler.Handle(query);

            Assert.NotNull(result);
        }
        public async Task Should_Throw_NotFoundException_In_Get_User_Profile_When_User_Not_Found()
        {
            //Arrange
            var applicationUser = new ApplicationUser
            {
                Email        = String.Empty,
                UserName     = String.Empty,
                FirstName    = "Test",
                LastName     = "Test",
                Id           = 1,
                PasswordHash = String.Empty
            };
            var message = new UserQuery(applicationUser.Id);

            Mock <IUserManagerService> userManagerService = new Mock <IUserManagerService>();

            userManagerService.Setup(s => s.GetUserById(It.IsAny <int>())).Throws <NotFoundException>();
            var sut = new UserQueryHandler(userManagerService.Object, _mapper);

            //Act/Assert
            await Assert.ThrowsAsync <NotFoundException>(async() => { await sut.Handle(message, default); });
        }
Пример #10
0
        static void Main(string[] args)
        {
            //Setup code...
            Console.WriteLine("Connecting to EventStore...");

            EventStoreLoader.SetupEventStore(EventStoreLoader.StartConflictOption.Connect);

            //create instance of the user service
            userService = new UserService(new EsAggregateStore(EventStoreLoader.Connection));

            //read models and projections
            var items = new List <UserReadModel>();

            projectionManager = new ProjectionManager(EventStoreLoader.Connection, items);

            //command and query handlers
            userCommands = new UserCommandHandler(userService);
            userQueries  = new UserQueryHandler(items, userService); //need list of read model items

            Console.WriteLine("EventStore was setup successfully!");

            DisplayUserCommands();
            StartCommandLoop();
        }
Пример #11
0
 public StudentController(StudentQueryHandler studentQuery, StudentCommandHandler studentCommand, CourseQueryHandler courseQuery, UserQueryHandler userQuery) : base(userQuery)
 {
     _studentQuery   = studentQuery;
     _studentCommand = studentCommand;
     _courseQuery    = courseQuery;
 }
Пример #12
0
 public ControllerBase(UserQueryHandler userQuery)
 {
     _userQuery = userQuery;
 }
Пример #13
0
 public GradeController(Evaluation.DisciplineQueryHandler disciplineQuery, EnrollmentQueryHandler enrollmentQuery, ActivityQueryHandler activityQuery, UserQueryHandler userQuery) : base(userQuery)
 {
     _disciplineQuery = disciplineQuery;
     _enrollmentQuery = enrollmentQuery;
     _activityQuery   = activityQuery;
 }
Пример #14
0
        public IEnumerable <User> QueryUsers(UserListQuery command)
        {
            var handler = new UserQueryHandler();

            return(handler.Handle(command));
        }
Пример #15
0
        public User QueryUserDetails(UserDetailsQuery command)
        {
            var handler = new UserQueryHandler();

            return(handler.Handle(command));
        }
Пример #16
0
 public ProfessorController(ProfessorQueryHandler professorQuery, ProfessorCommandHandler professorCommand, UserQueryHandler userQuery) : base(userQuery)
 {
     _professorQuery   = professorQuery;
     _professorCommand = professorCommand;
 }
Пример #17
0
 public UsersController(UserQueryHandler query, UserCommandHandler command)
 {
     _query   = query;
     _command = command;
 }
Пример #18
0
 public AccountController(UserQueryHandler userQuery) : base(userQuery)
 {
     _userQuery = userQuery;
 }
Пример #19
0
 public ExamController(ActivityQueryHandler activityQuery, StudentQueryHandler studentQuery, ActivityCommandHandler activityCommand, Evaluation.Queries.ActivityQueryHandler activityEvaluationQuery,
                       Evaluation.Handlers.ActivityCommandHandler activityEvaluationCommand, UserQueryHandler userQuery) : base(userQuery)
 {
     _activityQuery             = activityQuery;
     _activityCommand           = activityCommand;
     _studentQuery              = studentQuery;
     _activityEvaluationQuery   = activityEvaluationQuery;
     _activityEvaluationCommand = activityEvaluationCommand;
 }
Пример #20
0
 public UserQueryHandlerTests()
 {
     UserRepository   = new Mock <IUserRepository>();
     UserQueryHandler = new UserQueryHandler(UserRepository.Object);
 }
Пример #21
0
 public ActivityController(ActivityCommandHandler activityCommand, ActivityQueryHandler activityQuery, DisciplineQueryHandler disciplineQuery,
                           StudentQueryHandler studentQuery, UseCases.EvaluationContext.Queries.ActivityQueryHandler activityEvaluationQuery,
                           UseCases.EvaluationContext.Handlers.ActivityCommandHandler activityEvaluationCommad, UserQueryHandler userQuery) : base(userQuery)
 {
     _activityCommand          = activityCommand;
     _activityQuery            = activityQuery;
     _disciplineQuery          = disciplineQuery;
     _studentQuery             = studentQuery;
     _activityEvaluationQuery  = activityEvaluationQuery;
     _activityEvaluationCommad = activityEvaluationCommad;
 }
Пример #22
0
 public LoginService(UserQueryHandler query, ITokenService token)
 {
     _query = query;
     _token = token;
 }
Пример #23
0
 public EnrollmentController(EnrollmentQueryHandler enrollmentQuery, EnrollmentCommandHandler enrollmentCommand, CourseQueryHandler courseQuery,
                             StudentQueryHandler studentQuery, EnrollmentDisciplineQueryHandler disciplineQuery, UserQueryHandler userQuery) : base(userQuery)
 {
     _enrollmentQuery   = enrollmentQuery;
     _enrollmentCommand = enrollmentCommand;
     _courseQuery       = courseQuery;
     _studentQuery      = studentQuery;
     _disciplineQuery   = disciplineQuery;
 }