예제 #1
0
        public async Task HandleAsync_ReturnsRolesFromDatabase()
        {
            // Arrange
            var role1 = new Role("InternalAdmin", "Administrator");
            var role2 = new Role("InternalUser", "Internal User");
            var role3 = new Role("ExternalUser", "External User");

            var roles = new List <Role> {
                role1, role2, role3
            };
            DbContextHelper dbHelper = new DbContextHelper();

            var weeeContext = A.Fake <WeeeContext>();

            A.CallTo(() => weeeContext.Roles)
            .Returns(dbHelper.GetAsyncEnabledDbSet(roles));

            var handler = new GetRolesHandler(A.Dummy <IWeeeAuthorization>(), weeeContext);

            // Act
            var result = await handler.HandleAsync(new GetRoles());

            // Assert
            Assert.Equal(3, result.Count);
            Assert.Collection(result,
                              r1 => Assert.Equal("InternalAdmin", r1.Name),
                              r2 => Assert.Equal("InternalUser", r2.Name),
                              r3 => Assert.Equal("ExternalUser", r3.Name));
        }
        public async Task HandleAsync_ReturnsRolesFromDatabase()
        {
            // Arrange
            var role1 = new Role("InternalAdmin", "Administrator");
            var role2 = new Role("InternalUser", "Internal User");
            var role3 = new Role("ExternalUser", "External User");

            var roles = new List<Role> { role1, role2, role3 };
            DbContextHelper dbHelper = new DbContextHelper();

            var weeeContext = A.Fake<WeeeContext>();
            A.CallTo(() => weeeContext.Roles)
                .Returns(dbHelper.GetAsyncEnabledDbSet(roles));

            var handler = new GetRolesHandler(A.Dummy<IWeeeAuthorization>(), weeeContext);

            // Act
            var result = await handler.HandleAsync(new GetRoles());

            // Assert
            Assert.Equal(3, result.Count);
            Assert.Collection(result,
                r1 => Assert.Equal("InternalAdmin", r1.Name),
                r2 => Assert.Equal("InternalUser", r2.Name),
                r3 => Assert.Equal("ExternalUser", r3.Name));
        }
예제 #3
0
        public async Task HandleAsync_WithNonInternalAccess_ThrowsSecurityException()
        {
            // Arrange
            IWeeeAuthorization authorization = new AuthorizationBuilder()
                                               .DenyInternalAreaAccess()
                                               .Build();

            var handler = new GetRolesHandler(authorization, A.Dummy <WeeeContext>());

            // Act
            Func <Task> action = async() => await handler.HandleAsync(A.Dummy <GetRoles>());

            // Assert
            await Assert.ThrowsAsync <SecurityException>(action);
        }
        public async Task HandleAsync_WithNonInternalAccess_ThrowsSecurityException()
        {
            // Arrange
            IWeeeAuthorization authorization = new AuthorizationBuilder()
                .DenyInternalAreaAccess()
                .Build();

            var handler = new GetRolesHandler(authorization, A.Dummy<WeeeContext>());

            // Act
            Func<Task> action = async () => await handler.HandleAsync(A.Dummy<GetRoles>());

            // Assert
            await Assert.ThrowsAsync<SecurityException>(action);
        }