public ApiAcceptanceTests() { var currentUser = new Operator { Key = "andy-dote", Name = "Andy Dote", CanCreatePermissions = true, CanCreateRoles = true, CanCreateUsers = true }; var config = new MagistrateConfiguration { EventStore = new InMemoryEventStore(), User = () => currentUser }; var container = new Container(new MagistrateRegistry(config.EventStore)); container.GetInstance<Boot>().Load(); var ps = container.GetInstance<PermissionService>(); var rs = container.GetInstance<RoleService>(); var us = container.GetInstance<UserService>(); var p1 = Permission.Create(ps, currentUser, new PermissionKey("perm-one"), "first", "first permission"); var p2 = Permission.Create(ps, currentUser, new PermissionKey("perm-two"), "second", "second permission"); var p3 = Permission.Create(ps, currentUser, new PermissionKey("perm-three"), "third", "third permission"); var r1 = Role.Create(rs, currentUser, new RoleKey("role-one"), "first", "first role"); r1.AddPermission(currentUser, p1.ID); var r2 = Role.Create(rs, currentUser, new RoleKey("role-two"), "second", "second role"); r2.AddPermission(currentUser, p2.ID); var u1 = User.Create(us, currentUser, new UserKey("user-one"), "first"); u1.AddRole(currentUser, r1.ID); u1.AddInclude(currentUser, p2.ID); u1.AddRevoke(currentUser, p3.ID); var store = container.GetInstance<AggregateStore<Guid>>(); store.Save(MagistrateSystem.MagistrateStream, p1); store.Save(MagistrateSystem.MagistrateStream, p2); store.Save(MagistrateSystem.MagistrateStream, p3); store.Save(MagistrateSystem.MagistrateStream, r1); store.Save(MagistrateSystem.MagistrateStream, r2); store.Save(MagistrateSystem.MagistrateStream, u1); _server = TestServer.Create(app => { app.Use<MagistrateOperatorMiddleware>(config); container .GetAllInstances<IController>() .ForEach(controller => controller.Configure(app)); }); }
public MagistrateOperatorMiddleware(OwinMiddleware next, MagistrateConfiguration config) : base(next) { _config = config; }