Skip to content
This repository was archived by the owner on Feb 12, 2025. It is now read-only.

Rhino.Mocks to Moq migration #281

Merged
merged 3 commits into from
Jan 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion ccnet.build
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<property name="fxcop.executable" readonly="true" value="${path::combine( path::combine(tools.dir, 'FxCop'), 'FxCopCmd.exe')}" />
<property name="nunit.executable" readonly="true" value="${path::combine( path::combine(tools.dir, 'NUnit'), 'nunit-console-x86.exe')}" />
<property name="nsis.executable" readonly="true" value="${path::combine( path::combine(tools.dir, 'NSIS'), 'makensis.exe')}" />
<property name="nuget.executable" readonly="true" value="${environment::get-variable('NUGET_EXE')}" />

<!-- common assembly info properties -->
<property name="assembly.company" readonly="true" value="ThoughtWorks Inc." />
Expand Down Expand Up @@ -82,6 +83,16 @@
</delete>
</target>

<target name="restore" description="Restore the nuget packages">
<if test="${not file::exists(nuget.executable)}">
<echo level="Warning" message="NuGet installation not found." />
</if>
<exec program="${nuget.executable}" if="${file::exists(nuget.executable)}">
<arg value="restore"/>
<arg value="${path::combine(src.dir, build.project)}"/>
</exec>
</target>

<target name="init" description="Initial compilation setup">
<mkdir dir="${build.dir}" unless="${directory::exists(build.dir)}" verbose="${nant.verbosity}" />
<mkdir dir="${build.metrics.dir}" unless="${directory::exists(build.metrics.dir)}" verbose="${nant.verbosity}" />
Expand All @@ -106,7 +117,7 @@
</asminfo>
</target>

<target name="build" depends="init, createAssemblyInfo" description="Compilation of the build project">
<target name="build" depends="restore, init, createAssemblyInfo" description="Compilation of the build project">
<loadtasks assembly="${nauckit.nant.assembly}" />

