public void SetUp() { _ratAttrib = new RunAsDefaultTenant(); // Explicitly calling the RunAsDefaultTenant attribute so that we can set up some common objects to speed up the test. _ratAttrib.BeforeTest(null); _userAccount = Entity.Create <UserAccount>(); _userAccount.Name = "Test user " + Guid.NewGuid().ToString(); _userAccount.Save(); new AccessRuleFactory().AddAllowByQuery( _userAccount.As <Subject>(), Workflow.Workflow_Type.As <SecurableEntity>(), Permissions.Read.ToEnumerable(), TestQueries.WorkflowWithName("A").ToReport()); new AccessRuleFactory().AddAllowByQuery( _userAccount.As <Subject>(), Resource.Resource_Type.As <SecurableEntity>(), new EntityRef("core:read").ToEnumerable(), TestQueries.EntitiesWithName("Readable").ToReport()); new AccessRuleFactory().AddAllowByQuery( _userAccount.As <Subject>(), Resource.Resource_Type.As <SecurableEntity>(), new EntityRef("core:modify").ToEnumerable(), TestQueries.EntitiesWithName("Writable").ToReport()); new AccessRuleFactory().AddAllowByQuery( _userAccount.As <Subject>(), Resource.Resource_Type.As <SecurableEntity>(), new EntityRef("core:create").ToEnumerable(), TestQueries.EntitiesWithName("Creatable").ToReport()); new AccessRuleFactory().AddAllowByQuery( _userAccount.As <Subject>(), Resource.Resource_Type.As <SecurableEntity>(), new EntityRef("core:delete").ToEnumerable(), TestQueries.EntitiesWithName("Deletable").ToReport()); new AccessRuleFactory().AddAllowByQuery( _userAccount.As <Subject>(), Resource.Resource_Type.As <SecurableEntity>(), new EntityRef("core:read").ToEnumerable(), TestQueries.EntitiesWithName("Deletable").ToReport()); }
public virtual void TestFixtureSetup() { EntityType entityType; try { DatabaseContext = DatabaseContext.GetContext(true); RunAsDefaultTenant = new RunAsDefaultTenant(); RunAsDefaultTenant.BeforeTest(null); entityType = EDC.ReadiNow.Model.Entity.Create <EntityType>(); entityType.Inherits.Add(UserResource.UserResource_Type); entityType.Save(); Entities = CreateEntities(entityType, MatchingName); // Ensure the results are ordered Query = TestQueries.Entities(entityType); Query.OrderBy.Add(new OrderByItem() { Expression = new ColumnReference() { ColumnId = Query.SelectColumns[0].ColumnId }, Direction = OrderByDirection.Ascending }); UserAccount = new UserAccount(); UserAccount.Save(); new AccessRuleFactory().AddAllowReadQuery(UserAccount.As <Subject>(), entityType.As <SecurableEntity>(), TestQueries.EntitiesWithNameA(entityType).ToReport()); } catch (Exception ex) { Console.Error.WriteLine("Setup failed: " + ex); if (DatabaseContext != null) { DatabaseContext.Dispose(); } throw; } }