Example #1
0
        private ServerAggregatingCruiseManagerWrapper InitialiseServerWrapper(MockRepository mocks,
                                                                              Action <CruiseServerClientBase> additionalSetup)
        {
            IRemoteServicesConfiguration configuration        = mocks.DynamicMock <IRemoteServicesConfiguration>();
            ICruiseServerClientFactory   cruiseManagerFactory = mocks.DynamicMock <ICruiseServerClientFactory>();
            CruiseServerClientBase       cruiseManager        = mocks.DynamicMock <CruiseServerClientBase>();

            ServerLocation[] servers = new ServerLocation[] { serverLocation, otherServerLocation };
            SetupResult.For(configuration.Servers)
            .Return(servers);
            SetupResult.For(cruiseManagerFactory.GenerateClient("http://myurl", new ClientStartUpSettings()))
            .IgnoreArguments()
            .Return(cruiseManager);

            ServerAggregatingCruiseManagerWrapper serverWrapper = new ServerAggregatingCruiseManagerWrapper(
                configuration,
                cruiseManagerFactory);

            if (additionalSetup != null)
            {
                additionalSetup(cruiseManager);
            }

            return(serverWrapper);
        }
        public void DeletesProjectOnCorrectServer()
        {
            MockRepository mocks = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks, null);

            // Execute
            serverWrapper.DeleteProject(projectSpecifier, false, true, false, null);
        }
        public void UpdatesProjectOnCorrectServer()
        {
            string         serializedProject = "myproject---";
            MockRepository mocks             = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks, null);

            /// Execute
            serverWrapper.UpdateProject(projectSpecifier, serializedProject, null);
        }
Example #4
0
        public void AddsProjectToCorrectServer()
        {
            string         serializedProject = "myproject---";
            MockRepository mocks             = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks, null);

            mocks.ReplayAll();

            /// Execute
            serverWrapper.AddProject(serverSpecifier, serializedProject, null);
        }
        public void ForcesBuild()
        {
            var            parameters = new Dictionary <string, string>();
            MockRepository mocks      = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.ForceBuild(It.IsAny <string>(), It.IsAny <List <NameValuePair> >())).Verifiable();
            });

            serverWrapper.ForceBuild(projectSpecifier, null, parameters);
        }
        public void ReturnsCorrectLogFromCorrectProjectOnCorrectServer()
        {
            string         buildLog = "content\r\nlogdata";
            MockRepository mocks    = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetLog(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>()))
                .Returns(buildLog);
            });

            Assert.AreEqual(buildLog, serverWrapper.GetLog(new DefaultBuildSpecifier(projectSpecifier, "test"), null));
        }
        public void ReturnsServerLogFromCorrectServerForCorrectProject()
        {
            string         serverLog = "a server log";
            MockRepository mocks     = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetServerLog(It.IsAny <string>()))
                .Returns(serverLog);
            });

            Assert.AreEqual("a server log", serverWrapper.GetServerLog(projectSpecifier, null));
        }
        public void GetsExternalLinks()
        {
            ExternalLink[] links = new ExternalLink[] { new ExternalLink("1", "2"), new ExternalLink("3", "4") };
            MockRepository mocks = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetExternalLinks(It.IsAny <string>()))
                .Returns(links);
            });

            Assert.AreEqual(links, serverWrapper.GetExternalLinks(projectSpecifier, null));
        }
        public void ReturnCorrectArtifactDirectoryFromCorrectProjectFromCorrectServer()
        {
            string         artifactDirectory = @"c:\ArtifactDirectory";
            MockRepository mocks             = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetArtifactDirectory(It.IsAny <string>()))
                .Returns(artifactDirectory);
            });

            Assert.AreEqual(artifactDirectory, serverWrapper.GetArtifactDirectory(projectSpecifier, null));
        }
Example #10
0
        public void ReturnsServerLogFromCorrectServerForCorrectProject()
        {
            string         serverLog = "a server log";
            MockRepository mocks     = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetServerLog(null))
                .IgnoreArguments()
                .Return(serverLog);
            });

            mocks.ReplayAll();
            Assert.AreEqual("a server log", serverWrapper.GetServerLog(projectSpecifier, null));
        }
