예제 #1
0
		public void Test1()
		{
			var fixture = new Fixture();
			var project = new
			{
				Id = fixture.Create<string>(),
				CompnentList = new[]
				{
					new { Id = fixture.Create<string>(), ComponentName = fixture.Create<string>() },
					new { Id = fixture.Create<string>(), ComponentName = fixture.Create<string>() },
					new { Id = fixture.Create<string>(), ComponentName = fixture.Create<string>() }
				},
				EnvironmentList = new[]
				{
					new { Id = fixture.Create<string>(), EnvironmentName = fixture.Create<string>() },
					new { Id = fixture.Create<string>(), EnvironmentName = fixture.Create<string>() },
					new { Id = fixture.Create<string>(), EnvironmentName = fixture.Create<string>() }
				}
			};

			using(var session = EmbeddedRavenProvider.DocumentStore.OpenSession())
			{
				var repository = new RavenDBPermissionRepository(session);
				IPermissionManager sut = new PermissionManager(repository);
				var group = sut.CreateGroup(fixture.Create<string>(), null);
				var approveDeploymentPermissionDefinition = sut.CreatePermissionDefinition("ApproveDeployment", "Approve Deployment");

				var roleDataItems = new List<PermissionDataAssignment>
				{
					new PermissionDataAssignment { Id = fixture.Create<string>(), DataPropertyName="Project", DataPropertyValue = fixture.Create<string>() }
				};
				var role = sut.CreateRole("QA Approvers", roleDataItems);
				RoleGroupAssignment roleGroupAssignment = sut.AssignGroupToRole(role.Id, group.Id);
			}
		}