public void RefreshSignParameters() { RoaSignatureComposer.ClearComposer(); var instance = new RoaSignatureComposer(); var parameters = new Dictionary <string, string> { { "foo", "bar" }, { "a", "A" }, { "nullValue", null } }; var mock = new Mock <Signer>(); mock.Setup(foo => foo.GetSignerType()).Returns("MockSigner"); var signer = mock.Object; var context = new UnmarshallerContext(); context.ResponseDictionary = instance.RefreshSignParameters(parameters, signer, "accessKeyId", FormatType.JSON); Assert.Equal("MockSigner", context.StringValue("x-acs-signature-type")); var hmacSHA1Signer = new HmacSHA1Signer(); context.ResponseDictionary = instance.RefreshSignParameters(parameters, hmacSHA1Signer, "accessKeyId", null); Assert.Null(context.StringValue("x-acs-signature-type")); }
public void ReplaceOccupiedParameters() { RoaSignatureComposer.ClearComposer(); var tmp = new Dictionary <string, string> { { "foo", "bar" }, { "a", "A" }, { "b", "B" } }; var result = RoaSignatureComposer.ReplaceOccupiedParameters("url?a=[a]&foo=[foo]&b=[b]", tmp); Assert.Equal("url?a=A&foo=bar&b=B", result); }
public void ComposeStringToSign() { RoaSignatureComposer.ClearComposer(); var tmp = new Dictionary <string, string> { { "foo", "bar" }, { "a", "A" }, { "nullValue", null } }; var method = MethodType.GET; Signer signer = new HmacSHA1Signer(); var instance = RoaSignatureComposer.GetComposer(); var result = instance.ComposeStringToSign(method, "www.alibabacloud.com?", signer, tmp, tmp, tmp); Assert.Equal("GET\n\n\n\n\nwww.alibabacloud.com?&a=A&foo=bar&nullValue", result); }