Exemple #1
0
        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);
        }
Exemple #4
0
        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))));
        }