Example #11
0
        public void ReturnCorrectArtifactDirectoryFromCorrectProjectFromCorrectServer()
        {
            string         artifactDirectory = @"c:\ArtifactDirectory";
            MockRepository mocks             = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetArtifactDirectory(null))
                .IgnoreArguments()
                .Return(artifactDirectory);
            });

            mocks.ReplayAll();
            Assert.AreEqual(artifactDirectory, serverWrapper.GetArtifactDirectory(projectSpecifier, null));
        }
Example #12
0
        public void ReturnsCorrectLogFromCorrectProjectOnCorrectServer()
        {
            string         buildLog = "content\r\nlogdata";
            MockRepository mocks    = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetLog(null, null))
                .IgnoreArguments()
                .Return(buildLog);
            });

            mocks.ReplayAll();
            Assert.AreEqual(buildLog, serverWrapper.GetLog(new DefaultBuildSpecifier(projectSpecifier, "test"), null));
        }
        public void ReturnsLatestLogNameFromCorrectProjectOnCorrectServer()
        {
            string         buildName = "mylogformyserverformyproject";
            MockRepository mocks     = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetLatestBuildName(It.IsAny <string>()))
                .Returns(buildName);
            });

            DefaultProjectSpecifier myProjectMyServer = new DefaultProjectSpecifier(new DefaultServerSpecifier("myserver"), "myproject");

            Assert.AreEqual(new DefaultBuildSpecifier(myProjectMyServer, buildName),
                            serverWrapper.GetLatestBuildSpecifier(myProjectMyServer, null));
        }
Example #14
0
        public void ForcesBuild()
        {
            var            parameters = new Dictionary <string, string>();
            MockRepository mocks      = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Expect.Call(() => {
                    manager.ForceBuild(projectSpecifier.ProjectName, NameValuePair.FromDictionary(parameters));
                }).IgnoreArguments();
            });

            mocks.ReplayAll();

            serverWrapper.ForceBuild(projectSpecifier, null, parameters);
        }
Example #15
0
        public void GetsExternalLinks()
        {
            ExternalLink[] links = new ExternalLink[] { new ExternalLink("1", "2"), new ExternalLink("3", "4") };
            MockRepository mocks = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetExternalLinks(null))
                .IgnoreArguments()
                .Return(links);
            });

            mocks.ReplayAll();

            Assert.AreEqual(links, serverWrapper.GetExternalLinks(projectSpecifier, null));
        }
        public void ReturnsCorrectBuildSpecifiersFromCorrectProjectOnCorrectServerWhenNumberOfBuildsSpecified()
        {
            string[]       buildNames = new string[] { "log1", "log2" };
            MockRepository mocks      = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetMostRecentBuildNames(It.IsAny <string>(), It.IsAny <int>()))
                .Returns(buildNames);
            });

            Assert.AreEqual(new DefaultBuildSpecifier(projectSpecifier, "log1"),
                            serverWrapper.GetMostRecentBuildSpecifiers(projectSpecifier, 2, null)[0]);
            Assert.AreEqual(new DefaultBuildSpecifier(projectSpecifier, "log2"),
                            serverWrapper.GetMostRecentBuildSpecifiers(projectSpecifier, 2, null)[1]);
        }
        public void GetsProjectFromCorrectServer()
        {
            string         serializedProject = "a serialized project";
            MockRepository mocks             = new MockRepository(MockBehavior.Default);
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                Mock.Get(manager).Setup(_manager => _manager.GetProject(It.IsAny <string>()))
                .Returns(serializedProject);
            });

            // Execute
            string returnedProject = serverWrapper.GetProject(projectSpecifier, null);

            // Verify
            Assert.AreEqual(serializedProject, returnedProject);
        }
Example #18
0
        public void ReturnsCorrectBuildSpecifiersFromCorrectProjectOnCorrectServerWhenNumberOfBuildsSpecified()
        {
            string[]       buildNames = new string[] { "log1", "log2" };
            MockRepository mocks      = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetMostRecentBuildNames(null, 2))
                .IgnoreArguments()
                .Return(buildNames);
            });

            mocks.ReplayAll();
            Assert.AreEqual(new DefaultBuildSpecifier(projectSpecifier, "log1"),
                            serverWrapper.GetMostRecentBuildSpecifiers(projectSpecifier, 2, null)[0]);
            Assert.AreEqual(new DefaultBuildSpecifier(projectSpecifier, "log2"),
                            serverWrapper.GetMostRecentBuildSpecifiers(projectSpecifier, 2, null)[1]);
        }
