public void UnicodeAndQueryTest() { if (FeatureTest.RoleArn.Equals("FakeRoleArn")) { return; } var basciCredential = new BasicSessionCredentials(FeatureTest.BasicAccessKeyId, FeatureTest.BasicAccessKeySecret, FeatureTest.GetToken()); var profile = DefaultProfile.GetProfile(FeatureTest.RegionId, FeatureTest.BasicAccessKeyId, FeatureTest.BasicAccessKeySecret); var client = new DefaultAcsClient(profile, basciCredential); var request = new CommonRequest(); request.TimeoutInMilliSeconds = 30000; request.Domain = "ros.aliyuncs.com"; request.Version = "2015-09-01"; request.Action = "DescribeResourceTypes"; request.UriPattern = "/resource_types"; request.Method = MethodType.GET; request.QueryParameters.Add("testParams", "SDFSDFSAetTEWTEWQO(∩_∩)O哈哈~"); var response = client.GetCommonResponse(request); Assert.Equal(200, response.HttpStatus); Assert.NotNull(response.Data); }
public void GetRsaKeyPairAlibabaCloudCredential() { Environment.SetEnvironmentVariable("ALIBABA_CLOUD_REGION_ID", "region_id"); 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 basicSessionCredential = new BasicSessionCredentials("accessKey", "aks", "sessionToken"); var rsaKeyCredential = new KeyPairCredentials("publicKey", "privateKey"); var profile = DefaultProfile.GetProfile(); var rsaProvider = new Core.Auth.Provider.RsaKeyPairCredentialProvider(rsaKeyCredential, client); var defaultCredentialProvider = new DefaultCredentialProvider(profile, "publicKeyId", "privateKeyFile", rsaProvider); var actualCredentil = defaultCredentialProvider.GetRsaKeyPairAlibabaCloudCredential(); Environment.SetEnvironmentVariable("ALIBABA_CLOUD_REGION_ID", null); Assert.NotNull(actualCredentil); Assert.Equal("aks", actualCredentil.GetAccessKeySecret()); }
public void BasicRoaTokenConnection() { if (GetRoleArn().Equals("FakeRoleArn")) { return; } DefaultProfile.ClearProfile(); var basciCredential = new BasicSessionCredentials(GetBasicAccessKeyId(), GetBasicAccessKeySecret(), GetToken()); var profile = DefaultProfile.GetProfile(regionId, GetBasicAccessKeyId(), GetBasicAccessKeySecret()); var client = new DefaultAcsClient(profile, basciCredential); var request = new CommonRequest(); request.Domain = "ros.aliyuncs.com"; request.Version = "2015-09-01"; request.Action = "DescribeResourceTypes"; request.UriPattern = "/resource_types"; request.Method = MethodType.GET; var response = client.GetCommonResponse(request); Assert.Equal(200, response.HttpStatus); Assert.NotNull(response.Data); }
public virtual Task <AlibabaCloudCredentials> GetRamRoleArnAlibabaCloudCredentialAsync(CancellationToken cancellationToken) { if (string.IsNullOrEmpty(accessKeyId) || string.IsNullOrEmpty(accessKeySecret) || string.IsNullOrEmpty(regionId)) { throw new ClientException("Missing required variable option for 'default Client'"); } var credential = new BasicSessionCredentials(accessKeyId, accessKeySecret, STSAssumeRoleSessionCredentialsProvider.GetNewRoleSessionName(), 3600 ); var profile = DefaultProfile.GetProfile(regionId, accessKeyId, accessKeySecret); STSAssumeRoleSessionCredentialsProvider stsAsssumeRoleSessionCredentialProvider; if (null != alibabaCloudCredentialProvider) { stsAsssumeRoleSessionCredentialProvider = (STSAssumeRoleSessionCredentialsProvider)alibabaCloudCredentialProvider; } else { stsAsssumeRoleSessionCredentialProvider = new STSAssumeRoleSessionCredentialsProvider(credential, roleArn, profile); } return(stsAsssumeRoleSessionCredentialProvider.GetCredentialsAsync(cancellationToken)); }
public void UnicodeAndQueryTest() { if (base.GetRoleArn().Equals("FakeRoleArn")) { return; } BasicSessionCredentials basciCredential = new BasicSessionCredentials(this.GetBasicAccessKeyId(), this.GetBasicAccessKeySecret(), this.GetToken()); DefaultProfile profile = DefaultProfile.GetProfile(this.regionId, this.GetBasicAccessKeyId(), this.GetBasicAccessKeySecret()); DefaultAcsClient client = new DefaultAcsClient(profile, basciCredential); CommonRequest request = new CommonRequest(); request.Domain = "ros.aliyuncs.com"; request.Version = "2015-09-01"; request.Action = "DescribeResourceTypes"; request.UriPattern = "/resource_types"; request.Method = MethodType.GET; request.QueryParameters.Add("testParams", "SDFSDFSAetTEWTEWQO(∩_∩)O哈哈~"); CommonResponse response = client.GetCommonResponse(request); Assert.Equal(200, response.HttpStatus); Assert.NotNull(response.Data); }
protected override IAcsClient GetSecurityTokenClient(string regionId, string accessKeyId, string accessKeySecret, string securityToken) { var profile = DefaultProfile.GetProfile(regionId); var credentials = new BasicSessionCredentials(accessKeyId, accessKeySecret, securityToken); return(new DefaultAcsClient(profile, credentials)); }
public void GetCredentialFileAlibabaCloudCredentialWithRsaKey() { var basicSessionCredential = new BasicSessionCredentials("fakeak", "fakeaks", "fakesessiontoken", 4000); var homePath = (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.Unix) ? Environment.GetEnvironmentVariable("HOME") : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%"); TestHelper.CreateIniFileWithRsaKey(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.GetRsaKeyPairAlibabaCloudCredential()).Returns(basicSessionCredential); mockDefaultCredentialProvider.Setup(x => x.GetHomePath()).Returns(homePath); mockDefaultCredentialProvider.Setup(x => x.LoadFileFromIni(It.IsAny <string>())).Returns(configurtion); var defaultCredentialProvider = mockDefaultCredentialProvider.Object; var credential = (BasicSessionCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential(); TestHelper.DeleteIniFile(homePath); Assert.NotNull(credential); }
public void GetCredentialFileAlibabaCloudCredentialWithRsaKey() { var basicSessionCredential = new BasicSessionCredentials("fakeak", "fakeaks", "fakesessiontoken", 4000); var homePath = EnvironmentUtil.GetHomePath(); TestHelper.CreateIniFileWithRsaKey(homePath); var slash = EnvironmentUtil.GetOSSlash(); var finalLocation = EnvironmentUtil.GetComposedPath(homePath, slash); var configurtion = Configuration.LoadFromFile(finalLocation); DefaultProfile profile = DefaultProfile.GetProfile(); profile.DefaultClientName = "default"; var mockDefaultCredentialProvider = new Mock <DefaultCredentialProvider>(profile, null); mockDefaultCredentialProvider.Setup(x => x.GetRsaKeyPairAlibabaCloudCredential()).Returns(basicSessionCredential); mockDefaultCredentialProvider.Setup(x => x.GetHomePath()).Returns(homePath); mockDefaultCredentialProvider.Setup(x => x.LoadFileFromIni(It.IsAny <string>())).Returns(configurtion); var defaultCredentialProvider = mockDefaultCredentialProvider.Object; var credential = (BasicSessionCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential(); TestHelper.DeleteIniFile(homePath); Assert.NotNull(credential); }
public AlibabaCloudCredentials GetCredentials() { if (basicSessionCredentials == null || basicSessionCredentials.WillSoonExpire()) { basicSessionCredentials = GetNewSessionCredentials(); } return(basicSessionCredentials); }
public async Task <AlibabaCloudCredentials> GetCredentialsAsync(CancellationToken cancellationToken) { if (basicSessionCredentials == null || basicSessionCredentials.WillSoonExpire()) { basicSessionCredentials = await GetNewSessionCredentialsAsync(cancellationToken).ConfigureAwait(false); } return(basicSessionCredentials); }
public void WillSoonExpire() { BasicSessionCredentials instance; instance = new BasicSessionCredentials("accessKeyId", "accessKeySecret", "sessionToken", 1); instance.WillSoonExpire(); instance = new BasicSessionCredentials("accessKeyId", "accessKeySecret", "sessionToken", 0); instance.WillSoonExpire(); Assert.False(instance.WillSoonExpire()); }
public void BasicRpcStsTokenConnectionsTest() { BasicSessionCredentials basciCredential = new BasicSessionCredentials(this.GetBasicAccessKeyId(), this.GetBasicAccessKeySecret(), this.GetToken()); DefaultProfile profile = DefaultProfile.GetProfile(this.regionId, this.GetBasicAccessKeyId(), this.GetBasicAccessKeySecret()); DefaultAcsClient client = new DefaultAcsClient(profile, basciCredential); DescribeInstancesRequest request = new DescribeInstancesRequest(); DescribeInstancesResponse response = client.GetAcsResponse(request); Assert.NotNull(response); Assert.True(0 <= response.TotalCount); }
public virtual AlibabaCloudCredentials GetRsaKeyPairAlibabaCloudCredential() { if (String.IsNullOrEmpty(this.publicKeyId) || String.IsNullOrEmpty(this.privateKeyFile) || String.IsNullOrEmpty(this.regionId)) { throw new ClientException("Missing required variable option for 'default Client'"); } RsaKeyPairCredential rsaKeyPairCredential = new RsaKeyPairCredential(this.publicKeyId, this.privateKeyFile); DefaultProfile profile = DefaultProfile.GetProfile(this.regionId, this.publicKeyId, this.privateKeyFile); RsaKeyPairCredentialProvider provider = new RsaKeyPairCredentialProvider(rsaKeyPairCredential, profile); BasicSessionCredentials basicCrededential = (BasicSessionCredentials)provider.GetCredentials(); return(basicCrededential); }
public void SignRequest() { MockRoaAcsRequest mockRoaAcsRequest = new MockRoaAcsRequest("product"); HmacSHA1Signer signer = new HmacSHA1Signer(); BasicSessionCredentials basicSessionCredentials = new BasicSessionCredentials( "accessKeyId", "accessKeySecret", "sessionToken", 0 ); ProductDomain domain = new ProductDomain(); mockRoaAcsRequest.UriPattern = "UriPattern"; Dictionary <string, string> tmpDic = new Dictionary <string, string> { { "a", "A" }, { "b", "B" } }; mockRoaAcsRequest.BodyParameters = tmpDic; mockRoaAcsRequest.PathParameters = tmpDic; mockRoaAcsRequest.UriPattern = "UriPattern"; Assert.Equal("UriPattern", mockRoaAcsRequest.UriPattern); var request = mockRoaAcsRequest.SignRequest(signer, basicSessionCredentials, FormatType.JSON, domain); Assert.IsType <MockRoaAcsRequest>(request); basicSessionCredentials = new BasicSessionCredentials( "accessKeyId", "accessKeySecret", null, 0 ); request = mockRoaAcsRequest.SignRequest(signer, basicSessionCredentials, FormatType.JSON, domain); // 覆盖不同条件的执行 mockRoaAcsRequest.BodyParameters = null; signer = null; var mockCredential = new Mock <AlibabaCloudCredentials>(); mockCredential.Setup(foo => foo.GetAccessKeyId()).Returns("accessKeyId"); mockCredential.Setup(foo => foo.GetAccessKeySecret()).Returns("accessKeySecret"); AlibabaCloudCredentials credential = mockCredential.Object; mockRoaAcsRequest.SignRequest(signer, credential, FormatType.JSON, domain); signer = new HmacSHA1Signer(); mockRoaAcsRequest.SignRequest(signer, credential, FormatType.JSON, domain); //Test Bearertoken SignRequest with Rpc mockRoaAcsRequest.BodyParameters = null; BearerTokenSigner bearerTokenSigner = new BearerTokenSigner(); BearerTokenCredential bearerTokenCredential = new BearerTokenCredential("FakeBearerToken"); mockRoaAcsRequest.SignRequest(bearerTokenSigner, bearerTokenCredential, FormatType.JSON, domain); }
public BasicSessionCredentials getInstance() { BasicSessionCredentials instance; Assert.Throws <System.ArgumentOutOfRangeException>( () => { instance = new BasicSessionCredentials(null, null, "", 0); } ); Assert.Throws <ArgumentOutOfRangeException>( () => { instance = new BasicSessionCredentials("accessKeyId", null, "", 0); } ); instance = new BasicSessionCredentials("accessKeyId", "accessKeySecret", "sessionToken", 1); return(instance); }
public void SignRequest() { var mockRpcAcsRequest = new MockRpcAcsRequest("product"); var signer = new HmacSHA1Signer(); var basicSessionCredentials = new BasicSessionCredentials( "accessKeyId", "accessKeySecret", "sessionToken", 0 ); var domain = new ProductDomain(); var tmpDic = new Dictionary <string, string> { { "a", "A" }, { "b", "B" } }; mockRpcAcsRequest.BodyParameters = tmpDic; mockRpcAcsRequest.RegionId = "cn-hangzhou"; var request = mockRpcAcsRequest.SignRequest(signer, basicSessionCredentials, FormatType.JSON, domain); Assert.IsType <MockRpcAcsRequest>(request); basicSessionCredentials = new BasicSessionCredentials( "accessKeyId", "accessKeySecret", null, 0 ); request = mockRpcAcsRequest.SignRequest(signer, basicSessionCredentials, FormatType.JSON, domain); mockRpcAcsRequest.BodyParameters = null; signer = null; var mockCredential = new Mock <AlibabaCloudCredentials>(); mockCredential.Setup(foo => foo.GetAccessKeyId()).Returns("accessKeyId"); mockCredential.Setup(foo => foo.GetAccessKeySecret()).Returns("accessKeySecret"); var credential = mockCredential.Object; mockRpcAcsRequest.SignRequest(signer, credential, FormatType.JSON, domain); signer = new HmacSHA1Signer(); mockRpcAcsRequest.SignRequest(signer, credential, FormatType.JSON, domain); // Test BearerToken SignRequest with Rpc mockRpcAcsRequest.BodyParameters = null; var bearerTokenSigner = new BearerTokenSigner(); var bearerTokenCredential = new BearerTokenCredential("FakeBearerToken"); mockRpcAcsRequest.SignRequest(bearerTokenSigner, bearerTokenCredential, FormatType.JSON, domain); }
public void BasicRpcStsTokenConnectionsTest() { if (GetRoleArn().Equals("FakeRoleArn")) { return; } DefaultProfile.ClearProfile(); var basciCredential = new BasicSessionCredentials(GetBasicAccessKeyId(), GetBasicAccessKeySecret(), GetToken()); var profile = DefaultProfile.GetProfile(regionId, GetBasicAccessKeyId(), GetBasicAccessKeySecret()); var client = new DefaultAcsClient(profile, basciCredential); var request = new DescribeAccessControlListsRequest(); var response = client.GetAcsResponse(request); Assert.NotNull(response); }
public void GetRsaKeyPairAlibabaCloudCredential2() { Environment.SetEnvironmentVariable("ALIBABA_CLOUD_REGION_ID", "region_id"); var basicSessionCredential = new BasicSessionCredentials("accessKey", "aks", "sessionToken"); var rsaKeyCredential = new KeyPairCredentials("publicKey", "privateKey"); var profile = DefaultProfile.GetProfile(); var defaultCredentialProvider = new DefaultCredentialProvider(profile, "publicKeyId", "privateKeyFile", null); var exception = Assert.Throws <ClientException>(() => { var actualCredentil = defaultCredentialProvider.GetRsaKeyPairAlibabaCloudCredential(); }); Environment.SetEnvironmentVariable("ALIBABA_CLOUD_REGION_ID", null); Assert.Equal("Specified access key is not found.", exception.ErrorMessage); }
public void BasicRoaTokenConnection() { BasicSessionCredentials basciCredential = new BasicSessionCredentials(this.GetBasicAccessKeyId(), this.GetBasicAccessKeySecret(), this.GetToken()); DefaultProfile profile = DefaultProfile.GetProfile(this.regionId, this.GetBasicAccessKeyId(), this.GetBasicAccessKeySecret()); DefaultAcsClient client = new DefaultAcsClient(profile, basciCredential); CommonRequest request = new CommonRequest(); request.Domain = "ros.aliyuncs.com"; request.Version = "2015-09-01"; request.Action = "DescribeResourceTypes"; request.UriPattern = "/resource_types"; request.Method = MethodType.GET; CommonResponse response = client.GetCommonResponse(request); Assert.Equal(200, response.HttpStatus); Assert.NotNull(response.Data); }
public void SignRequest() { MockRpcAcsRequest mockRpcAcsRequest = new MockRpcAcsRequest("product"); HmacSHA1Signer signer = new HmacSHA1Signer(); BasicSessionCredentials basicSessionCredentials = new BasicSessionCredentials( "accessKeyId", "accessKeySecret", "sessionToken", 0 ); ProductDomain domain = new ProductDomain(); Dictionary <string, string> tmpDic = new Dictionary <string, string> { { "a", "A" }, { "b", "B" } }; mockRpcAcsRequest.BodyParameters = tmpDic; mockRpcAcsRequest.RegionId = "cn-hangzhou"; var request = mockRpcAcsRequest.SignRequest(signer, basicSessionCredentials, FormatType.JSON, domain); Assert.IsType <MockRpcAcsRequest>(request); basicSessionCredentials = new BasicSessionCredentials( "accessKeyId", "accessKeySecret", null, 0 ); request = mockRpcAcsRequest.SignRequest(signer, basicSessionCredentials, FormatType.JSON, domain); // 覆盖不同条件的执行 mockRpcAcsRequest.BodyParameters = null; signer = null; var mockCredential = new Mock <AlibabaCloudCredentials>(); mockCredential.Setup(foo => foo.GetAccessKeyId()).Returns("accessKeyId"); mockCredential.Setup(foo => foo.GetAccessKeySecret()).Returns("accessKeySecret"); AlibabaCloudCredentials credential = mockCredential.Object; mockRpcAcsRequest.SignRequest(signer, credential, FormatType.JSON, domain); signer = new HmacSHA1Signer(); mockRpcAcsRequest.SignRequest(signer, credential, FormatType.JSON, domain); // Done With No Exception }
public void GetCredentialFileAlibabaCloudCredentialWithRsaKey() { var basicSessionCredential = new BasicSessionCredentials("fakeak", "fakeaks", "fakesessiontoken", 4000); var mockHomePath = EnvironmentUtil.GetHomePath(); TestHelper.CreateIniFileWithRsaKey(); DefaultProfile profile = DefaultProfile.GetProfile(); profile.DefaultClientName = "default"; var mockDefaultCredentialProvider = new Mock <DefaultCredentialProvider>(profile, null); mockDefaultCredentialProvider.Setup(x => x.GetRsaKeyPairAlibabaCloudCredential()).Returns(basicSessionCredential); mockDefaultCredentialProvider.Setup(x => x.GetHomePath()).Returns(mockHomePath); var defaultCredentialProvider = mockDefaultCredentialProvider.Object; var credential = (BasicSessionCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential(); TestHelper.DeleteIniFile(); Assert.NotNull(credential); }