public static void ClassStart(TestContext testContext)
 {
     if (!SPSite.Exists(TestSiteCollection))
     {
         Install();
     }
     testSite             = new SPSite(TestSiteCollection.ToString());
     rootWeb              = testSite.RootWeb;
     root_discussionBoard = rootWeb.Lists["Team Discussion"];
     user1 = rootWeb.SiteUsers[User1Login];
     user1 = rootWeb.SiteUsers[User2Login];
     user1 = rootWeb.SiteUsers[User3Login];
 }
        /// <summary>
        /// Checks if the WebSiteControllerRules exist
        /// </summary>
        /// <returns>true if they exist; otherwise false</returns>
        public static bool Exists()
        {
            if (WebApp == null && HttpContext.Current != null) // && HttpContext.Current.Request != null)
            {
                HttpRequest request = HttpContext.Current.Request;

                string url = HttpContext.Current.Request.Url.OriginalString;
                //try
                //{
                if (SPSite.Exists(HttpContext.Current.Request.Url))
                {
                    SPSite site = new SPSite(HttpContext.Current.Request.Url.OriginalString);
                    WebApp = site.WebApplication;
                }
                //}
                //catch { return false; };
            }

            if (WebApp != null)
            {
                if (WebApp != SPAdministrationWebApplication.Local)
                {
                    WebSiteControllerConfig config = WebApp.GetChild <WebSiteControllerConfig>(OBJECTNAME);
                    return(config != null);
                }

                /*
                 * else
                 * {
                 *
                 *  return SPFarm.Local.GetObject(ID) != null;
                 * }
                 */
            }

            return(false);

            /*
             * try
             * {
             *  return SPContext.Current.Site.WebApplication.GetChild<WebSiteControllerConfig>(OBJECTNAME) != null;
             * }
             * catch (Exception ex)
             * {
             *  //WebSiteControllerConfig config = SPContext.Current.Site.WebApplication.GetChild<WebSiteControllerConfig>();
             *  //config.Delete();
             * }
             * return false;
             */
        }
        public bool Exists(object uri)
        {
            Uri localUri;

            if (uri is UriInstance)
            {
                localUri = (uri as UriInstance).Uri;
            }
            else
            {
                localUri = new Uri(TypeConverter.ToString(uri));
            }

            return(SPSite.Exists(localUri));
        }
Esempio n. 4
0
        public string CreateSiteCollection(SiteData site)
        {
            string siteUrl     = string.Empty;
            uint   siteLcIdint = 1033;
            Guid   siteId      = SPContext.Current.Site.ID;

            // Elevation - would not actually be neeeded if we call this by using specific account with the right permissions, but is also one option.
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite elevSite = new SPSite(siteId))
                {
                    if (!string.IsNullOrEmpty(site.LcId))
                    {
                        siteLcIdint = Convert.ToUInt16(site.LcId);
                    }
                    siteUrl = SPUrlUtility.CombineUrl(elevSite.Url, site.Url);

                    if (!SPSite.Exists(new Uri(siteUrl)))
                    {
                        using (SPSite newSite = elevSite.SelfServiceCreateSite(siteUrl, site.Title, site.Description,
                                                                               siteLcIdint, site.WebTemplate,
                                                                               site.OwnerLogin, string.Empty, string.Empty,
                                                                               site.SecondaryContactLogin, string.Empty, string.Empty))
                        {
                            //create the default groups
                            newSite.RootWeb.CreateDefaultAssociatedGroups(newSite.Owner.LoginName, newSite.SecondaryContact.LoginName, site.Title);
                        }
                    }
                    else
                    {
                        //TODO - site already existed... abort abort!
                    }
                }
            });
            return(siteUrl);
        }
