protected override void Given()
            {
                _projectionName = "test-projection";
                _projectionBody = @"fromAll().whenAny(function(s,e){return s;});";
                _testUserPrincipal = new OpenGenericPrincipal(
                    new GenericIdentity("test-user"), new[] { "test-role1", "test-role2" });

                AllWritesSucceed();
                NoOtherStreams();
            }
        private static OpenGenericPrincipal CreatePrincipal(UserData userData)
        {
            var roles = new string[userData.Groups != null ? userData.Groups.Length + 1 : 1];

            if (userData.Groups != null)
            {
                Array.Copy(userData.Groups, roles, userData.Groups.Length);
            }
            roles[roles.Length - 1] = userData.LoginName;
            var principal = new OpenGenericPrincipal(new GenericIdentity(userData.LoginName), roles);

            return(principal);
        }
        public void setup()
        {
            _readyHandler = new TestCheckpointManagerMessageHandler();
            _writeAs = new OpenGenericPrincipal("test-user");
            _stream = new EmittedStream(
                "test_stream", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), _writeAs, maxWriteBatchLength: 50),
                new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30),
                _ioDispatcher, _readyHandler);
            _stream.Start();

            _stream.EmitEvents(
                new[]
                {
                    new EmittedDataEvent(
                        "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null)
                });
        }