예제 #1
0
        public DnnUnitTest(int portalId)
        {
            var simulator = new HttpSimulator.HttpSimulator();
            simulator.SimulateRequest();

            InstallComponents();

            LoadDnnProviders("data;logging;caching;authentication;members;roles;profiles;permissions;folder");

            //fix Globals.ApplicationMapPath
            var appPath = ConfigurationManager.AppSettings["DefaultPhysicalAppPath"];
            if(!string.IsNullOrEmpty(appPath))
            {
                var mappath = typeof (Globals).GetField("_applicationMapPath", BindingFlags.Static | BindingFlags.NonPublic);
                if (mappath != null)
                {
                    mappath.SetValue(null, appPath);
                }
            }

            //fix membership
            var providerProp = typeof(Membership).GetField("s_Provider", BindingFlags.Static | BindingFlags.NonPublic);
            if (providerProp != null)
            {
                providerProp.SetValue(null, Membership.Providers["AspNetSqlMembershipProvider"]);
            }

            var objPortalAliasInfo = new Entities.Portals.PortalAliasInfo { PortalID = portalId };
            var ps = new Entities.Portals.PortalSettings(59, objPortalAliasInfo);
            System.Web.HttpContext.Current.Items.Add("PortalSettings", ps);
            SqlProvider = new SqlDataProvider();
            PortalId = portalId;
        }
예제 #2
0
        public DnnWebTest(int portalId)
        {
            var simulator = new Instance.Utilities.HttpSimulator.HttpSimulator("/", this.WebsitePhysicalAppPath);

            simulator.SimulateRequest(new Uri(this.WebsiteAppPath));

            InstallComponents();

            HttpContextBase httpContextBase = new HttpContextWrapper(HttpContext.Current);

            HttpContextSource.RegisterInstance(httpContextBase);

            LoadDnnProviders("data;logging;caching;authentication;members;roles;profiles;permissions;folder;clientcapability");

            // fix Globals.ApplicationMapPath
            var appPath = this.WebsitePhysicalAppPath;

            if (!string.IsNullOrEmpty(appPath))
            {
                var mappath = typeof(Globals).GetField("_applicationMapPath", BindingFlags.Static | BindingFlags.NonPublic);
                mappath.SetValue(null, appPath);
            }

            // fix Globals.Status
            var status = typeof(Globals).GetField("_status", BindingFlags.Static | BindingFlags.NonPublic);

            status.SetValue(null, Globals.UpgradeStatus.None);

            // fix membership
            var providerProp = typeof(Membership).GetField("s_Provider", BindingFlags.Static | BindingFlags.NonPublic);

            providerProp.SetValue(null, Membership.Providers["AspNetSqlMembershipProvider"]);

            var objPortalAliasInfo = new Entities.Portals.PortalAliasInfo {
                PortalID = portalId
            };
            var ps = new Entities.Portals.PortalSettings(59, objPortalAliasInfo);

            HttpContext.Current.Items.Add("PortalSettings", ps);

            this.PortalId = portalId;
        }
예제 #3
0
        public DnnUnitTest(int portalId)
        {
            var simulator = new HttpSimulator.HttpSimulator();

            simulator.SimulateRequest();

            InstallComponents();

            LoadDnnProviders("data;logging;caching;authentication;members;roles;profiles;permissions;folder");

            //fix Globals.ApplicationMapPath
            var appPath = ConfigurationManager.AppSettings["DefaultPhysicalAppPath"];

            if (!string.IsNullOrEmpty(appPath))
            {
                var mappath = typeof(Globals).GetField("_applicationMapPath", BindingFlags.Static | BindingFlags.NonPublic);
                if (mappath != null)
                {
                    mappath.SetValue(null, appPath);
                }
            }

            //fix membership
            var providerProp = typeof(Membership).GetField("s_Provider", BindingFlags.Static | BindingFlags.NonPublic);

            if (providerProp != null)
            {
                providerProp.SetValue(null, Membership.Providers["AspNetSqlMembershipProvider"]);
            }

            var objPortalAliasInfo = new Entities.Portals.PortalAliasInfo {
                PortalID = portalId
            };
            var ps = new Entities.Portals.PortalSettings(59, objPortalAliasInfo);

            System.Web.HttpContext.Current.Items.Add("PortalSettings", ps);
            SqlProvider = new SqlDataProvider();
            PortalId    = portalId;
        }