/// <summary>
        /// Return an specified site accoding to URL
        /// </summary>
        /// <param name="siteURL"></param>
        /// <returns></returns>
        public SPWeb GetSite(string portalURL, string siteURL)
        {
            SPWeb ResultSite = null;

            SPGlobalAdmin   gAdm = new SPGlobalAdmin();
            SPVirtualServer vSrv = gAdm.OpenVirtualServer(new Uri(portalURL));

            foreach (SPSite site in vSrv.Sites)
            {
                if (site.Url.ToLower() == siteURL.ToLower())
                {
                    ResultSite = site.RootWeb;
                    break;
                }
            }

            return(ResultSite);
        }
        /// <summary>
        /// Prepare child sites of sharepoint portal
        /// </summary>
        /// <param name="sharePointSiteURL"></param>
        protected void PreparePortalSites(string sharePointSiteURL)
        {
            using (SPGlobalAdmin gAdm = new SPGlobalAdmin())
            {
                SPVirtualServer vSrv = gAdm.OpenVirtualServer(new Uri(sharePointSiteURL));
                for (int i = 0; i < vSrv.Sites.Count; i++)
                {
                    using (SPSite Site = vSrv.Sites[i])
                    {
                        using (SPWeb web = Site.OpenWeb())
                        {
                            m_SitesQueue.Enqueue(web.Url.ToString());
                        }
                    }
                }

                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
        }
Beispiel #3
0
        public void TestDeleteSPSite()
        {
            string result = result = RunBuild(String.Format(CultureInfo.InvariantCulture,
                                                            _xmlProjectTemplate, _newSPSiteUrl, "true"));

            SPGlobalAdmin globalAdmin = new SPGlobalAdmin();

            System.Uri      uri = new System.Uri(_newSPSiteServerUrl);
            SPVirtualServer vs  = globalAdmin.OpenVirtualServer(uri);

            bool siteWasDeleted = true;

            foreach (SPSite site in vs.Sites)
            {
                if (site.RootWeb.Title.Equals(_newSPSiteTitle))
                {
                    siteWasDeleted = false;
                }
            }
            Assertion.Assert("The site was not deleted.", siteWasDeleted);
        }
Beispiel #4
0
        public void DeleteWebPartsPackage(string url, string packageName)
        {
            try
            {
                WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();

                StringWriter errors = new StringWriter();

                SPGlobalAdmin adm    = new SPGlobalAdmin();
                int           result = adm.RemoveWPPack(packageName, 0, "http://" + url, errors);
                if (result > 1)
                {
                    throw new Exception("Error uninstalling web parts package: " + errors.ToString());
                }

                wic.Undo();
            }
            catch (Exception ex)
            {
                throw new Exception("Could not uninstall web parts package", ex);
            }
        }
Beispiel #5
0
        public void InstallWebPartsPackage(string url, string fileName)
        {
            try
            {
                WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();

                string tempPath = Path.GetTempPath();

                // unzip uploaded files if required
                string expandedFile = fileName;
                if (Path.GetExtension(fileName).ToLower() == ".zip")
                {
                    // unpack file
                    expandedFile = FileUtils.UnzipFiles(fileName, tempPath)[0];

                    // delete zip archive
                    FileUtils.DeleteFile(fileName);
                }

                StringWriter errors = new StringWriter();

                SPGlobalAdmin adm    = new SPGlobalAdmin();
                int           result = adm.AddWPPack(expandedFile, null, 0, "http://" + url, false, true, errors);
                if (result > 1)
                {
                    throw new Exception("Error installing web parts package: " + errors.ToString());
                }

                // delete expanded file
                FileUtils.DeleteFile(expandedFile);

                wic.Undo();
            }
            catch (Exception ex)
            {
                throw new Exception("Could not install web parts package", ex);
            }
        }
        /// <summary>
        /// Get portal website
        /// </summary>
        /// <returns></returns>
        public SPWeb GetPortalSite(string portalUrl)
        {
            SPWeb PortalWeb = null;

            using (SPGlobalAdmin gAdm = new SPGlobalAdmin())
            {
                SPVirtualServer vSrv = gAdm.OpenVirtualServer(new Uri(portalUrl));

                for (int i = 0; i < vSrv.Sites.Count; i++)
                {
                    using (SPSite site = vSrv.Sites[i])
                    {
                        if (site.RootWeb.WebTemplate == "SPS")
                        {
                            PortalWeb = site.RootWeb;
                            break;
                        }
                    }
                }
            }

            return(PortalWeb);
        }
        public void TestCreateSPSiteInvalidUrlWithoutFailOnError()
        {
            string[] parameters = new string[] { "false",
                                                 "foo",
                                                 _newSPSiteAbbreviation,
                                                 _newSPSiteTitle,
                                                 _newSPSiteDescription,
                                                 _newSPSiteTemplate,
                                                 _newSPSiteManagedPath,
                                                 _newSPSiteOwnerLogin,
                                                 _newSPSiteOwnerName,
                                                 _newSPSiteOwnerEmail,
                                                 _newSPSiteContactLogin,
                                                 _newSPSiteContactName,
                                                 _newSPSiteContactEmail, };

            string result = result = RunBuild(String.Format(
                                                  CultureInfo.InvariantCulture,
                                                  _xmlProjectTemplate,
                                                  parameters));

            SPGlobalAdmin globalAdmin = new SPGlobalAdmin();

            System.Uri      uri = new System.Uri(_newSPSiteServerUrl);
            SPVirtualServer vs  = globalAdmin.OpenVirtualServer(uri);

            bool siteWasCreated = false;

            foreach (SPSite site in vs.Sites)
            {
                if (site.RootWeb.Title.Equals(_newSPSiteTitle))
                {
                    siteWasCreated = true;
                }
            }
            Assertion.Assert("The site was not created.", !siteWasCreated);
        }
Beispiel #8
0
		public void DeleteWebPartsPackage(string url, string packageName)
		{
			try
			{
				WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();

				StringWriter errors = new StringWriter();

				SPGlobalAdmin adm = new SPGlobalAdmin();
				int result = adm.RemoveWPPack(packageName, 0, "http://" + url, errors);
				if (result > 1)
					throw new Exception("Error uninstalling web parts package: " + errors.ToString());

				wic.Undo();
			}
			catch (Exception ex)
			{
				throw new Exception("Could not uninstall web parts package", ex);
			}
		}
Beispiel #9
0
		public void InstallWebPartsPackage(string url, string fileName)
		{
			try
			{
				WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();

				string tempPath = Path.GetTempPath();

				// unzip uploaded files if required
				string expandedFile = fileName;
				if (Path.GetExtension(fileName).ToLower() == ".zip")
				{
					// unpack file
					expandedFile = FileUtils.UnzipFiles(fileName, tempPath)[0];

					// delete zip archive
					FileUtils.DeleteFile(fileName);
				}

				StringWriter errors = new StringWriter();

				SPGlobalAdmin adm = new SPGlobalAdmin();
				int result = adm.AddWPPack(expandedFile, null, 0, "http://" + url, false, true, errors);
				if (result > 1)
					throw new Exception("Error installing web parts package: " + errors.ToString());

				// delete expanded file
				FileUtils.DeleteFile(expandedFile);

				wic.Undo();

			}
			catch (Exception ex)
			{
				throw new Exception("Could not install web parts package", ex);
			}
		}
Beispiel #10
0
		public string[] GetInstalledWebParts(string url)
		{
			try
			{
				WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();

				SPGlobalAdmin adm = new SPGlobalAdmin();
				string lines = adm.EnumWPPacks(null, "http://" + url, false);

				List<string> list = new List<string>();

				if(!String.IsNullOrEmpty(lines))
				{
					string line = null;
					StringReader reader = new StringReader(lines);
					while ((line = reader.ReadLine()) != null)
					{
						line = line.Trim();
						int commaIdx = line.IndexOf(",");
						if (!String.IsNullOrEmpty(line) && commaIdx != -1)
							list.Add(line.Substring(0, commaIdx));
					}
				}

				wic.Undo();

				return list.ToArray();
			}
			catch (Exception ex)
			{
				throw new Exception("Error reading web parts packages", ex);
			}
		}
Beispiel #11
0
		public void UnextendVirtualServer(string url, bool deleteContent)
		{
			try
			{
				WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();

				Uri uri = new Uri("http://" + url);
				SPWebApplication app = SPWebApplication.Lookup(uri);
				if (app == null)
					return;

				SPGlobalAdmin adm = new SPGlobalAdmin();
				adm.UnextendVirtualServer(uri, false);

				//typeof(SPWebApplication).InvokeMember("UnprovisionIisWebSitesAsAdministrator",
				//    BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod,
				//    null, null, new object[] { false, new string[] { url }, app.ApplicationPool });
				//app.Unprovision();
				app.Delete();

				wic.Undo();
			}
			catch (Exception ex)
			{
				throw new Exception("Could not uninstall SharePoint from the web site", ex);
			}
		}
        public void TestDeleteSPSite() {
            string result = result = RunBuild(String.Format(CultureInfo.InvariantCulture, 
                _xmlProjectTemplate, _newSPSiteUrl, "true"));
            
            SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
            System.Uri uri = new System.Uri(_newSPSiteServerUrl);
            SPVirtualServer vs = globalAdmin.OpenVirtualServer(uri);

            bool siteWasDeleted = true;
            foreach (SPSite site in vs.Sites) {
                if (site.RootWeb.Title.Equals(_newSPSiteTitle)) {
                    siteWasDeleted = false;
                }
            }
            Assertion.Assert("The site was not deleted.", siteWasDeleted);
        }
        public void TestCreateSPSiteInvalidUrlWithoutFailOnError() {
            string[] parameters = new string[]{"false", 
                                                  "foo",
                                                  _newSPSiteAbbreviation,
                                                  _newSPSiteTitle, 
                                                  _newSPSiteDescription, 
                                                  _newSPSiteTemplate, 
                                                  _newSPSiteManagedPath,
                                                  _newSPSiteOwnerLogin, 
                                                  _newSPSiteOwnerName, 
                                                  _newSPSiteOwnerEmail, 
                                                  _newSPSiteContactLogin, 
                                                  _newSPSiteContactName, 
                                                  _newSPSiteContactEmail,};

            string result = result = RunBuild(String.Format(
                CultureInfo.InvariantCulture, 
                _xmlProjectTemplate, 
                parameters));
            
            SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
            System.Uri uri = new System.Uri(_newSPSiteServerUrl);
            SPVirtualServer vs = globalAdmin.OpenVirtualServer(uri);

            bool siteWasCreated = false;
            foreach (SPSite site in vs.Sites) {
                if (site.RootWeb.Title.Equals(_newSPSiteTitle)) {
                    siteWasCreated = true;
                }
            }
            Assertion.Assert("The site was not created.", !siteWasCreated);
        }