public async Task CalculatesSignatureForExpectedRequestForSigning() { var composedString = "{the composed string}"; HttpRequestForSigning interceptedRequest = null; A.CallTo(() => _signingStringComposer.Compose( A <HttpRequestForSigning> ._, _settings.SignatureAlgorithm.Name, _settings.Headers, _timeOfSigning, _settings.Expires, _nonce)) .Invokes(call => interceptedRequest = call.GetArgument <HttpRequestForSigning>(0)) .Returns(composedString); await _sut.CreateSignature(_httpRequestMessage, _settings, _timeOfSigning); interceptedRequest.Should().BeEquivalentTo(new HttpRequestForSigning { Method = HttpMethod.Post, RequestUri = "/api/resource/id1", Headers = new HeaderDictionary(new Dictionary <string, StringValues> { { "H1", "v1" } }) }); }
public async Task CalculatesSignatureForExpectedRequest() { var compositionRequest = new SigningStringCompositionRequest(); HttpRequestForSigning interceptedRequest = null; SigningSettings interceptedSigningSettings = null; DateTimeOffset? interceptedTimeOfSigning = null; TimeSpan?interceptedExpires = null; A.CallTo(() => _stringCompositionRequestFactory.CreateForSigning(A <HttpRequestForSigning> ._, A <SigningSettings> ._, A <DateTimeOffset?> ._, A <TimeSpan?> ._)) .Invokes(call => { interceptedRequest = call.GetArgument <HttpRequestForSigning>(0); interceptedSigningSettings = call.GetArgument <SigningSettings>(1); interceptedTimeOfSigning = call.GetArgument <DateTimeOffset?>(2); interceptedExpires = call.GetArgument <TimeSpan?>(3); }) .Returns(compositionRequest); var composedString = "{the composed string}"; A.CallTo(() => _signingStringComposer.Compose(A <SigningStringCompositionRequest> ._)) .Returns(composedString); await _sut.CreateSignature(_httpRequestMessage, _settings, _timeOfSigning, _expires); interceptedRequest.Should().BeEquivalentTo(new HttpRequestForSigning { Method = HttpMethod.Post, RequestUri = "http://dalion.eu/api/resource/id1".ToUri(), Headers = new HeaderDictionary(new Dictionary <string, StringValues> { { "H1", "v1" } }) }); interceptedSigningSettings.Should().Be(_settings); interceptedTimeOfSigning.Should().Be(_timeOfSigning); interceptedExpires.Should().Be(_expires); }