Наследование: ISitecoreConnectionManager
 public void GetSitecoreConfigClientUrlHostNotFound()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("http://localhost/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
     var response = manager.GetSitecoreConfig();
     Assert.IsNotNull(response);
     Assert.IsNull(response.Data);
     Assert.IsNotNull(response.GetExceptions());
     Assert.IsTrue(response.GetExceptions().Any(ex => ex.GetType() == typeof(WebException)));
 }
 public void GetSitecoreConfigPasswordMissing()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.Username).Returns(@"sitecore\admin");
     mockCxSettings.SetupGet(cxSettings => cxSettings.Password).Returns((string)null);
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("http://sc80/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
     var response = manager.GetSitecoreConfig();
     Assert.IsNotNull(response);
     Assert.IsNull(response.Data);
     Assert.IsNotNull(response.GetExceptions());
     Assert.IsTrue(response.GetExceptions().Any(ex => ex.GetType() == typeof(AuthenticationException)));
 }
 public void ConstructorNullCxSettings()
 {
     var manager = new SitecoreConnectionManager(null);
 }
 public void ConstructorClientUrlMalformed()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("xxx");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
 }
 public void ConstructorEmptyCxSettings()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
 }
 public void TestConnectionUsernameIncorrect()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.Username).Returns("xxxx");
     mockCxSettings.SetupGet(cxSettings => cxSettings.Password).Returns("b");
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("http://sc80/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
     var response = manager.TestConnection();
     Assert.IsNotNull(response);
     Assert.IsFalse(response.Data);
     Assert.IsNotNull(response.GetExceptions());
     Assert.IsTrue(response.GetExceptions().Any(ex => ex.GetType() == typeof(AuthenticationException)));
 }
 public void ConstructorClientUrlHttps()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("https://sc80/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
 }
 public void TestConnectionClientUrlHostNotFound()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.Username).Returns(@"sitecore\admin");
     mockCxSettings.SetupGet(cxSettings => cxSettings.Password).Returns("b");
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("http://localhost/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
     var response = manager.TestConnection();
     Assert.IsNotNull(response);
     Assert.IsFalse(response.Data);
     Assert.IsNotNull(response.GetExceptions());
     Assert.IsTrue(response.GetExceptions().Any(ex => ex.GetType() == typeof(WebException)));
 }
 public void TestConnectionSitecore80()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.Username).Returns(@"sitecore\admin");
     mockCxSettings.SetupGet(cxSettings => cxSettings.Password).Returns("b");
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("http://sc80/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
     var response = manager.TestConnection();
     Assert.IsNotNull(response);
     Assert.IsTrue(response.Data);
     Assert.IsNotNull(response.GetExceptions());
     Assert.IsFalse(response.GetExceptions().Any());
 }
 public void GetVersionSitecore80()
 {
     var mockCxSettings = new Mock<ISitecoreConnectionSettings>();
     mockCxSettings.SetupGet(cxSettings => cxSettings.ClientUrl).Returns("http://sc80/sitecore");
     var manager = new SitecoreConnectionManager(mockCxSettings.Object);
     var response = manager.GetSitecoreVersion();
     Assert.IsNotNull(response);
     Assert.IsNotNull(response.Data);
     Assert.AreEqual(8,response.Data.Major);
     Assert.AreEqual(0, response.Data.Minor);
     Assert.IsNotNull(response.GetExceptions());
     Assert.IsFalse(response.GetExceptions().Any());
 }
 private void btnTest_Click(object sender, RoutedEventArgs e)
 {
     var manager = new SitecoreConnectionManager(this);
     if (! this.IsValidWebRoot(this.txtWebrootPath.Text))
     {
         return;
     }
     if (! this.IsValidConnectionSettings(manager))
     {
         return;
     }
     var version = GetSitecoreVersion(manager);
     if (version == null)
     {
         return;
     }
     var reader = this.AppConfigReaderType.GetInstance<IAppConfigReader>();
     if (reader == null)
     {
         MessageBox.Show("No app config reader could be resolved.", TEST_CONNECTION_CAPTION, MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     var builder = new StringBuilder();
     builder.AppendFormat("Connection settings are valid for {0}.", version);
     if (!reader.IsSupportedVersion(version))
     {
         builder.Append(
             "\n\nThis version of Sitecore is not supported by the currently selected IAppConfigReader class.");
         builder.Append(
             "\n\nThis means that config changes implemented by the IAppConfigReader may conflict with your version of Sitecore. This will not affect the Sitecore server, but it may prevent LINQPad from being able to properly communicate with the Sitecore server.");
         builder.Append(
             "\n\nIf you experience problems you may need to implement a new IAppConfigReader or extend the one currently being used.");
     }
     MessageBox.Show(builder.ToString(), TEST_CONNECTION_CAPTION, MessageBoxButton.OK,
         MessageBoxImage.Asterisk);
 }
 protected virtual bool IsValidConnectionSettings(SitecoreConnectionManager manager)
 {
     if (string.IsNullOrEmpty(this.ClientUrl))
     {
         return false;
     }
     Mouse.OverrideCursor = Cursors.Wait;
     try
     {
         var version = GetSitecoreVersion(manager);
         if (version == null)
         {
             return false;
         }
         var response = manager.TestConnection();
         if (response == null)
         {
             MessageBox.Show("TestConnection() returned a null response.", TEST_CONNECTION_CAPTION, MessageBoxButton.OK, MessageBoxImage.Error);
             return false;
         }
         if (!response.Data)
         {
             var b1 = new StringBuilder();
             b1.AppendLine("Unable to connect to the Sitecore server using the specified settings.");
             if (response.GetExceptions().Any())
             {
                 b1.AppendLine("\n\nThe following exceptions were thrown:\n");
                 b1.AppendLine(string.Join("\n", response.GetExceptions().Select(ex => string.Format("* {0}", ex.Message))));
             }
             MessageBox.Show(b1.ToString(), TEST_CONNECTION_CAPTION, MessageBoxButton.OK, MessageBoxImage.Error);
         }
         return response.Data;
     }
     finally
     {
         Mouse.OverrideCursor = null;
     }
 }
 protected virtual Version GetSitecoreVersion(SitecoreConnectionManager manager)
 {
     var response = manager.GetSitecoreVersion();
     if (response == null)
     {
         MessageBox.Show("GetSitecoreVersion() returned a null response.", TEST_CONNECTION_CAPTION, MessageBoxButton.OK, MessageBoxImage.Error);
         return null;
     }
     if (response.Data == null)
     {
         var b1 = new StringBuilder();
         b1.AppendLine("The Sitecore server version could not be determined.\n\nThe following messages were returned:\n");
         b1.AppendLine(string.Join("\n", response.GetExceptions().Select(ex => string.Format("* {0}", ex.Message))));
         MessageBox.Show(b1.ToString(), TEST_CONNECTION_CAPTION, MessageBoxButton.OK, MessageBoxImage.Error);
         return null;
     }
     return response.Data;
 }
 protected virtual void btnOK_Click(object sender, RoutedEventArgs e)
 {
     //
     //save the changes to the driver settings
     if (this.SaveViewToModelCallback != null)
     {
         this.SaveViewToModelCallback(this.Model);
     }
     //
     //update app.config for this connection
     var reader = this.AppConfigReaderType.GetInstance<IAppConfigReader>();
     if (reader == null)
     {
         MessageBox.Show("Unable to get an IAppConfigReader object.", "Error Saving Connection", MessageBoxButton.OK, MessageBoxImage.Error);
     }
     else
     {
         var cxManager = new SitecoreConnectionManager(this.Model.CxSettings);
         var config = reader.Read(cxManager, this.Model, "web.config", false);
         if (config == null)
         {
             MessageBox.Show("IAppConfigReader object returned no document.", "Error Saving Connection", MessageBoxButton.OK, MessageBoxImage.Error);
         }
         else
         {
             reader.Save(config, this.Model);
         }
     }
     //
     //
     this.DialogResult = true;
 }