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); }
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(); }); }