Example #19
0
        public void ReturnsLatestLogNameFromCorrectProjectOnCorrectServer()
        {
            string         buildName = "mylogformyserverformyproject";
            MockRepository mocks     = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetLatestBuildName(null))
                .IgnoreArguments()
                .Return(buildName);
            });

            mocks.ReplayAll();

            DefaultProjectSpecifier myProjectMyServer = new DefaultProjectSpecifier(new DefaultServerSpecifier("myserver"), "myproject");

            Assert.AreEqual(new DefaultBuildSpecifier(myProjectMyServer, buildName),
                            serverWrapper.GetLatestBuildSpecifier(myProjectMyServer, null));
        }
Example #20
0
        public void GetsProjectFromCorrectServer()
        {
            string         serializedProject = "a serialized project";
            MockRepository mocks             = new MockRepository();
            ServerAggregatingCruiseManagerWrapper serverWrapper = InitialiseServerWrapper(mocks,
                                                                                          delegate(CruiseServerClientBase manager)
            {
                SetupResult.For(manager.GetProject(null))
                .IgnoreArguments()
                .Return(serializedProject);
            });

            mocks.ReplayAll();

            // Execute
            string returnedProject = serverWrapper.GetProject(projectSpecifier, null);

            // Verify
            Assert.AreEqual(serializedProject, returnedProject);
        }
        private ServerAggregatingCruiseManagerWrapper InitialiseServerWrapper(MockRepository mocks,
                                                                              Action <CruiseServerClientBase> additionalSetup)
        {
            IRemoteServicesConfiguration configuration        = mocks.Create <IRemoteServicesConfiguration>().Object;
            ICruiseServerClientFactory   cruiseManagerFactory = mocks.Create <ICruiseServerClientFactory>().Object;
            CruiseServerClientBase       cruiseManager        = mocks.Create <CruiseServerClientBase>().Object;

            ServerLocation[] servers = new ServerLocation[] { serverLocation, otherServerLocation };
            Mock.Get(configuration).SetupGet(_configuration => _configuration.Servers)
            .Returns(servers);
            Mock.Get(cruiseManagerFactory).Setup(_cruiseManagerFactory => _cruiseManagerFactory.GenerateClient(It.IsAny <string>(), It.IsAny <ClientStartUpSettings>()))
            .Returns(cruiseManager);

            ServerAggregatingCruiseManagerWrapper serverWrapper = new ServerAggregatingCruiseManagerWrapper(
                configuration,
                cruiseManagerFactory);

            if (additionalSetup != null)
            {
                additionalSetup(cruiseManager);
            }

            return(serverWrapper);
        }
        public void Setup()
        {
            configurationMock              = new Mock <IRemoteServicesConfiguration>();
            cruiseManagerFactoryMock       = new Mock <ICruiseServerClientFactory>();
            cruiseManagerMock              = new Mock <ICruiseServerClient>();
            serverSpecifier                = new DefaultServerSpecifier("myserver");
            projectSpecifier               = new DefaultProjectSpecifier(serverSpecifier, "myproject");
            buildSpecifier                 = new DefaultBuildSpecifier(projectSpecifier, "mybuild");
            buildSpecifierForUnknownServer = new DefaultBuildSpecifier(new DefaultProjectSpecifier(new DefaultServerSpecifier("unknownServer"), "myProject"), "myBuild");

            managerWrapper = new ServerAggregatingCruiseManagerWrapper(
                (IRemoteServicesConfiguration)configurationMock.Object,
                (ICruiseServerClientFactory)cruiseManagerFactoryMock.Object
                );

            serverLocation                 = new ServerLocation();
            serverLocation.Name            = "myserver";
            serverLocation.Url             = "http://myurl";
            serverLocation.AllowForceBuild = true;

            otherServerLocation      = new ServerLocation();
            otherServerLocation.Name = "myotherserver";
            otherServerLocation.Url  = "http://myotherurl";
        }