Beispiel #1
0
        public void TestGetCredentials()
        {
            EcsRamRoleCredentialProvider providerConfig = new EcsRamRoleCredentialProvider(
                new Config()
            {
                RoleName = "", ConnectTimeout = 1100, Timeout = 1200
            });

            Assert.Throws <CredentialException>(() =>
            {
                TestHelper.RunInstanceMethod(typeof(EcsRamRoleCredentialProvider), "GetCredentials", providerConfig, new object[] { });
            });

            providerConfig = new EcsRamRoleCredentialProvider(
                new Config()
            {
                RoleName = "roleName", ConnectTimeout = 1100, Timeout = 1200
            });
            Assert.Throws <CredentialException>(() =>
            {
                TestHelper.RunInstanceMethod(typeof(EcsRamRoleCredentialProvider), "GetCredentials", providerConfig, new object[] { });
            });
        }
Beispiel #2
0
        public void TestGetRoleNameAsync()
        {
            EcsRamRoleCredentialProvider providerConfig = new EcsRamRoleCredentialProvider(
                new Config()
            {
                RoleName = "", ConnectTimeout = 1100, Timeout = 1200
            });
            Mock <IConnClient> mock         = new Mock <IConnClient>();
            HttpResponse       httpResponse = new HttpResponse("http://www.aliyun.com");

            mock.Setup(p => p.DoActionAsync(It.IsAny <HttpRequest>())).ReturnsAsync(httpResponse);
            Assert.Throws <CredentialException>(() =>
            {
                TestHelper.RunInstanceMethodAsync(typeof(EcsRamRoleCredentialProvider), "GetRoleNameAsync", providerConfig, new object[] { mock.Object });
            });

            httpResponse = new HttpResponse("http://www.aliyun.com")
            {
                Status = 200
            };
            mock.Setup(p => p.DoActionAsync(It.IsAny <HttpRequest>())).ReturnsAsync(httpResponse);
            TestHelper.RunInstanceMethodAsync(typeof(EcsRamRoleCredentialProvider), "GetRoleNameAsync", providerConfig, new object[] { mock.Object });
        }
        public void EcsRamRoleProviderClientTest()
        {
            EcsRamRoleCredentialProvider providerConfig = new EcsRamRoleCredentialProvider(
                new Configuration() { RoleName = "roleName" });
            Assert.Equal("roleName", providerConfig.RoleName);

            providerConfig = new EcsRamRoleCredentialProvider(
                new Configuration() { RoleName = "roleName", ConnectTimeout = 1100, ReadTimeout = 1200 });
            Mock<IConnClient> mock = new Mock<IConnClient>();
            HttpResponse httpResponse = new HttpResponse("http://www.aliyun.com");
            mock.Setup(p => p.DoAction(It.IsAny<HttpRequest>())).Returns(httpResponse);
            Assert.Throws<CredentialException>(() =>
            {
                TestHelper.RunInstanceMethod(typeof(EcsRamRoleCredentialProvider), "CreateCredential", providerConfig, new object[] { mock.Object });
            });

            httpResponse = new HttpResponse("http://www.aliyun.com") { Status = 200 };
            mock.Setup(p => p.DoAction(It.IsAny<HttpRequest>())).Returns(httpResponse);
            Assert.Throws<CredentialException>(() =>
            {
                TestHelper.RunInstanceMethod(typeof(EcsRamRoleCredentialProvider), "CreateCredential", providerConfig, new object[] { mock.Object });
            });

            httpResponse = new HttpResponse("http://www.aliyun.com") { Status = 200, Encoding = "UTF-8", ContentType = FormatType.Json, Content = Encoding.UTF8.GetBytes("{\"Code\":\"fail\",  \"AccessKeyId\":\"test\", \"AccessKeySecret\":\"test\"}") };
            mock.Setup(p => p.DoAction(It.IsAny<HttpRequest>())).Returns(httpResponse);
            Assert.Throws<CredentialException>(() =>
            {
                TestHelper.RunInstanceMethod(typeof(EcsRamRoleCredentialProvider), "CreateCredential", providerConfig, new object[] { mock.Object });
            });

            httpResponse = new HttpResponse("http://www.aliyun.com") { Status = 200, Encoding = "UTF-8", ContentType = FormatType.Json, Content = Encoding.UTF8.GetBytes("{\"Code\":\"Success\",  \"AccessKeyId\":\"test\", \"AccessKeySecret\":\"test\", \"SecurityToken\":\"test\",  \"Expiration\":\"2019-08-08T1:1:1Z\"}") };
            mock.Setup(p => p.DoAction(It.IsAny<HttpRequest>())).Returns(httpResponse);

            EcsRamRoleCredential credential = (EcsRamRoleCredential) TestHelper.RunInstanceMethod(typeof(EcsRamRoleCredentialProvider), "CreateCredential", providerConfig, new object[] { mock.Object });
            Assert.NotNull(credential);
        }