/tags/1.31/src/Tests/Mailing/SetupFixture.cs
C# | 162 lines | 127 code | 29 blank | 6 comment | 7 complexity | 9c61636618bc01ac1dacd622383e064c MD5 | raw file
Possible License(s): AGPL-1.0, LGPL-2.1
- /// Copyright (c) 2008 by eunge.liu@gmail.com. All Rights Reserved.
- // Information Contained Herein is Proprietary and Confidential.
- // $Id: SetupFixture.cs 308 2009-10-24 05:37:58Z eungeliu $
-
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Data.Linq;
- using System.IO;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Text;
- using System.Transactions;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Xml;
- using System.Xml.Schema;
- using BaoJianSoft.Common;
- using BaoJianSoft.Platform;
- using BaoJianSoft.Platform.Initialization;
- using BaoJianSoft.Platform.Linq;
- using BaoJianSoft.Web.Extensions;
- using BaoJianSoft.Web.Extensions.Controls;
- using BaoJianSoft.Web.Extensions.DynamicPages;
- using NUnit.Framework;
- using AspNetMembership = System.Web.Security.Membership;
-
- namespace BaoJianSoft.Tests.Mailing
- {
- [SetUpFixture]
- public class SetupFixture : BaoJianSoft.Tests.SetupFixture
- {
- internal static UserObject User_Admin { get; set; }
-
- internal static UserObject User_OrganizationA_RoleX { get; set; }
-
- internal static UserObject User_OrganizationB_RoleXY { get; set; }
-
- internal static OrganizationObject Organization_Administration { get; set; }
-
- internal static OrganizationObject OrganizationA { get; set; }
-
- internal static OrganizationObject OrganizationB { get; set; }
-
- internal static RoleObject RoleX { get; set; }
-
- internal static RoleObject RoleY { get; set; }
-
- internal static IAuthenticationContext AuthenticationContext { get { return SpringContext.Current.GetObject<IAuthenticationContext>(); } }
-
- [SetUp]
- public override void GlobalSetup()
- {
- base.GlobalSetup();
-
- IOrganizationApi organizationApi = SpringContext.Current.GetObject<IOrganizationApi>();
- int recordCount;
- Expression<Func<Organization, bool>> predicate = org => org.Status == OrganizationStatus.Enabled;
- Organization_Administration = organizationApi.FindOrganizations(predicate, null, null, 0, 1, out recordCount).FirstOrDefault();
-
- IAuthenticationContext authenticationContext = SpringContext.Current.GetObject<IAuthenticationContext>();
- authenticationContext.Login("admin", "password1");
-
- // 创建默认的部门
- IPlatformConfiguration platformConfiguration = SpringContext.Current.GetObject<IPlatformConfiguration>();
- BaoJianSoft.Platform.OrganizationStatus organizationStatus = BaoJianSoft.Platform.OrganizationStatus.Enabled;
-
- OrganizationA = new OrganizationObject
- {
- OrganizationCode = "A",
- OrganizationName = "部门A",
- OrganizationTypeId = platformConfiguration.OrganizationType.OrganizationTypeId,
- ParentOrganizationId = Organization_Administration.OrganizationId,
- Status = organizationStatus,
- Description = ""
- };
- organizationApi.Save(OrganizationA);
-
- OrganizationB = new OrganizationObject
- {
- OrganizationCode = "B",
- OrganizationName = "部门B",
- OrganizationTypeId = platformConfiguration.OrganizationType.OrganizationTypeId,
- ParentOrganizationId = Organization_Administration.OrganizationId,
- Status = organizationStatus,
- Description = ""
- };
- organizationApi.Save(OrganizationB);
-
- // 创建用户
- IMembershipApi membershipApi = SpringContext.Current.GetObject<IMembershipApi>();
- User_Admin = membershipApi.Get("admin");
-
- User_OrganizationA_RoleX = new UserObject
- {
- UserName = "User_OrganizationA_RoleX",
- DisplayName = "User_OrganizationA_RoleX.Disp",
- Email = "eudevA@5vsoft.com",
- Comment = "部门A用户",
- IsApproved = true,
- OrganizationId= OrganizationA.OrganizationId
- };
- membershipApi.Save(User_OrganizationA_RoleX, "password1", null);
-
- User_OrganizationB_RoleXY = new UserObject
- {
- UserName = "User_OrganizationB_RoleXY",
- DisplayName = "User_OrganizationB_RoleXY.Disp",
- Email = "eudevB@5vsoft.com",
- Comment = "部门B用户",
- IsApproved = true,
- OrganizationId = OrganizationB.OrganizationId
- };
-
- membershipApi.Save(User_OrganizationB_RoleXY, "password1", null);
-
- // 创建默认角色
- IRoleApi roleApi = SpringContext.Current.GetObject<IRoleApi>();
- RoleX = new RoleObject { RoleName = "操作员X", OrganizationTypeIds = new Collection<Guid> { platformConfiguration.OrganizationType.OrganizationTypeId } };
- RoleY = new RoleObject { RoleName = "操作员Y", OrganizationTypeIds = new Collection<Guid> { platformConfiguration.OrganizationType.OrganizationTypeId } };
-
- roleApi.Save(RoleX);
- roleApi.Save(RoleY);
-
- roleApi.SetUserToRoles(User_OrganizationA_RoleX.UserId, new[] { RoleX.RoleId });
- roleApi.SetUserToRoles(User_OrganizationB_RoleXY.UserId, new[] { RoleX.RoleId, RoleY.RoleId });
- }
-
- [TearDown]
- public override void GlobalTearDown()
- {
- base.GlobalTearDown();
-
- using (MembershipDataContext ctx = DataContextFactory.Create<MembershipDataContext>())
- {
- List<Guid> createdUserIds = new List<Guid> { User_OrganizationA_RoleX.UserId, User_OrganizationB_RoleXY.UserId };
- List<Guid> createdRoleIds = new List<Guid> { RoleX.RoleId, RoleY.RoleId };
- List<Guid> createdOrganizationIds = new List<Guid> { OrganizationA.OrganizationId, OrganizationB.OrganizationId };
-
- foreach (Guid createdUserId in createdUserIds)
- {
- ctx.UsersInRoles.Delete(uir => uir.UserId == createdUserId);
- ctx.Memberships.Delete(m => m.UserId == createdUserId);
- ctx.Users.Delete(u => u.UserId == createdUserId);
- }
-
- foreach (Guid createdRoleId in createdRoleIds)
- {
- ctx.RolesInOrganizationTypes.Delete(x => x.RoleId == createdRoleId);
- ctx.Roles.Delete(r => r.RoleId == createdRoleId);
- }
-
- foreach (Guid createdOrganizationId in createdOrganizationIds)
- {
- ctx.Organizations.Delete(org => org.OrganizationId == createdOrganizationId);
- }
-
- ctx.SubmitChanges();
- }
- }
- }
- }