protected Mock<IEnvironmentConnection> CreateMockConnection(Random rand, params string[] sources)
{
var connection = new Mock<IEnvironmentConnection>();
connection.Setup(c => c.ServerID).Returns(Guid.NewGuid());
connection.SetupGet(c => c.WorkspaceID).Returns(WorkspaceId);
connection.SetupGet(c => c.ServerID).Returns(ServerId);
connection.Setup(c => c.AppServerUri)
.Returns(new Uri(string.Format("http://127.0.0.{0}:{1}/dsf", rand.Next(1, 100), rand.Next(1, 100))));
connection.Setup(c => c.WebServerUri)
.Returns(new Uri(string.Format("http://127.0.0.{0}:{1}", rand.Next(1, 100), rand.Next(1, 100))));
connection.Setup(c => c.IsConnected).Returns(true);
int cnt = 0;
connection.Setup(c => c.ExecuteCommand(It.IsAny<StringBuilder>(), It.IsAny<Guid>()))
.Returns(
() =>
{
if (cnt == 0)
{
cnt++;
return new StringBuilder(string.Format("<XmlData>{0}</XmlData>", string.Join("\n", sources)));
}
return new StringBuilder(JsonConvert.SerializeObject(new ExecuteMessage()));
}
);
connection.Setup(c => c.ServerEvents).Returns(new EventPublisher());
return connection;
}