public void RamRoleArnProviderTest()
        {
            Configuration config = new Configuration()
            {
                AccessKeyId = "accessKeyId", AccessKeySecret = "accessKeySecret", RoleArn = "roleArn"
            };
            RamRoleArnCredentialProvider provider = new RamRoleArnCredentialProvider(config);

            Assert.NotNull(provider);

            provider = new RamRoleArnCredentialProvider("accessKeyID", "accessKeySecret", "roleSessionName", "roleArn", "regionId", "policy");
            Assert.Throws <CredentialException>(() => { provider.GetCredentials(); });

            Mock <IConnClient> mock     = new Mock <IConnClient>();
            HttpResponse       response = new HttpResponse("http://www.aliyun.com")
            {
                Status = 200, Encoding = "UTF-8", Content = Encoding.UTF8.GetBytes("{\"Credentials\":{\"Expiration\":\"2019-01-01T1:1:1Z\",\"AccessKeyId\":\"test\"," +
                                                                                   "\"AccessKeySecret\":\"test\",\"SecurityToken\":\"test\"}}")
            };

            mock.Setup(p => p.DoAction(It.IsAny <HttpRequest>())).Returns(response);
            Assert.IsType <RamRoleArnCredential>(TestHelper.RunInstanceMethod(typeof(RamRoleArnCredentialProvider), "CreateCredential", provider, new object[] { mock.Object }));

            Mock <IAlibabaCloudCredentialsProvider> mockProvider = new Mock <IAlibabaCloudCredentialsProvider>();

            mockProvider.Setup(p => p.GetCredentials()).Returns(new RamRoleArnCredential("accessKeyId", "accessKeySecret", "securityToken", 64090527132000L, null));
            RamRoleArnCredential credentialMock = new RamRoleArnCredential("accessKeyId", "accessKeySecret", "securityToken", 1000L, mockProvider.Object);

            credentialMock.RefreshCredential();
            Assert.NotNull(credentialMock);
        }
Example #2
0
        public async Task DefaultProviderAsyncTest()
        {
            DefaultCredentialsProvider provider = new DefaultCredentialsProvider();

            Assert.NotNull(provider);
            await Assert.ThrowsAsync <CredentialException>(async() => { await provider.GetCredentialsAsync(); });

            RamRoleArnCredentialProvider testProvider = new RamRoleArnCredentialProvider("accessKeyId2", "accessKeySecret", "roleArn");

            provider.AddCredentialsProvider(testProvider);
            provider.RemoveCredentialsProvider(testProvider);
            Assert.False(provider.ContainsCredentialsProvider(testProvider));
            provider.ClearCredentialsProvider();

            Mock <IAlibabaCloudCredentialsProvider> mockProvider = new Mock <IAlibabaCloudCredentialsProvider>();

            mockProvider.Setup(p => p.GetCredentialsAsync()).ReturnsAsync((AccessKeyCredential)null);
            provider.AddCredentialsProvider(mockProvider.Object);
            await Assert.ThrowsAsync <CredentialException>(async() => { await provider.GetCredentialsAsync(); });

            provider.ClearCredentialsProvider();

            mockProvider = new Mock <IAlibabaCloudCredentialsProvider>();
            mockProvider.Setup(p => p.GetCredentialsAsync()).ReturnsAsync(new AccessKeyCredential("accessKeyId", "accessKeySecret"));
            provider.AddCredentialsProvider(mockProvider.Object);
            Assert.IsType <AccessKeyCredential>(await provider.GetCredentialsAsync());

            provider.ClearCredentialsProvider();
            await Assert.ThrowsAsync <CredentialException>(async() => { await provider.GetCredentialsAsync(); });
        }