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 void GetCredentialFileAlibabaCloudCredentialWithRamRole() { var ramRoleCredential = new RamRoleArnCredential("fakeak", "fakeaks", "fakeroleArn", "fakesessionname", "fakesessiontokne", 4000); var homePath = (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.Unix) ? Environment.GetEnvironmentVariable("HOME") : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%"); TestHelper.CreateIniFileWithRam(homePath); var slash = (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.Unix) ? "/" : "\\"; var finalLocation = homePath + slash + ".alibabacloud" + slash + "credentials.ini"; var configurtion = Configuration.LoadFromFile(finalLocation); DefaultProfile profile = DefaultProfile.GetProfile(); profile.DefaultClientName = "default"; Mock <Core.Auth.Provider.DefaultCredentialProvider> mockDefaultCredentialProvider = new Mock <Core.Auth.Provider.DefaultCredentialProvider>(profile); mockDefaultCredentialProvider.Setup(x => x.GetRamRoleArnAlibabaCloudCredential()).Returns(ramRoleCredential); mockDefaultCredentialProvider.Setup(x => x.GetHomePath()).Returns(homePath); mockDefaultCredentialProvider.Setup(x => x.LoadFileFromIni(It.IsAny <string>())).Returns(configurtion); var defaultCredentialProvider = mockDefaultCredentialProvider.Object; var credential = (RamRoleArnCredential)defaultCredentialProvider.GetAlibabaCloudClientCredential(); TestHelper.DeleteIniFile(homePath); Assert.NotNull(credential); }
public void GetRamRoleArnAlibabaCloudCredential() { TestHelper.InitializeEnvironmentValue(); var ramRoleCredential = new RamRoleArnCredential("accessKey", "aks", "roleArn", "roleSession", "roletoken", 3000); var profile = DefaultProfile.GetProfile(); var response = new AssumeRoleResponse(); response.Credentials = new AssumeRoleResponse.AssumeRole_Credentials(); response.Credentials.AccessKeyId = "ak"; response.Credentials.AccessKeySecret = "aks"; response.Credentials.SecurityToken = "token"; var mockClient = new Mock <IAcsClient>(); mockClient.Setup(x => x.GetAcsResponse(It.IsAny <AcsRequest <AssumeRoleResponse> >())).Returns(response); var client = mockClient.Object; var stsProvider = new STSAssumeRoleSessionCredentialsProvider(ramRoleCredential, "roleArn", client); var defaultCredentialProvider = new Core.Auth.Provider.DefaultCredentialProvider(profile, stsProvider); var actualCredentil = defaultCredentialProvider.GetRamRoleArnAlibabaCloudCredential(); TestHelper.RemoveEnvironmentValue(); Assert.NotNull(actualCredentil); Assert.Equal("aks", actualCredentil.GetAccessKeySecret()); }
public void RamRoleArnTest() { Mock <IAlibabaCloudCredentialsProvider> mockProvider = new Mock <IAlibabaCloudCredentialsProvider>(); mockProvider.Setup(p => p.GetCredentials()).Returns(new RamRoleArnCredential("accessKeyId", "accessKeySecret", "securityToken", 10000, null)); RamRoleArnCredential ramRoleArnCredential = new RamRoleArnCredential("accessKeyId", "accessKeySecret", "securityToken", 64090527132000L, mockProvider.Object); Assert.Equal("accessKeyId", ramRoleArnCredential.AccessKeyId); Assert.Equal("accessKeySecret", ramRoleArnCredential.AccessKeySecret); Assert.Equal("securityToken", ramRoleArnCredential.SecurityToken); Assert.Equal(64090527132000L, ramRoleArnCredential.Expiration); Assert.Equal(AuthConstant.RamRoleArn, ramRoleArnCredential.CredentialType); Assert.NotNull(ramRoleArnCredential.GetNewCredential()); ramRoleArnCredential.RefreshCredential(); Assert.NotNull(ramRoleArnCredential); }
public async Task RamRoleArnAsyncTest() { Mock <IAlibabaCloudCredentialsProvider> mockProvider = new Mock <IAlibabaCloudCredentialsProvider>(); mockProvider.Setup(p => p.GetCredentialsAsync()).ReturnsAsync(new RamRoleArnCredential("accessKeyId", "accessKeySecret", "securityToken", 10000, null)); RamRoleArnCredential ramRoleArnCredential = new RamRoleArnCredential("accessKeyId", "accessKeySecret", "securityToken", 64090527132000L, mockProvider.Object); Assert.Equal("accessKeyId", await ramRoleArnCredential.GetAccessKeyIdAsync()); Assert.Equal("accessKeySecret", await ramRoleArnCredential.GetAccessKeySecretAsync()); Assert.Equal("securityToken", await ramRoleArnCredential.GetSecurityTokenAsync()); Assert.Equal(64090527132000L, await ramRoleArnCredential.GetExpirationAsync()); Assert.Equal(AuthConstant.RamRoleArn, await ramRoleArnCredential.GetCredentialTypeAsync()); Assert.NotNull(await ramRoleArnCredential.GetNewCredentialAsync <RamRoleArnCredential>()); await ramRoleArnCredential.RefreshCredentialAsync(); Assert.NotNull(ramRoleArnCredential); }
public virtual AlibabaCloudCredentials GetRamRoleArnAlibabaCloudCredential() { if (String.IsNullOrEmpty(this.accessKeyId) && String.IsNullOrEmpty(this.accessKeySecret) && String.IsNullOrEmpty(this.regionId)) { throw new ClientException("Missing required variable option for 'default Client'"); } RamRoleArnCredential credential = new RamRoleArnCredential( this.accessKeyId, this.accessKeySecret, this.roleArn, this.roleSessionName, STSAssumeRoleSessionCredentialsProvider.GetNewRoleSessionName(), STSAssumeRoleSessionCredentialsProvider.DEFAULT_DURATION_SECONDS); this.defaultProfile = DefaultProfile.GetProfile(this.regionId, this.accessKeyId, this.accessKeySecret); var sTSAssumeRoleSessionCredentialsProvider = (STSAssumeRoleSessionCredentialsProvider)alibabaCloudCredentialProvider; RamRoleArnCredential ramRoleArnCredential = (RamRoleArnCredential)sTSAssumeRoleSessionCredentialsProvider.GetCredentials(); return(ramRoleArnCredential); }