Ejemplo n.º 1
0
        private void UpdateUsersRolesList(IStorageSession session, UserEntity userEntity, IEnumerable <string> newRoles)
        {
            var newRolesList = newRoles.Any()
                                   ? session.Query <RoleEntity>(staleResults: StaleResultsMode.WaitForNonStaleResults)
                               .ContainsIn(r => r.RoleName, newRoles)
                               .ToList()
                                   : Enumerable.Empty <RoleEntity>();

            var roleNamesToRemove = userEntity.GetRolesToRemove(newRoles);

            foreach (var roleName in roleNamesToRemove)
            {
                if (userEntity.RemoveRole(roleName))
                {
                    _log.Debug(m => m("remove role by name {0}", roleName));
                }
            }

            foreach (var roleEntity in newRolesList)
            {
                if (userEntity.AddRole(roleEntity.RoleName))
                {
                    _log.Debug(m => m("Added user {0} to role {1}", userEntity, roleEntity));
                }
            }
        }
Ejemplo n.º 2
0
        internal override async Task <ToggleView> LocateView(IStorageSession session)
        {
            var projection = await session.QueryProjection <ToggleView>();

            return(projection
                   .SingleOrDefault(view => view.ID == _toggleID));
        }
Ejemplo n.º 3
0
        internal override async Task <ToggleView> LocateView(IStorageSession session)
        {
            var projection = await session.QueryProjection <ToggleView>();

            return(projection
                   .SingleOrDefault(t => t.Name.Equals(_toggleName, StringComparison.OrdinalIgnoreCase)));
        }
Ejemplo n.º 4
0
        internal override async Task <Toggle> LocateAggregate(IStorageSession session)
        {
            var view = await LocateView(session);

            return(view != null
                                ? await session.LoadAggregate <Toggle>(view.ID)
                                : null);
        }
Ejemplo n.º 5
0
 public OutsideSessionDecorator(IStorageSession outsideSession)
 {
     if (_log.IsDebugEnabled)
     {
         _id = Guid.NewGuid();
     }
     _log.Debug(m => m("Warpper session is opened with an id {0}", _id));
     _outsideSession = outsideSession;
 }
        public void Should_Executed_Correctly_With_Outside_session()
        {
            _enableOutsideSession = true;
            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                ObtainRequiredRoles("role1", "role2", "role3");
                _outsideSession.SubmitChanges();
            }

            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                var status = ObtainUser("user", "role3");
                _outsideSession.SubmitChanges();
                status.Should().Be(MembershipCreateStatus.Success);
            }
        }
Ejemplo n.º 7
0
        public void Should_Executed_Correctly_With_Outside_session()
        {
            _enableOutsideSession = true;
            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                ObtainRequiredRoles("role1", "role2", "role3");
                _outsideSession.SubmitChanges();
            }

            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                var status = ObtainUser("user", "role3");
                _outsideSession.SubmitChanges();
                status.Should().Be(MembershipCreateStatus.Success);
            }
        }
Ejemplo n.º 8
0
        public void Should_Ignore_When_Invoke_inSecond_time_With_Outside_session()
        {
            _enableOutsideSession = true;

            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                ObtainRequiredRoles("role1", "role2", "role3");
                _outsideSession.SubmitChanges();

                var status = ObtainUser("user");
                status.Should().Be(MembershipCreateStatus.Success);
                _outsideSession.SubmitChanges();

                ObtainUserInRole("user", "role3");
                _outsideSession.SubmitChanges();
            }

            using (var session = RavenDb.Storage.OpenSession())
            {
                session.Query <RoleEntity>().Should().HaveCount(3);
                session.Query <RoleEntity>().Select(r => r.RoleName).Should().Contain("role1", "role2", "role3");

                session.Query <UserEntity>().Should().HaveCount(1);
                session.Query <UserEntity>().Select(u => u.Username).Should().OnlyContain(u => u == "user");
                session.Query <UserEntity>().Single().Roles.Should().OnlyContain(r => r == "role3");
            }

            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                ObtainRequiredRoles("role1", "role2", "role3");
                _outsideSession.SubmitChanges();

                var status = ObtainUser("user", "role3");
                status.Should().BeNull();
            }
        }
Ejemplo n.º 9
0
 public StorageBehaviorTests()
 {
     _session  = Substitute.For <IStorageSession>();
     _behavior = new StorageBehavior <Request, Response>(_session);
 }
Ejemplo n.º 10
0
 public RenameToggleHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 11
0
 internal override async Task <Toggle> LocateAggregate(IStorageSession session)
 {
     return(await session.LoadAggregate <Toggle>(_toggleID));
 }
Ejemplo n.º 12
0
 protected abstract THandler CreateHandler(IStorageSession session);
