public void AddBlock_Always_PerformsAddBlockRequestAndReturnsLocatedBlock() { // Arrange var restResponse = new RestResponse <LocatedBlock>(); restResponse.StatusCode = HttpStatusCode.OK; var locatedBlock = new LocatedBlock(); restResponse.Content = JsonConvert.SerializeObject(locatedBlock); var restRequest = new RestRequest("/ClientProtocol/AddBlock", Method.POST); restRequest.AddParameter(srcFile, testSrcFile); _mockRestClient.Setup(x => x.Execute <LocatedBlock>(It.IsAny <RestRequest>())).Returns(restResponse); var sut = new ClientProtocol(_mockRestClient.Object); // Act var result = sut.AddBlock(testSrcFile); // Assert _mockRestClient.Verify(x => x.Execute <LocatedBlock>(It.Is <RestRequest>(r => VerifyRestRequest(restRequest, r)))); Assert.AreEqual(result.Block, locatedBlock.Block); Assert.AreEqual(result.Locations, locatedBlock.Locations); }
public void AddBlock_ValidFile_AllocatesBlockAndReturnsLocatedBlock() { var stubFileSystem = new Mock <IFileSystem>(); var file = new File(); stubFileSystem.Setup(x => x.GetFile(It.IsAny <string>())).Returns(file); var stubDataNodeRepository = new Mock <IDataNodeRepository>(); var dataNodeId = Guid.NewGuid(); stubDataNodeRepository.Setup(x => x.GetRandomDataNodeId()).Returns(dataNodeId); var dataNodeID = new DataNodeId() { HostName = "HostName", IPAddress = "IPAddress" }; stubDataNodeRepository.Setup(x => x.GetDataNodeDescriptorById(dataNodeId)).Returns(dataNodeID); var clientProtocol = new ClientProtocol(stubFileSystem.Object, stubDataNodeRepository.Object); var result = clientProtocol.AddBlock("testFile"); Assert.That(result.Locations, Has.Exactly(1).Matches <DataNodeId>(x => x.HostName == dataNodeID.HostName && x.IPAddress == dataNodeID.IPAddress)); }