public void DescribeEndpoint3() { var mock = new Mock <DescribeEndpointServiceImpl>(); var status = 200; var response = new HttpResponse(); var content = Encoding.GetEncoding("UTF-8").GetBytes( "{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" + DateTimeMock.getNowDateTimeString() + "\"}"); response.ContentType = FormatType.JSON; response.Content = content; response.Status = status; response.Encoding = "UTF-8"; mock.Setup(foo => foo.GetResponse( It.IsAny <HttpRequest>() )).Returns(response); var instance = mock.Object; var credential = new Credential(); var locationConfig = new LocationConfig(); var result = instance.DescribeEndpoint( "regionId", "serviceCode", "endpointType", credential, locationConfig ); Assert.Null(result); }
public async Task StubIntegration_RegularGet_Dynamic_UtcNow() { // arrange var url = $"{TestServer.BaseAddress}dynamic-utc-now.txt"; const string expectedDateTime = "2019-08-21 20:41:51"; var expectedResult = $"UTC now: {expectedDateTime}"; var now = new DateTime(2019, 8, 21, 20, 41, 51, DateTimeKind.Utc); DateTimeMock .Setup(m => m.UtcNow) .Returns(now); var request = new HttpRequestMessage(HttpMethod.Get, url); // act / assert using var response = await Client.SendAsync(request); var content = await response.Content.ReadAsStringAsync(); Assert.AreEqual(expectedResult, content); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual("text/plain", response.Content.Headers.ContentType.ToString()); Assert.AreEqual(expectedDateTime, response.Headers.Single(h => h.Key == "X-Header").Value.Single()); }
public void Fetch2() { // When Request Throw Exception var mock = new Mock <ECSMetadataServiceCredentialsFetcher> { CallBase = true }; var response = new HttpResponse(); var content = Encoding.GetEncoding("UTF-8").GetBytes( "{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" + DateTimeMock.getNowDateTimeString() + "\"}"); response.ContentType = FormatType.JSON; response.Content = content; response.Status = 200; var e = new Exception(); mock.Setup(foo => foo.GetResponse( It.IsAny <HttpRequest>() )).Throws(e); var instance = mock.Object; Assert.Throws <ClientException>( () => { var credentials = instance.Fetch(); ; } ); }
public void GetCredentials1() { // When Success Get Credentials // Mock Response var response = new HttpResponse(); var content = Encoding.GetEncoding("UTF-8").GetBytes( "{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" + DateTimeMock.getNotExpiredDateTimeString() + "\"}"); response.ContentType = FormatType.JSON; response.Content = content; response.Status = 200; // Mock Credentials var mockCredentials = new Mock <InstanceProfileCredentials>("MockAccessKeyId", "MockAccessKeySecret", "MockSecurityToken", DateTimeMock.getNotExpiredDateTimeString(), 100000) { CallBase = true }; mockCredentials.Setup(foo => foo.RemainTicks()).Returns(15 * 1000 * 1000 * 10); var instanceProfileCredentials = mockCredentials.Object; // Mock Fetcher var mockFetcher = new Mock <ECSMetadataServiceCredentialsFetcher> { CallBase = true }; mockFetcher.Setup(foo => foo.GetResponse( It.IsAny <HttpRequest>() )).Returns(response); mockFetcher.Setup(foo => foo.Fetch()).Returns(instanceProfileCredentials); var fetcher = mockFetcher.Object; var roleName = ACKMock.GetRoleName(true); var instance = new InstanceProfileCredentialsProvider(roleName); instance.withFetcher(fetcher); AlibabaCloudCredentialsProvider provider = instance; var credentials = provider.GetCredentials(); Assert.Equal("MockAccessKeyId", credentials.GetAccessKeyId()); }
public void GetCredentials2() { // When Credentials is Expired // Mock Response var response = new HttpResponse(); var content = Encoding.GetEncoding("UTF-8").GetBytes( "{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" + DateTimeMock.getExpiredDateTimeString() + "\"}"); response.ContentType = FormatType.JSON; response.Content = content; response.Status = 200; // Mock Fetcher var mockFetcher = new Mock <ECSMetadataServiceCredentialsFetcher> { CallBase = true }; mockFetcher.Setup(foo => foo.GetResponse( It.IsAny <HttpRequest>() )).Returns(response); var fetcher = mockFetcher.Object; var roleName = ACKMock.GetRoleName(true); var instance = new InstanceProfileCredentialsProvider(roleName); AlibabaCloudCredentialsProvider provider = instance; instance.withFetcher(fetcher); // Throw exception if the date is invalid Assert.Throws <ClientException>(() => { var credentials = provider.GetCredentials(); }); }
public void Fetch3() { // When Some Data is null => Code is null var mock = new Mock <ECSMetadataServiceCredentialsFetcher>() { CallBase = true }; HttpResponse response = new HttpResponse(); byte[] content = Encoding.GetEncoding("UTF-8").GetBytes("{\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" + DateTimeMock.getNowDateTimeString() + "\"}"); response.ContentType = FormatType.JSON; response.Content = content; response.Status = 200; Exception e = new Exception(); mock.Setup(foo => foo.GetResponse( It.IsAny <HttpRequest>() )).Returns(response); ECSMetadataServiceCredentialsFetcher instance = mock.Object; Assert.Throws <ClientException>( () => { InstanceProfileCredentials credentials = instance.Fetch();; } ); }
public void Setup() { _dateTime = new DateTimeMock(DateTime.Today); _refillPeriod = TimeSpan.FromSeconds(10); _tokenBucket = new TokenBucket(TokenCapacity, TokenCapacity, _refillPeriod, _dateTime); }
public void Fetch1() { // When Success var mock = new Mock <ECSMetadataServiceCredentialsFetcher>() { CallBase = true }; HttpResponse response = new HttpResponse(); byte[] content = Encoding.GetEncoding("UTF-8").GetBytes("{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" + DateTimeMock.getNowDateTimeString() + "\"}"); response.ContentType = FormatType.JSON; response.Content = content; response.Status = 200; mock.Setup(foo => foo.GetResponse( It.IsAny <HttpRequest>() )).Returns(response); ECSMetadataServiceCredentialsFetcher instance = mock.Object; EcsRamRoleCredential credentials = instance.Fetch();; Assert.Equal("MockAccessKeyId", credentials.GetAccessKeyId()); }
public void Setup() { _dateTime = new DateTimeMock(DateTime.MinValue); _refillPeriod = TimeSpan.FromSeconds(10); _refillStrategy = new RefillStrategy(_dateTime, RefillCount, _refillPeriod); }