public void SendHeartbeat_Always_PerformsSendbeatRequest() { // Arrange var restResponse = new RestResponse(); restResponse.StatusCode = HttpStatusCode.OK; var dataNodeId = Guid.NewGuid(); var restRequest = new RestRequest("/DataNodeProtocol/SendHeartbeat", Method.POST); restRequest.AddJsonBody(dataNodeId); _mockRestClient.Setup(x => x.Execute(It.IsAny <RestRequest>())).Returns(restResponse); var sut = new DataNodeProtocol(_mockRestClient.Object); // Act sut.SendHeartbeat(dataNodeId); // Assert _mockRestClient.Verify(x => x.Execute(It.Is <RestRequest>(r => VerifyRestRequest(restRequest, r)))); }
public void SendHeartbeat_Always_SetsLastUpdatesTicksToNow() { // Arrange var stubDateTimeProvider = new Mock <IDateTimeProvider>(); var now = new DateTime(999); stubDateTimeProvider.Setup(x => x.Now).Returns(now); var mockDataNodeRepository = new Mock <IDataNodeRepository>(); var dataNodeID = Guid.NewGuid(); var stubLoggerFactory = new Mock <ILoggerFactory>(); stubLoggerFactory.Setup(x => x.CreateLogger(It.IsAny <String>())).Returns(new Mock <ILogger>().Object); var dataNodeProtocol = new DataNodeProtocol(stubLoggerFactory.Object, mockDataNodeRepository.Object, stubDateTimeProvider.Object); // Act dataNodeProtocol.SendHeartbeat(dataNodeID); // Assert mockDataNodeRepository.Verify(x => x.SetLastUpdateTicks(dataNodeID, now.Ticks), Times.Once); }
public void RegisterDataNode_WhenNodeNotPreviouslyRegistered_DataNodeIsRegistered() { // Arrange var stubDataNodeRepository = new Mock <IDataNodeRepository>(); var stubDataNodeId = new Mock <IDataNodeId>(); var expectedDataNodeID = Guid.NewGuid(); stubDataNodeRepository.Setup(x => x.AddDataNode(stubDataNodeId.Object)).Returns(expectedDataNodeID); var stubDateTimeProvider = new Mock <IDateTimeProvider>(); // TODO - see this post re. ILoggerFactory -> https://stackoverflow.com/questions/45221362/how-to-moq-mock-a-loggerfactory-in-c-sharp-aspnet-core var stubLoggerFactory = new Mock <ILoggerFactory>(); stubLoggerFactory.Setup(x => x.CreateLogger(It.IsAny <String>())).Returns(new Mock <ILogger>().Object); var dataNodeProtocol = new DataNodeProtocol(stubLoggerFactory.Object, stubDataNodeRepository.Object, stubDateTimeProvider.Object); // Act var dataNodeID = dataNodeProtocol.RegisterDataNode(stubDataNodeId.Object); // Assert Assert.AreEqual(expectedDataNodeID, dataNodeID); }
public void RegisterDataNode_Always_PerformsRegisterRequest() { // Arrange var restResponse = new RestResponse <Guid>(); restResponse.StatusCode = HttpStatusCode.OK; restResponse.Data = Guid.NewGuid(); var dataNodeId = new DataNodeId(); var restRequest = new RestRequest("/DataNodeProtocol/Register", Method.POST); restRequest.AddJsonBody(dataNodeId); _mockRestClient.Setup(x => x.Execute <Guid>(It.IsAny <RestRequest>())).Returns(restResponse); var sut = new DataNodeProtocol(_mockRestClient.Object); // Act var result = sut.RegisterDataNode(dataNodeId); // Assert Assert.AreEqual(restResponse.Data, result); _mockRestClient.Verify(x => x.Execute <Guid>(It.Is <RestRequest>(r => VerifyRestRequest(restRequest, r)))); }