示例#1
0
        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>());
        }
示例#3
0
        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();
        }
示例#8
0
        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();
        }
示例#9
0
        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();
        }