<echo message="Build configuration: ${build.configuration}" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using Rhino.Mocks;
using Rhino.Mocks.Constraints;
using Moq;
using NUnit.Framework;
using ThoughtWorks.CruiseControl.CCTrayLib.Configuration;
using ThoughtWorks.CruiseControl.CCTrayLib.Monitoring;
Expand All @@ -13,31 +12,29 @@ namespace ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring
public class CruiseProjectManagerFactoryTest
{
private const string ProjectName = "projectName";
private MockRepository mocks = new MockRepository();
private MockRepository mocks = new MockRepository(MockBehavior.Default);

[SetUp]
public void SetUp()
{
mocks = new MockRepository();
mocks = new MockRepository(MockBehavior.Default);
}

[Test]
public void WhenRequestingACruiseProjectManagerWithATcpUrlAsksTheCruiseManagerFactory()
{
var serverAddress = "tcp://somethingOrOther";

var client = mocks.DynamicMock<CruiseServerClientBase>();
var clientFactory = mocks.StrictMock<ICruiseServerClientFactory>();
Expect.Call(clientFactory.GenerateRemotingClient(serverAddress, new ClientStartUpSettings()))
.Constraints(new Equal(serverAddress), new Anything())
.Return(client);
var client = mocks.Create<CruiseServerClientBase>().Object;
var clientFactory = mocks.Create<ICruiseServerClientFactory>(MockBehavior.Strict).Object;
Mock.Get(clientFactory).Setup(_clientFactory => _clientFactory.GenerateRemotingClient(serverAddress, It.IsAny<ClientStartUpSettings>()))
.Returns(client);
var factory = new CruiseProjectManagerFactory(clientFactory);

var server= new BuildServer(serverAddress);

var serverManagers = new Dictionary<BuildServer, ICruiseServerManager>();
serverManagers[server] = new HttpCruiseServerManager(client, server);
mocks.ReplayAll();

var manager = factory.Create(new CCTrayProject(server, ProjectName), serverManagers);
Assert.AreEqual(ProjectName, manager.ProjectName);
Expand All @@ -50,18 +47,16 @@ public void WhenRequestingACruiseProjectManagerWithAnHttpUrlConstructsANewDashbo
{
var serverAddress = "http://somethingOrOther";
var server = new BuildServer(serverAddress);
var client = mocks.DynamicMock<CruiseServerClientBase>();
var client = mocks.Create<CruiseServerClientBase>().Object;

var clientFactory = mocks.StrictMock<ICruiseServerClientFactory>();
Expect.Call(clientFactory.GenerateHttpClient(serverAddress, new ClientStartUpSettings()))
.Constraints(new Equal(serverAddress), new Anything())
.Return(client);
var clientFactory = mocks.Create<ICruiseServerClientFactory>(MockBehavior.Strict).Object;
Mock.Get(clientFactory).Setup(_clientFactory => _clientFactory.GenerateHttpClient(serverAddress, It.IsAny<ClientStartUpSettings>()))
.Returns(client);
var factory = new CruiseProjectManagerFactory(clientFactory);

var serverManagers = new Dictionary<BuildServer, ICruiseServerManager>();
serverManagers[server] = new HttpCruiseServerManager(client, server);

mocks.ReplayAll();
var manager = factory.Create(new CCTrayProject(server, ProjectName), serverManagers);
Assert.AreEqual(ProjectName, manager.ProjectName);
Assert.AreEqual(typeof(HttpCruiseProjectManager), manager.GetType());
Expand All @@ -73,11 +68,10 @@ public void WhenRequestingACruiseProjectManagerWithAnHttpUrlConstructsANewDashbo
public void WhenRequestingACruiseProjectManagerWithAnExtensionProtocolValidExtension()
{
var server = new BuildServer("http://somethingOrOther", BuildServerTransport.Extension, "ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring.ExtensionProtocolStub,ThoughtWorks.CruiseControl.UnitTests",string.Empty);
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
var mockCruiseManagerFactory = mocks.Create<ICruiseServerClientFactory>(MockBehavior.Strict).Object;
var factory = new CruiseProjectManagerFactory(mockCruiseManagerFactory);
var serverManagers = new Dictionary<BuildServer, ICruiseServerManager>();

mocks.ReplayAll();
var manager = factory.Create(new CCTrayProject(server, ProjectName), serverManagers);
Assert.AreEqual(ProjectName, manager.ProjectName);

Expand All @@ -88,10 +82,9 @@ public void WhenRequestingACruiseProjectManagerWithAnExtensionProtocolValidExten
public void GetProjectListWithAnExtensionProtocolValidExtension()
{
var server = new BuildServer("http://somethingOrOther", BuildServerTransport.Extension, "ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring.ExtensionProtocolStub,ThoughtWorks.CruiseControl.UnitTests",string.Empty);
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
var mockCruiseManagerFactory = mocks.Create<ICruiseServerClientFactory>(MockBehavior.Strict).Object;
var factory = new CruiseProjectManagerFactory(mockCruiseManagerFactory);

mocks.ReplayAll();
CCTrayProject[] projectList = factory.GetProjectList(server, false);
Assert.AreNotEqual(0, projectList.Length);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
using Rhino.Mocks;
using NUnit.Framework;
using System;
using Moq;
using NUnit.Framework;
using ThoughtWorks.CruiseControl.CCTrayLib.Configuration;
using ThoughtWorks.CruiseControl.CCTrayLib.Monitoring;
using ThoughtWorks.CruiseControl.Core;
using ThoughtWorks.CruiseControl.Remote;
using Rhino.Mocks.Constraints;
using ThoughtWorks.CruiseControl.CCTrayLib;

namespace ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring
{
[TestFixture]
public class CruiseServerManagerFactoryTest
{
private MockRepository mocks = new MockRepository();
private MockRepository mocks = new MockRepository(MockBehavior.Default);

[Test]
public void WhenRequestingACruiseServerManagerWithATCPUrlAsksTheCruiseManagerFactory()
{
var serverAddress = @"tcp://1.2.3.4";
var server = new BuildServer(serverAddress);
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
var mockCruiseManagerFactory = mocks.Create<ICruiseServerClientFactory>(MockBehavior.Strict).Object;
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);
var client = mocks.Create<CruiseServerClientBase>().Object;
Mock.Get(mockCruiseManagerFactory).Setup(clientFactory => clientFactory.GenerateRemotingClient(serverAddress, It.IsAny<ClientStartUpSettings>()))
.Returns(client);

mocks.ReplayAll();
var manager = factory.Create(server);
Assert.AreEqual(server.Url, manager.Configuration.Url);
Assert.AreEqual(typeof (CachingCruiseServerManager), manager.GetType());
Expand All @@ -38,17 +35,15 @@ public void WhenRequestingACruiseServerManagerWithATCPUrlAsksTheCruiseManagerFac
[Test]
public void WhenRequestingACruiseServerManagerWithAnHttpUrlConstructsANewHttpServerManagerDecoratedWithACachingServerManager()
{
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
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.DynamicMock<CruiseServerClientBase>();
Expect.Call(mockCruiseManagerFactory.GenerateHttpClient(serverAddress, new ClientStartUpSettings()))
.Constraints(new Equal(serverAddress), new Anything())
.Return(client);
var client = mocks.Create<CruiseServerClientBase>().Object;
Mock.Get(mockCruiseManagerFactory).Setup(clientFactory => clientFactory.GenerateHttpClient(serverAddress, It.IsAny<ClientStartUpSettings>()))
.Returns(client);

mocks.ReplayAll();
var manager = factory.Create(server);
Assert.AreEqual(server.Url, manager.Configuration.Url);
Assert.AreEqual(typeof (CachingCruiseServerManager), manager.GetType());
Expand All @@ -59,53 +54,49 @@ public void WhenRequestingACruiseServerManagerWithAnHttpUrlConstructsANewHttpSer
[Test(Description = "Unable to find extension 'Extension.Unknown,Extension'")]
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolCannotFindExtension()
{
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
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);

mocks.ReplayAll();
Assert.That(delegate { factory.Create(server); }, Throws.TypeOf<CCTrayLibException>());
}

[Test]
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolEmptyExtension()
{
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
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;

mocks.ReplayAll();
Assert.That(delegate { factory.Create(server); },
Throws.TypeOf<ArgumentOutOfRangeException>().With.Property("ParamName").EqualTo("name"));
}

[Test(Description = "Extension 'CruiseServerManagerFactoryTest'does not implement ITransportExtension")]
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolCannotInvalidExtension()
{
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
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.CruiseServerManagerFactoryTest,ThoughtWorks.CruiseControl.UnitTests",
string.Empty);

mocks.ReplayAll();
Assert.That(delegate { factory.Create(server); }, Throws.TypeOf<CCTrayLibException>());
}

[Test]
public void WhenRequestingACruiseServerManagerWithAnExtensionProtocolValidExtension()
{
var mockCruiseManagerFactory = mocks.StrictMock<ICruiseServerClientFactory>();
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");

mocks.ReplayAll();
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");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
using System;
using Rhino.Mocks;
using System.Collections.Generic;
using System.Linq;
using Moq;
using NUnit.Framework;
using ThoughtWorks.CruiseControl.CCTrayLib.Configuration;
using ThoughtWorks.CruiseControl.CCTrayLib.Monitoring;
using System.Collections.Generic;
using ThoughtWorks.CruiseControl.Remote;

namespace ThoughtWorks.CruiseControl.UnitTests.CCTrayLib.Monitoring
{
[TestFixture]
public class HttpCruiseProjectManagerTest
{
private MockRepository mocks = new MockRepository();
private MockRepository mocks = new MockRepository(MockBehavior.Default);
private HttpCruiseProjectManager manager;
private ICruiseServerManager serverManagerMock;
private CruiseServerClientBase serverClient;
Expand All @@ -35,23 +36,22 @@ public class HttpCruiseProjectManagerTest
[SetUp]
public void SetUp()
{
serverClient = mocks.DynamicMock<CruiseServerClientBase>();
serverClient = mocks.Create<CruiseServerClientBase>().Object;
manager = new HttpCruiseProjectManager(serverClient, "yyy");
}

[Test]
public void ShouldNotThrowExceptionsOnCreation()
{
new HttpCruiseProjectManager(mocks.StrictMock<CruiseServerClientBase>(),
new HttpCruiseProjectManager(mocks.Create<CruiseServerClientBase>(MockBehavior.Strict).Object,
"foo");
}

[Test]
public void ShouldNotUseTheWebRetrieverOrServerManagerOnCreation()
{
var client = mocks.StrictMock<CruiseServerClientBase>();
var client = mocks.Create<CruiseServerClientBase>(MockBehavior.Strict).Object;

mocks.ReplayAll();
new HttpCruiseProjectManager(client, "foo");
mocks.VerifyAll();
}
Expand All @@ -61,12 +61,8 @@ public void ForceBuild()
{
Dictionary<string, string> parameters = new Dictionary<string, string>();

Expect.Call(serverClient.SessionToken).PropertyBehavior();
Expect.Call(() =>
{
serverClient.ForceBuild("yyy", NameValuePair.FromDictionary(parameters));
});
mocks.ReplayAll();
Mock.Get(serverClient).SetupSet(_serverClient => _serverClient.SessionToken = It.IsAny<string>());
Mock.Get(serverClient).Setup(_serverClient => _serverClient.ForceBuild("yyy", It.Is<List<NameValuePair>>(_parameters => _parameters.SequenceEqual(NameValuePair.FromDictionary(parameters)))));

manager.ForceBuild(null, parameters, null);
mocks.VerifyAll();
Expand All @@ -75,38 +71,26 @@ public void ForceBuild()
[Test]
public void AbortBuild()
{
Expect.Call(serverClient.SessionToken).PropertyBehavior();
Expect.Call(() =>
{
serverClient.AbortBuild("yyy");
});
mocks.ReplayAll();
Mock.Get(serverClient).SetupSet(_serverClient => _serverClient.SessionToken = It.IsAny<string>());
Mock.Get(serverClient).Setup(_serverClient => _serverClient.AbortBuild("yyy"));
manager.AbortBuild(null,"John Do");
mocks.VerifyAll();
}

[Test]
public void StartProject()
{
Expect.Call(serverClient.SessionToken).PropertyBehavior();
Expect.Call(() =>
{
serverClient.StartProject("yyy");
});
mocks.ReplayAll();
Mock.Get(serverClient).SetupSet(_serverClient => _serverClient.SessionToken = It.IsAny<string>());
Mock.Get(serverClient).Setup(_serverClient => _serverClient.StartProject("yyy"));
manager.StartProject(null);
mocks.VerifyAll();
}

[Test]
public void StopProject()
{
Expect.Call(serverClient.SessionToken).PropertyBehavior();
Expect.Call(() =>
{
serverClient.StopProject("yyy");
});
mocks.ReplayAll();
Mock.Get(serverClient).SetupSet(_serverClient => _serverClient.SessionToken = It.IsAny<string>());
Mock.Get(serverClient).Setup(_serverClient => _serverClient.StopProject("yyy"));
manager.StopProject(null);
mocks.VerifyAll();
}
Expand Down
Loading