Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }