private static MainForm GetMainForm(string settingsFilename) { var remoteCruiseManagerFactory = new CruiseServerClientFactory(); ICruiseServerManagerFactory cruiseServerManagerFactory = new CruiseServerManagerFactory(remoteCruiseManagerFactory); ICruiseProjectManagerFactory cruiseProjectManagerFactory = new CruiseProjectManagerFactory(remoteCruiseManagerFactory); CCTrayMultiConfiguration configuration = new CCTrayMultiConfiguration(cruiseServerManagerFactory, cruiseProjectManagerFactory, settingsFilename); return(new MainForm(configuration)); }
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolCannotFindExtension() { var mockCruiseManagerFactory = mocks.Create <ICruiseServerClientFactory>(MockBehavior.Strict).Object; var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var server = new BuildServer("http://somethingOrOther", BuildServerTransport.Extension, "Extension.Unknown,Extension", string.Empty); Assert.That(delegate { factory.Create(server); }, Throws.TypeOf <CCTrayLibException>()); }
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolCannotInvalidExtension() { var mockCruiseManagerFactory = mocks.StrictMock <ICruiseServerClientFactory>(); var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var server = new BuildServer("http://somethingOrOther", BuildServerTransport.Extension, "ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring.CruiseServerManagerFactoryTest,ThoughtWorks.CruiseControl.UnitTests", string.Empty); mocks.ReplayAll(); Assert.That(delegate { factory.Create(server); }, Throws.TypeOf <CCTrayLibException>()); }
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolEmptyExtension() { var mockCruiseManagerFactory = mocks.Create <ICruiseServerClientFactory>(MockBehavior.Strict).Object; var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var server = new BuildServer("http://somethingOrOther", BuildServerTransport.Extension, "New Extension", string.Empty); server.ExtensionName = null; Assert.That(delegate { factory.Create(server); }, Throws.TypeOf <ArgumentOutOfRangeException>().With.Property("ParamName").EqualTo("name")); }
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolValidExtension() { var mockCruiseManagerFactory = mocks.Create <ICruiseServerClientFactory>(MockBehavior.Strict).Object; var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var server = new BuildServer("http://somethingOrOther", BuildServerTransport.Extension, "ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring.ExtensionProtocolStub,ThoughtWorks.CruiseControl.UnitTests", "Some settings"); var manager = factory.Create(server); Assert.AreEqual(server.Url, manager.Configuration.Url); Assert.AreEqual(server.ExtensionName, "ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring.ExtensionProtocolStub,ThoughtWorks.CruiseControl.UnitTests"); Assert.AreEqual(server.ExtensionSettings, "Some settings"); mocks.VerifyAll(); }
public void WhenRequestingACruiseServerManagerWithATCPUrlAsksTheCruiseManagerFactory() { var serverAddress = @"tcp://1.2.3.4"; var server = new BuildServer(serverAddress); var mockCruiseManagerFactory = mocks.Create <ICruiseServerClientFactory>(MockBehavior.Strict).Object; var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var client = mocks.Create <CruiseServerClientBase>().Object; Mock.Get(mockCruiseManagerFactory).Setup(clientFactory => clientFactory.GenerateRemotingClient(serverAddress, It.IsAny <ClientStartUpSettings>())) .Returns(client); var manager = factory.Create(server); Assert.AreEqual(server.Url, manager.Configuration.Url); Assert.AreEqual(typeof(CachingCruiseServerManager), manager.GetType()); mocks.VerifyAll(); }
public void WhenRequestingACruiseServerManagerWithAnHttpUrlConstructsANewHttpServerManagerDecoratedWithACachingServerManager() { var mockCruiseManagerFactory = mocks.Create <ICruiseServerClientFactory>(MockBehavior.Strict).Object; var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var serverAddress = "http://somethingOrOther"; var server = new BuildServer(serverAddress); var client = mocks.Create <CruiseServerClientBase>().Object; Mock.Get(mockCruiseManagerFactory).Setup(clientFactory => clientFactory.GenerateHttpClient(serverAddress, It.IsAny <ClientStartUpSettings>())) .Returns(client); var manager = factory.Create(server); Assert.AreEqual(server.Url, manager.Configuration.Url); Assert.AreEqual(typeof(CachingCruiseServerManager), manager.GetType()); mocks.VerifyAll(); }
public void WhenRequestingACruiseServerManagerWithATCPUrlAsksTheCruiseManagerFactory() { var serverAddress = @"tcp://1.2.3.4"; var server = new BuildServer(serverAddress); var mockCruiseManagerFactory = mocks.StrictMock <ICruiseServerClientFactory>(); var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var client = mocks.DynamicMock <CruiseServerClientBase>(); Expect.Call(mockCruiseManagerFactory.GenerateRemotingClient(serverAddress, new ClientStartUpSettings())) .Constraints(new Equal(serverAddress), new Anything()) .Return(client); mocks.ReplayAll(); var manager = factory.Create(server); Assert.AreEqual(server.Url, manager.Configuration.Url); Assert.AreEqual(typeof(CachingCruiseServerManager), manager.GetType()); mocks.VerifyAll(); }
public void WhenRequestingACruiseServerManagerWithAnHttpUrlConstructsANewHttpServerManagerDecoratedWithACachingServerManager() { var mockCruiseManagerFactory = mocks.StrictMock <ICruiseServerClientFactory>(); var factory = new CruiseServerManagerFactory(mockCruiseManagerFactory); var serverAddress = "http://somethingOrOther"; var server = new BuildServer(serverAddress); var client = mocks.DynamicMock <CruiseServerClientBase>(); Expect.Call(mockCruiseManagerFactory.GenerateHttpClient(serverAddress, new ClientStartUpSettings())) .Constraints(new Equal(serverAddress), new Anything()) .Return(client); mocks.ReplayAll(); var manager = factory.Create(server); Assert.AreEqual(server.Url, manager.Configuration.Url); Assert.AreEqual(typeof(CachingCruiseServerManager), manager.GetType()); mocks.VerifyAll(); }