Esempio n. 5
0
    public static void InitializeSiteCollection()
    {
#if DEBUG
        TestSiteCollUri = new Uri("http://spsites/sites/" + TestContext.Parameters["TestSiteCollectionName"]);
        return; // Uncommented when debugging LDAPCP code from unit tests
#endif

        logFileListener = new TextWriterTraceListener(TestContext.Parameters["TestLogFileName"]);
        Trace.Listeners.Add(logFileListener);
        Trace.AutoFlush = true;
        Trace.TraceInformation($"{DateTime.Now.ToString("s")} Start integration tests of {ClaimsProviderName} {FileVersionInfo.GetVersionInfo(Assembly.GetAssembly(typeof(ldapcp.LDAPCP)).Location).FileVersion}.");
        Trace.WriteLine($"{DateTime.Now.ToString("s")} DataFile_AllAccounts_Search: {DataFile_AllAccounts_Search}");
        Trace.WriteLine($"{DateTime.Now.ToString("s")} DataFile_AllAccounts_Validate: {DataFile_AllAccounts_Validate}");
        Trace.WriteLine($"{DateTime.Now.ToString("s")} TestSiteCollectionName: {TestContext.Parameters["TestSiteCollectionName"]}");
        if (SPTrust == null)
        {
            Trace.TraceError($"{DateTime.Now.ToString("s")} SPTrust: is null");
        }
        else
        {
            Trace.WriteLine($"{DateTime.Now.ToString("s")} SPTrust: {SPTrust.Name}");
        }

        LDAPCPConfig config = LDAPCPConfig.GetConfiguration(UnitTestsHelper.ClaimsProviderConfigName, UnitTestsHelper.SPTrust.Name);
        if (config == null)
        {
            LDAPCPConfig.CreateConfiguration(ClaimsProviderConstants.CONFIG_ID, ClaimsProviderConstants.CONFIG_NAME, SPTrust.Name);
        }

        var service         = SPFarm.Local.Services.GetValue <SPWebService>(String.Empty);
        SPWebApplication wa = service.WebApplications.FirstOrDefault();
        if (wa != null)
        {
            Trace.WriteLine($"{DateTime.Now.ToString("s")} Web application {wa.Name} found.");
            SPClaimProviderManager claimMgr = SPClaimProviderManager.Local;
            string     encodedClaim         = claimMgr.EncodeClaim(TrustedGroup);
            SPUserInfo userInfo             = new SPUserInfo {
                LoginName = encodedClaim, Name = TrustedGroupToAdd_ClaimValue
            };

            // The root site may not exist, but it must be present for tests to run
            Uri rootWebAppUri = wa.GetResponseUri(0);
            if (!SPSite.Exists(rootWebAppUri))
            {
                Trace.WriteLine($"{DateTime.Now.ToString("s")} Creating root site collection {rootWebAppUri.AbsoluteUri}...");
                SPSite spSite = wa.Sites.Add(rootWebAppUri.AbsoluteUri, "root", "root", 1033, "STS#1", FarmAdmin, String.Empty, String.Empty);
                spSite.RootWeb.CreateDefaultAssociatedGroups(FarmAdmin, FarmAdmin, spSite.RootWeb.Title);

                SPGroup membersGroup = spSite.RootWeb.AssociatedMemberGroup;
                membersGroup.AddUser(userInfo.LoginName, userInfo.Email, userInfo.Name, userInfo.Notes);
                spSite.Dispose();
            }

            if (!Uri.TryCreate(rootWebAppUri, TestSiteRelativePath, out TestSiteCollUri))
            {
                Trace.TraceError($"{DateTime.Now.ToString("s")} Unable to generate Uri of test site collection from Web application Uri {rootWebAppUri.AbsolutePath} and relative path {TestSiteRelativePath}.");
            }

            if (!SPSite.Exists(TestSiteCollUri))
            {
                Trace.WriteLine($"{DateTime.Now.ToString("s")} Creating site collection {TestSiteCollUri.AbsoluteUri}...");
                SPSite spSite = wa.Sites.Add(TestSiteCollUri.AbsoluteUri, ClaimsProviderName, ClaimsProviderName, 1033, "STS#1", FarmAdmin, String.Empty, String.Empty);
                spSite.RootWeb.CreateDefaultAssociatedGroups(FarmAdmin, FarmAdmin, spSite.RootWeb.Title);

                SPGroup membersGroup = spSite.RootWeb.AssociatedMemberGroup;
                membersGroup.AddUser(userInfo.LoginName, userInfo.Email, userInfo.Name, userInfo.Notes);
                spSite.Dispose();
            }
            else
            {
                using (SPSite spSite = new SPSite(TestSiteCollUri.AbsoluteUri))
                {
                    SPGroup membersGroup = spSite.RootWeb.AssociatedMemberGroup;
                    membersGroup.AddUser(userInfo.LoginName, userInfo.Email, userInfo.Name, userInfo.Notes);
                }
            }
        }
        else
        {
            Trace.TraceError($"{DateTime.Now.ToString("s")} Web application was NOT found.");
        }
    }
