public void SetCredentialsProvider() { DefaultProfile.ClearDefaultProfile(); Credential credential; DefaultProfile profile = DefaultProfile.GetProfile(); var mock = new Mock <AlibabaCloudCredentialsProvider>(); AlibabaCloudCredentialsProvider provider = mock.Object; profile.SetCredentialsProvider(provider); // 不为null时,直接回调,即此操作无效 credential = profile.GetCredential(); // 会执行credential初始化 Assert.NotNull(credential); Assert.IsType <CredentialsBackupCompatibilityAdaptor>(credential); profile.SetCredentialsProvider(null); // 会执行credential初始化 credential = profile.GetCredential(); // 不会执行credential初始化 Assert.NotNull(credential); Assert.IsType <CredentialsBackupCompatibilityAdaptor>(credential); }
public void WithRoleSessionDurationSecondss() { DefaultProfile.ClearDefaultProfile(); var mock = new Mock <AlibabaCloudCredentials>(); var longLivedCredentials = mock.Object; var roleArn = "roleArn"; IClientProfile profile = DefaultProfile.GetProfile("cn-shanghai", "accessKeyId", "accessKeySecret"); var instance = new STSAssumeRoleSessionCredentialsProvider(longLivedCredentials, roleArn, profile); long roleSessionDurationSeconds = 1000; // No Exception instance.WithRoleSessionDurationSeconds(roleSessionDurationSeconds); Assert.Throws <ArgumentOutOfRangeException>( () => { instance.WithRoleSessionDurationSeconds(100); } ); }
public void GetCredentials() { DefaultProfile.ClearDefaultProfile(); var mock = new Mock <AlibabaCloudCredentials>(); mock.Setup(foo => foo.GetAccessKeyId()).Returns("accessKeyId"); mock.Setup(foo => foo.GetAccessKeySecret()).Returns("accessKeySecret"); AlibabaCloudCredentials longLivedCredentials = mock.Object; IClientProfile profile = DefaultProfile.GetProfile( "cn-hangzhou", "accessKeyId", "accessKeySecret" ); var mockInstance = new Mock <STSAssumeRoleSessionCredentialsProvider>(longLivedCredentials, "roleArn", profile); AssumeRoleResponse response = new AssumeRoleResponse(); response.Credentials = new AssumeRoleResponse.AssumeRole_Credentials(); response.Credentials.AccessKeyId = "MockAccessKeyId"; response.Credentials.AccessKeySecret = "MockAccessKeyId"; response.Credentials.SecurityToken = "MockSecurityToken"; mockInstance.Setup(foo => foo.GetResponse( It.IsAny <AssumeRoleRequest>() )).Returns(response); STSAssumeRoleSessionCredentialsProvider instance = mockInstance.Object; var credentials = instance.GetCredentials(); // 执行credential初始化 Assert.IsType <BasicSessionCredentials>(credentials); var credentials2 = instance.GetCredentials(); // 不执行credential初始化,直接获取 Assert.IsType <BasicSessionCredentials>(credentials); Assert.Equal(credentials.GetAccessKeyId(), credentials2.GetAccessKeyId()); Assert.Equal(credentials.GetAccessKeySecret(), credentials2.GetAccessKeySecret()); }
public void GetCredentials() { DefaultProfile.ClearDefaultProfile(); var mockRsaPairCredential = new Mock <KeyPairCredentials>("publicKeyId", "privateKeyFile"); var rsaPairCredential = mockRsaPairCredential.Object; var response = new GetSessionAccessKeyResponse(); response.SessionAccesskey = new GetSessionAccessKeyResponse.GetSessionAccessKey_SessionAccesskey(); response.SessionAccesskey.SessionAccessKeyId = "ak"; response.SessionAccesskey.SessionAccessKeySecert = "aks"; var mockClient = new Mock <IAcsClient>(); mockClient.Setup(x => x.GetAcsResponse(It.IsAny <AcsRequest <GetSessionAccessKeyResponse> >())).Returns(response); var client = mockClient.Object; var instance = new Core.Auth.Provider.RsaKeyPairCredentialProvider(rsaPairCredential, client); Assert.NotNull(instance.GetCredentials()); }
public void GetEndpoints4() { DefaultProfile.ClearDefaultProfile(); // Mock RegionIds ISet <String> regionIds = new HashSet <String>(); regionIds.Add("cn-hangzhou"); // Mock productDomains List <ProductDomain> productDomains = new List <ProductDomain>() { }; ProductDomain productDomain = new ProductDomain("Ess", "ess.aliyuncs.com"); productDomains.Add(productDomain); // Mock endpoint Endpoint endpoint = new Endpoint("cn-hangzhou", regionIds, productDomains); var mock = new Mock <DefaultProfile>(true); mock.Setup(foo => foo.GetEndpointByIEndpoints( It.IsAny <string>(), It.IsAny <string>() )).Returns(endpoint); mock.Setup(foo => foo.GetEndpointByRemoteProvider( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>() )).Returns(endpoint); DefaultProfile profile = mock.Object; List <Endpoint> endpoints = profile.GetEndpoints("cn-hangzhou", "Ess"); profile.GetEndpoints("productNotExist", "regionId", "serviceCode", "endpointType"); }
public void GetCredentialsWithPolicy() { DefaultProfile.ClearDefaultProfile(); 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 mockInstance = new Mock <STSAssumeRoleSessionCredentialsProvider>("roleArn", "policy", client); var instance = mockInstance.Object; var credential = instance.GetCredentials(); Assert.NotNull(credential); }