public void GetHandler_WhenNoTypeFound_ShouldReturnNull() { // Arrange Mock<IResponseHandler> responseHandlerMock = new Mock<IResponseHandler>(); // Act ResponseHandlerFactory target = new ResponseHandlerFactory(responseHandlerMock.Object); var actual = target.GetHandler(typeof(Mock)); // Assert actual.Should().Be.Null(); }
public void GetHandler_WhenCalled_ShouldReturnHandler() { // Arrange Mock<IResponseHandler> responseHandlerMock = new Mock<IResponseHandler>(); // Act ResponseHandlerFactory target = new ResponseHandlerFactory(responseHandlerMock.Object); var actual = target.GetHandler(responseHandlerMock.Object.GetType()); // Assert actual.Should().Equal(responseHandlerMock.Object); }
public void Execute_WhenCalledWithNoParameters_ShouldReturnTrue() { // Arrange const string response = "Test Response"; Mock<IParameters> parameters = new Mock<IParameters>(); // Act ResponseHandlerFactory target = new ResponseHandlerFactory(); var actual = target.Execute(parameters.Object, response); // Assert actual.Should().Be.True(); }
/// <summary> /// Constructor /// </summary> /// <param name="advisoryDelayHandler"> /// Class which handles the apprioriate delay before the request is called. /// It is required that this class be passed into the method because the same instance of the <see cref="AdvisoryDelayHandler"/> must be passed in on every request. /// </param> /// <param name="randomService"><see cref="IRandomService"/> to use to get random values. Defaults to <see cref="RandomOrgApiService"/></param> public StringSignedMethod(AdvisoryDelayHandler advisoryDelayHandler, IRandomService randomService = null) : base(advisoryDelayHandler, randomService) { var verifySignatureHandler = new VerifySignatureHandler(RandomService); BeforeRequestCommandFactory = new BeforeRequestCommandFactory(advisoryDelayHandler, verifySignatureHandler); ResponseHandlerFactory = new ResponseHandlerFactory( new ErrorHandlerThrowException(new ErrorParser()), verifySignatureHandler, advisoryDelayHandler, new VerifyIdResponseHandler(), ResponseParser ); }
/// <summary> /// Constructor /// </summary> /// <param name="advisoryDelayHandler"> /// Class which handles the apprioriate delay before the request is called. /// It is required that this class be passed into the method because the same instance of the <see cref="AdvisoryDelayHandler"/> must be passed in on every request. /// </param> /// <param name="randomService"><see cref="IRandomService"/> to use to get random values. Defaults to <see cref="RandomOrgApiService"/></param> public BlobSignedMethod(AdvisoryDelayHandler advisoryDelayHandler, IRandomService randomService = null) : base(advisoryDelayHandler, randomService) { // We just need to setup the Verification Signature class, other than that everything else is the same. var verifySignatureHandler = new VerifySignatureHandler(RandomService); BeforeRequestCommandFactory = new BeforeRequestCommandFactory(advisoryDelayHandler, verifySignatureHandler); ResponseHandlerFactory = new ResponseHandlerFactory( new ErrorHandlerThrowException(new ErrorParser()), verifySignatureHandler, advisoryDelayHandler, new VerifyIdResponseHandler(), ResponseParser ); }
public void Execute_WhenCalledWithResponseHandlerThatReturnsFalse_ShouldReturnFalse() { // Arrange const string response = "Test Response"; Mock<IParameters> parameters = new Mock<IParameters>(); Mock<IResponseHandler> responseHandlerMock = new Mock<IResponseHandler>(); responseHandlerMock.Setup(m => m.Handle(parameters.Object, response)).Returns(false); // Act ResponseHandlerFactory target = new ResponseHandlerFactory(responseHandlerMock.Object); var actual = target.Execute(parameters.Object, response); // Assert actual.Should().Be.False(); }
public async Task GenerateAsync_WhenCalledWithResponseHandlerThatReturnsFalse_ShouldReturnFalse() { // Arrange const string request = "SomeRequest"; Mock<IParameters> parameters = new Mock<IParameters>(); Mock<IRequestBuilder> requestBuilderMock = new Mock<IRequestBuilder>(); requestBuilderMock.Setup(m => m.Build(parameters.Object)).Returns(request); Mock<IRandomService> randomServiceMock = new Mock<IRandomService>(); randomServiceMock.Setup(m => m.SendRequest(request)); Mock<IBeforeRequestCommandFactory> requestCommandMock = new Mock<IBeforeRequestCommandFactory>(); requestCommandMock.Setup(m => m.Execute(parameters.Object)); Mock<IResponseHandler> responseHandlerMock = new Mock<IResponseHandler>(); responseHandlerMock.Setup(m => m.CanHandle(parameters.Object)).Returns(true); responseHandlerMock.Setup(m => m.Handle(parameters.Object, It.IsAny<string>())).Returns(false); ResponseHandlerFactory responseHandlerFactory = new ResponseHandlerFactory(responseHandlerMock.Object); // Act MethodCallBroker target = new MethodCallBroker(requestBuilderMock.Object, randomServiceMock.Object, requestCommandMock.Object, responseHandlerFactory); var actual = await target.GenerateAsync(parameters.Object); // Assert actual.Should().Be.False(); }