Esempio n. 6
0
        private static void Process(string requestUrl, bool ContentApproval, bool Versioning, bool IsRecursive)
        {
            SPSite rootsite = null;
            SPWeb  rootweb  = null;

            try
            {
                Uri rootweburi = new Uri(requestUrl);

                if (SPSite.Exists(rootweburi)) // Check if Site is there
                {
                    // Open Site
                    using (rootsite = new SPSite(requestUrl))
                    {
                        using (rootweb = rootsite.OpenWeb())
                        {
                            // Allow unsafe updates
                            rootweb.AllowUnsafeUpdates = true;
                            rootweb.Update();

                            // Process settings of the document libraries
                            HandleDocumentLibrary(rootweb, ContentApproval, Versioning);

                            // disable unsafe updates
                            rootweb.AllowUnsafeUpdates = false;
                            rootweb.Update();

                            if (IsRecursive) // Check if recurve was defined
                            {
                                // Loop though each sub-site and handle versioning & content approval settings
                                for (int i = 0; i <= rootweb.Webs.Count; i++)
                                {
                                    using (SPWeb subweb = rootweb.Webs[i])
                                    {
                                        HandleDocumentLibrary(subweb, ContentApproval, Versioning);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    Console.WriteLine(string.Format("Web Application at {0} was not found, please check the \"URL\" argument and try again.", requestUrl));
                }
            }
            catch (SPException spex)
            {
                Console.WriteLine(spex.ToString());
                Console.WriteLine(Environment.NewLine);
                Console.WriteLine("Push any key to continue");
                Console.ReadLine();
            }
            finally
            {
                // If somethign went south and rootweb is not null, dispose of it correctly
                if (rootweb != null)
                {
                    rootweb.Close();
                    rootweb.Dispose();
                }

                // If something went south and rootsite is not null, dispose of it correctly
                if (rootsite != null)
                {
                    rootsite.Close();
                    rootsite.Dispose();
                }
            }
        }
Esempio n. 7
0
        private int Process(StringDictionary keyValues, out string output, bool ContentApproval, bool Versioning)
        {
            // Get the URL
            string requestUrl = this.GetURL(keyValues);

            bool IsRecursive = false;

            // Set if we are running Recursive or not
            if (string.IsNullOrEmpty(keyValues["includesubsites"]))
            {
                IsRecursive = true;
            }

            SPSite rootsite = default(SPSite);
            SPWeb  rootweb  = null;

            try
            {
                Uri rootweburi = new Uri(requestUrl);

                if (SPSite.Exists(rootweburi)) // Check if Site is there
                {
                    // Open Site
                    using (rootsite = new SPSite(requestUrl))
                    {
                        using (rootweb = rootsite.OpenWeb())
                        {
                            // Allow unsafe updates
                            rootweb.AllowUnsafeUpdates = true;
                            rootweb.Update();

                            // Process settings of the document libraries
                            this.HandleDocumentLibrary(rootweb, ContentApproval, Versioning);

                            // disable unsafe updates
                            rootweb.AllowUnsafeUpdates = false;
                            rootweb.Update();

                            if (IsRecursive) // Check if recurve was defined
                            {
                                // Loop though each sub-site and handle versioning & content approval settings
                                for (int i = 0; i <= rootweb.Webs.Count; i++)
                                {
                                    using (SPWeb subweb = rootweb.Webs[i])
                                    {
                                        HandleDocumentLibrary(subweb, ContentApproval, Versioning);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    Console.WriteLine(string.Format("Web Application at {0} was not found, please check the \"URL\" argument and try again.", requestUrl));
                }
            }
            catch (SPException spex)
            {
                StringBuilder sbError = new StringBuilder();
                sbError.AppendLine(spex.ToString());
                output = sbError.ToString();
                return(-1);
            }
            finally
            {
                // If somethign went south and rootweb is not null, dispose of it correctly
                if (rootweb != null)
                {
                    rootweb.Close();
                    rootweb.Dispose();
                }

                // If something went south and rootsite is not null, dispose of it correctly
                if (rootsite != null)
                {
                    rootsite.Close();
                    rootsite.Dispose();
                }
            }

            output = "Completed.";
            return(0);
        }