public static KeyValuePair <string, IUserPublishProfile> CreateUserPublishProfileFromPublishSettings(string publishSettingsContents)
        {
            using (XmlTextReader reader = new XmlTextReader(new StringReader(publishSettingsContents)))
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(reader);

                XmlNode root        = xmldoc.DocumentElement;
                XmlNode profileNode = root.FirstChild;
                for (; profileNode != null; profileNode = profileNode.NextSibling)
                {
                    XmlAttribute plainTextPassword = null;
                    if (profileNode.Attributes != null)
                    {
                        plainTextPassword = profileNode.Attributes["userPWD"];
                    }

                    if (plainTextPassword != null && !string.IsNullOrEmpty(plainTextPassword.Value))
                    {
                        var protectedPassword = DataProtection.GetProtectedPassword(plainTextPassword.Value);
                        IUserPublishProfile userPublishProfile = new UserPublishProfile()
                        {
                            EncryptedPassword = Convert.ToBase64String(protectedPassword)
                        };

                        string profileName = profileNode.Attributes["profileName"]?.Value ?? "msDeployProfile";
                        return(new KeyValuePair <string, IUserPublishProfile>(profileName, userPublishProfile));
                    }
                }
            }

            return(new KeyValuePair <string, IUserPublishProfile>());
        }
        public void UserPublishProfile_ReturnsValidPublishProfile()
        {
            string userPublishProfile = new UserPublishProfile().ToString();

            Assert.Equal(TestResources.userpublishprofile, userPublishProfile);
        }