Ejemplo n.º 13
0
 protected override RemoveConditionHandler CreateHandler(IStorageSession session) => new RemoveConditionHandler(session);
Ejemplo n.º 14
0
 public CreateToggleHandler(IStorageSession session)
 {
     _session = session;
 }
 protected override AddConditionHandler CreateHandler(IStorageSession session)
 {
     return(new AddConditionHandler(session));
 }
Ejemplo n.º 16
0
        private void UpdateUsersRolesList(IStorageSession session, UserEntity userEntity, IEnumerable<string> newRoles)
        {
            var newRolesList = newRoles.Any()
                                   ? session.Query<RoleEntity>(staleResults: StaleResultsMode.WaitForNonStaleResults)
                                         .ContainsIn(r => r.RoleName, newRoles)
                                         .ToList()
                                   : Enumerable.Empty<RoleEntity>();

            var roleNamesToRemove = userEntity.GetRolesToRemove(newRoles);
            foreach (var roleName in roleNamesToRemove)
            {
                if (userEntity.RemoveRole(roleName))
                {
                    _log.Debug(m => m("remove role by name {0}", roleName));
                }
            }

            foreach (var roleEntity in newRolesList)
            {
                if (userEntity.AddRole(roleEntity.RoleName))
                {
                    _log.Debug(m => m("Added user {0} to role {1}", userEntity, roleEntity));
                }
            }
        }
Ejemplo n.º 17
0
 public UserRepositoryImpl(IStorageSession outsideSession)
     : base(outsideSession)
 {
 }
Ejemplo n.º 18
0
 public RoleRepositoryImpl(IStorageSession outsideSession)
 {
     _outsideSession = outsideSession;
 }
Ejemplo n.º 19
0
 protected override UpdateToggleTagsHandler CreateHandler(IStorageSession session)
 {
     return(new UpdateToggleTagsHandler(session));
 }
 public GetAllTogglesHandlerTests()
 {
     _session = Substitute.For <IStorageSession>();
     _handler = new GetAllTogglesHandler(_session);
 }
Ejemplo n.º 21
0
 public RemoveConditionHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 22
0
 protected RepositoryBase(IStorageSession outsideSession)
 {
     _outsideSession = outsideSession;
     ProvidersIndexes.Ensure(((RavenDbSession)outsideSession).Session.Advanced.DocumentStore);
 }
Ejemplo n.º 23
0
 protected RepositoryBase(IStorageSession outsideSession)
 {
     _outsideSession = outsideSession;
     ProvidersIndexes.Ensure(((RavenDbSession)outsideSession).Session.Advanced.DocumentStore);
 }
Ejemplo n.º 24
0
 public CreateToggleValidator(IStorageSession session)
 {
     _session = session;
 }
        public void Should_Ignore_When_Invoke_inSecond_time_With_Outside_session()
        {
            _enableOutsideSession = true;

            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                ObtainRequiredRoles("role1", "role2", "role3");
                _outsideSession.SubmitChanges();

                var status = ObtainUser("user");
                status.Should().Be(MembershipCreateStatus.Success);
                _outsideSession.SubmitChanges();

                ObtainUserInRole("user", "role3");
                _outsideSession.SubmitChanges();
            }

            using (var session = RavenDb.Storage.OpenSession())
            {
                session.Query<RoleEntity>().Should().HaveCount(3);
                session.Query<RoleEntity>().Select(r => r.RoleName).Should().Contain("role1", "role2", "role3");

                session.Query<UserEntity>().Should().HaveCount(1);
                session.Query<UserEntity>().Select(u => u.Username).Should().OnlyContain(u => u == "user");
                session.Query<UserEntity>().Single().Roles.Should().OnlyContain(r => r == "role3");
            }

            using (_outsideSession = RavenDb.Storage.OpenSession())
            {
                ObtainRequiredRoles("role1", "role2", "role3");
                _outsideSession.SubmitChanges();

                var status = ObtainUser("user", "role3");
                status.Should().BeNull();
            }
        }
Ejemplo n.º 26
0
 public GetAllTogglesHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 27
0
 public ChangeConditionModeHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 28
0
 public GetToggleHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 29
0
 public StorageBehavior(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 30
0
 public UserRepositoryImpl(IStorageSession outsideSession)
     : base(outsideSession)
 {
 }
 public UpdateToggleTagsHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 32
0
 public RoleRepositoryImpl(IStorageSession outsideSession)
 {
     _outsideSession = outsideSession;
 }
Ejemplo n.º 33
0
 public ChangeToggleNameHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 34
0
 public AddConditionHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 35
0
 public WriteStatisticsHandler(IStorageSession session)
 {
     _session = session;
 }
Ejemplo n.º 36
0
 internal abstract Task <Toggle> LocateAggregate(IStorageSession session);