Skip to content

Commit

Permalink
use DateTime.UtcNow instead of DateTime.Now
Browse files Browse the repository at this point in the history
  • Loading branch information
wb-hx510875 authored and JacksonTian committed Aug 19, 2019
1 parent 607d901 commit 076ac93
Show file tree
Hide file tree
Showing 17 changed files with 93 additions and 101 deletions.
8 changes: 4 additions & 4 deletions aliyun-net-sdk-core.Tests/Mock/DateTimeMock.cs
Expand Up @@ -25,7 +25,7 @@ public class DateTimeMock
{
public static DateTime getDateTimeNow()
{
return DateTime.Now;
return DateTime.UtcNow;
}

public static string getNowDateTimeString()
Expand All @@ -35,7 +35,7 @@ public static string getNowDateTimeString()

public static DateTime getExpiredDateTime()
{
return DateTime.Now.AddDays(-1);
return DateTime.UtcNow.AddDays(-1);
}

public static string getExpiredDateTimeString()
Expand All @@ -45,7 +45,7 @@ public static string getExpiredDateTimeString()

public static DateTime getNotExpiredDateTime()
{
return DateTime.Now.AddDays(1);
return DateTime.UtcNow.AddDays(1);
}

public static string getNotExpiredDateTimeString()
Expand All @@ -55,7 +55,7 @@ public static string getNotExpiredDateTimeString()

public static DateTime getWillExpiredDateTime()
{
return DateTime.Now.AddMilliseconds(500);
return DateTime.UtcNow.AddMilliseconds(500);
}

public static string getWillExpiredDateTimeString()
Expand Down
4 changes: 2 additions & 2 deletions aliyun-net-sdk-core.Tests/Units/Auth/Credential.cs
Expand Up @@ -47,13 +47,13 @@ public void IsExpired()
{
Credential instance;
instance = new Credential("keyId", "secret", 1);
instance.ExpiredDate = DateTime.Now.AddDays(1);
instance.ExpiredDate = DateTime.UtcNow.AddDays(1);
Assert.True(instance.IsExpired());

instance.ExpiredDate = null;
Assert.False(instance.IsExpired());

instance.ExpiredDate = DateTime.Now.AddDays(-1);
instance.ExpiredDate = DateTime.UtcNow.AddDays(-1);
Assert.False(instance.IsExpired());
}

Expand Down
Expand Up @@ -30,29 +30,29 @@ public class InstanceProfileCredentialsTest
[Fact]
public void IsExpired()
{
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.Now.ToString(), 100000);
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.UtcNow.ToString(), 100000);
Assert.True(instance.IsExpired());
}

[Fact]
public void SetLastFailedRefreshTime()
{
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.Now.ToString(), 100000);
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.UtcNow.ToString(), 100000);
instance.SetLastFailedRefreshTime();
}

[Fact]
public void ShouldRefresh()
{
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.Now.ToString(), 100000);
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.UtcNow.ToString(), 100000);

Assert.True(instance.ShouldRefresh());
}

[Fact]
public void WillSoonExpire()
{
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.Now.ToString(), 100000);
var instance = new InstanceProfileCredentials("a", "b", "c", DateTime.UtcNow.ToString(), 100000);
Assert.True(instance.WillSoonExpire());
}
}
Expand Down
Expand Up @@ -49,13 +49,12 @@ public void GetCredentials1()

// Mock Credentials
var mockCredentials = new Mock<InstanceProfileCredentials>("MockAccessKeyId", "MockAccessKeySecret",
"MockSecurityToken", DateTimeMock.getNotExpiredDateTimeString(), 100000) {CallBase = true};
"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};
var mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher> { CallBase = true };
mockFetcher.Setup(foo => foo.GetResponse(
It.IsAny<HttpRequest>()
)).Returns(response);
Expand Down Expand Up @@ -86,8 +85,7 @@ public void GetCredentials2()
response.Status = 200;

// Mock Fetcher
var mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher>
{CallBase = true};
var mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher> { CallBase = true };
mockFetcher.Setup(foo => foo.GetResponse(
It.IsAny<HttpRequest>()
)).Returns(response);
Expand All @@ -112,7 +110,7 @@ public void GetCredentials3()

// Mock Response
var response = new HttpResponse();
var ExpiredDatetime = DateTime.Now.AddMilliseconds(800).ToString();
var ExpiredDatetime = DateTime.UtcNow.AddMilliseconds(800).ToString();
var content = Encoding.GetEncoding("UTF-8").GetBytes(
"{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" +
ExpiredDatetime + "\"}");
Expand All @@ -122,14 +120,12 @@ public void GetCredentials3()

// Mock Credentials
var mockCredentials =
new Mock<InstanceProfileCredentials>("MockAccessKeyId", "", "", ExpiredDatetime, 100000)
{CallBase = true};
new Mock<InstanceProfileCredentials>("MockAccessKeyId", "", "", ExpiredDatetime, 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};
var mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher> { CallBase = true };
mockFetcher.Setup(foo => foo.GetResponse(
It.IsAny<HttpRequest>()
)).Returns(response);
Expand All @@ -145,8 +141,7 @@ public void GetCredentials3()
var credentials = provider.GetCredentials();

// When Fetcher throw ClientException
mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher>
{CallBase = true};
mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher> { CallBase = true };
var ex = new ClientException("MockClientExceptionCode", "MockClinetExceptionMessage");
mockFetcher.Setup(foo => foo.Fetch()).Throws(ex);
fetcher = mockFetcher.Object;
Expand All @@ -163,7 +158,7 @@ public void GetCredentials4()

// Mock Response
var response = new HttpResponse();
var ExpiredDatetime = DateTime.Now.AddMilliseconds(800).ToString();
var ExpiredDatetime = DateTime.UtcNow.AddMilliseconds(800).ToString();
var content = Encoding.GetEncoding("UTF-8").GetBytes(
"{\"Code\":\"Success\",\"Message\":\"ThisIsMessage\",\"RequestId\":\"ThisIsRequestId\",\"AccessKeyId\":\"MockAccessKeyId\",\"AccessKeySecret\":\"\",\"SecurityToken\":\"\",\"Expiration\":\"" +
ExpiredDatetime + "\"}");
Expand All @@ -173,15 +168,13 @@ public void GetCredentials4()

// Mock Credentials
var mockCredentials =
new Mock<InstanceProfileCredentials>("MockAccessKeyId", "", "", ExpiredDatetime, 100000)
{CallBase = true};
new Mock<InstanceProfileCredentials>("MockAccessKeyId", "", "", ExpiredDatetime, 100000) { CallBase = true };
mockCredentials.Setup(foo => foo.RemainTicks()).Returns(15 * 1000 * 1000 * 10);
var instanceProfileCredentials = mockCredentials.Object;
instanceProfileCredentials.SetLastFailedRefreshTime();

// Mock Fetcher
var mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher>
{CallBase = true};
var mockFetcher = new Mock<ECSMetadataServiceCredentialsFetcher> { CallBase = true };
mockFetcher.Setup(foo => foo.GetResponse(
It.IsAny<HttpRequest>()
)).Returns(response);
Expand Down
Expand Up @@ -64,7 +64,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithAKType()
var defaultCredentialProvider = new DefaultCredentialProvider(profile, null);
TestHelper.CreateIniFileWithAkType();

var credential = (BasicCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential();
var credential = (BasicCredentials) defaultCredentialProvider.GetAlibabaCloudClientCredential();

TestHelper.DeleteIniFile();

Expand All @@ -88,7 +88,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithAKTypeButAKIsEmpty()

var exception = Assert.Throws<ClientException>(() =>
{
var credential = (BasicCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential();
var credential = (BasicCredentials) defaultCredentialProvider.GetAlibabaCloudClientCredential();
});

TestHelper.DeleteIniFile();
Expand Down Expand Up @@ -122,7 +122,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithDefaultSection()
public void GetCredentialFileAlibabaCloudCredentialWithEcsRamRole()
{
var ecsRamRoleCredential =
new InstanceProfileCredentials("fakeak", "fakeaks", "fakesession", DateTime.Now.ToString(), 4000);
new InstanceProfileCredentials("fakeak", "fakeaks", "fakesession", DateTime.UtcNow.ToString(), 4000);
var mockHomePath = EnvironmentUtil.GetHomePath();

TestHelper.CreateIniFileWithEcs();
Expand All @@ -136,7 +136,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithEcsRamRole()
mockDefaultCredentialProvider.Setup(x => x.GetHomePath()).Returns(mockHomePath);

var defaultCredentialProvider = mockDefaultCredentialProvider.Object;
var credential = (InstanceProfileCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential();
var credential = (InstanceProfileCredentials) defaultCredentialProvider.GetAlibabaCloudClientCredential();

TestHelper.DeleteIniFile();
Assert.NotNull(credential);
Expand All @@ -157,7 +157,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithFileAndAkExist()

var defaultCredentialProvider = new DefaultCredentialProvider(profile, null);

var credential = (BasicCredentials)defaultCredentialProvider.GetCredentialFileAlibabaCloudCredential();
var credential = (BasicCredentials) defaultCredentialProvider.GetCredentialFileAlibabaCloudCredential();

TestHelper.DeleteIniFile();
Assert.NotNull(credential);
Expand Down Expand Up @@ -210,7 +210,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithInvalidFile()
public void GetCredentialFileAlibabaCloudCredentialWithRamRole()
{
var ramRoleCredential = new InstanceProfileCredentials("fakeak", "fakeaks", "fakesessiontokne",
DateTime.Now.ToString(), 4000);
DateTime.UtcNow.ToString(), 4000);
TestHelper.CreateIniFileWithRam();

var mockHomePath = EnvironmentUtil.GetHomePath();
Expand All @@ -225,7 +225,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithRamRole()

var defaultCredentialProvider = mockDefaultCredentialProvider.Object;

var credential = (InstanceProfileCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential();
var credential = (InstanceProfileCredentials) defaultCredentialProvider.GetAlibabaCloudClientCredential();

TestHelper.DeleteIniFile();
Assert.NotNull(credential);
Expand Down Expand Up @@ -253,7 +253,7 @@ public void GetCredentialFileAlibabaCloudCredentialWithRsaKey()

var defaultCredentialProvider = mockDefaultCredentialProvider.Object;

var credential = (BasicSessionCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential();
var credential = (BasicSessionCredentials) defaultCredentialProvider.GetAlibabaCloudClientCredential();

TestHelper.DeleteIniFile();
Assert.NotNull(credential);
Expand All @@ -272,7 +272,7 @@ public void GetEnvironmentAlibabaCloudCredentialUseChain()
TestHelper.InitializeEnvironmentValue();

var defaultCredentialProvider = new DefaultCredentialProvider(profile, null);
var credential = (BasicCredentials)defaultCredentialProvider.GetAlibabaCloudClientCredential();
var credential = (BasicCredentials) defaultCredentialProvider.GetAlibabaCloudClientCredential();

Assert.NotNull(credential);
Assert.Equal("ACCESS_KEY_ID", credential.GetAccessKeyId());
Expand All @@ -293,7 +293,7 @@ public void GetEnvironmentAlibabaCloudCredentialWithEnvAKTest()
TestHelper.InitializeEnvironmentValue();

var defaultCredentialProvider = new DefaultCredentialProvider(profile, null);
var credential = (BasicCredentials)defaultCredentialProvider.GetEnvironmentAlibabaCloudCredential();
var credential = (BasicCredentials) defaultCredentialProvider.GetEnvironmentAlibabaCloudCredential();

Assert.NotNull(credential);
Assert.Equal("ACCESS_KEY_ID", credential.GetAccessKeyId());
Expand All @@ -309,7 +309,7 @@ public void GetEnvironmentAlibabaCloudCredentialWithEnvAKTest()
public void GetEnvironmentClientCredentialWithoutAKTest()
{
var defaultCredentialProvider = new DefaultCredentialProvider();
var credential = (BasicCredentials)defaultCredentialProvider.GetEnvironmentAlibabaCloudCredential();
var credential = (BasicCredentials) defaultCredentialProvider.GetEnvironmentAlibabaCloudCredential();
Assert.Null(credential);
}

Expand Down Expand Up @@ -344,7 +344,7 @@ public void GetInstanceRamRoleAlibabaCloudCredential2()
Environment.SetEnvironmentVariable("ALIBABA_CLOUD_ECS_METADATA", "role_name");

var instanceProfileCredential =
new InstanceProfileCredentials("fakeak", "fakeaks", "fakesession", DateTime.Now.ToString(), 4000);
new InstanceProfileCredentials("fakeak", "fakeaks", "fakesession", DateTime.UtcNow.ToString(), 4000);
var mockInstanceProfileProvider = new Mock<InstanceProfileCredentialsProvider>("role_name");
mockInstanceProfileProvider.Setup(x => x.GetCredentials()).Returns(instanceProfileCredential);
var instanceProfileProvider = mockInstanceProfileProvider.Object;
Expand Down Expand Up @@ -380,7 +380,7 @@ public void GetRamRoleArnAlibabaCloudCredential()
TestHelper.InitializeEnvironmentValue();

var ramRoleCredential =
new InstanceProfileCredentials("accessKey", "aks", "roletoken", DateTime.Now.ToString(), 3000);
new InstanceProfileCredentials("accessKey", "aks", "roletoken", DateTime.UtcNow.ToString(), 3000);
var profile = DefaultProfile.GetProfile();

var response = new AssumeRoleResponse();
Expand Down Expand Up @@ -409,7 +409,7 @@ public void GetRamRoleArnAlibabaCloudCredential2()
TestHelper.InitializeEnvironmentValue();

var ramRoleCredential =
new InstanceProfileCredentials("accessKey", "aks", "roletoken", DateTime.Now.ToString(), 3000);
new InstanceProfileCredentials("accessKey", "aks", "roletoken", DateTime.UtcNow.ToString(), 3000);
var profile = DefaultProfile.GetProfile();

var defaultCredentialProvider = new DefaultCredentialProvider(profile, null);
Expand Down
6 changes: 3 additions & 3 deletions aliyun-net-sdk-core.Tests/Units/Utils/CacheTimeHelper.cs
Expand Up @@ -30,11 +30,11 @@ public class CacheTimeHelperTest
[Fact]
public void AddLastClearTimePerProduct()
{
var lastClearTime = DateTime.Now.AddDays(-1);
var lastClearTime = DateTime.UtcNow.AddDays(-1);
CacheTimeHelper.AddLastClearTimePerProduct("ecs", "ch-hangzhou", lastClearTime);
Assert.True(CacheTimeHelper.CheckCacheIsExpire("ecs", "ch-hangzhou"));

lastClearTime = DateTime.Now.AddDays(1);
lastClearTime = DateTime.UtcNow.AddDays(1);
CacheTimeHelper.AddLastClearTimePerProduct("ecs", "ch-hangzhou", lastClearTime);
Assert.False(CacheTimeHelper.CheckCacheIsExpire("ecs", "ch-hangzhou"));
}
Expand All @@ -46,7 +46,7 @@ public void CheckCacheIsExpire()
Assert.False(CacheTimeHelper.CheckCacheIsExpire("someNotExist", "ch-hangzhou"));

// When Exist
var lastClearTime = DateTime.Now.AddDays(-1);
var lastClearTime = DateTime.UtcNow.AddDays(-1);
CacheTimeHelper.AddLastClearTimePerProduct("ecs", "ch-hangzhou", lastClearTime);
Assert.True(CacheTimeHelper.CheckCacheIsExpire("ecs", "ch-hangzhou"));
}
Expand Down
Expand Up @@ -30,7 +30,7 @@ public class DateTimeExtensionsTest
[Fact]
public void currentTimeMillis()
{
var d = DateTime.Now;
var d = DateTime.UtcNow;
var r = d.currentTimeMillis();
Assert.IsType<long>(r);
}
Expand Down
Expand Up @@ -49,7 +49,7 @@ public class BasicSessionCredentials : AlibabaCloudCredentials
this.accessKeySecret = accessKeySecret;
this.sessionToken = sessionToken;
this.roleSessionDurationSeconds = roleSessionDurationSeconds;
sessionStartedTimeInMilliSeconds = DateTime.Now.currentTimeMillis();
sessionStartedTimeInMilliSeconds = DateTime.UtcNow.currentTimeMillis();
}

public string GetAccessKeyId()
Expand All @@ -74,11 +74,11 @@ public virtual bool WillSoonExpire()
return false;
}

var now = DateTime.Now.currentTimeMillis();
var now = DateTime.UtcNow.currentTimeMillis();

// (now - sessionStartedTimeInMilliSeconds) stands for session current exist duration time (ms)
return roleSessionDurationSeconds * expireFact <
(now - sessionStartedTimeInMilliSeconds) / 1000.0;
(now - sessionStartedTimeInMilliSeconds) / 1000.0;
}
}
}
8 changes: 4 additions & 4 deletions aliyun-net-sdk-core/Auth/Credential/Credential.cs
Expand Up @@ -28,14 +28,14 @@ public class Credential : AlibabaCloudCredentials
{
public Credential()
{
RefreshDate = DateTime.Now;
RefreshDate = DateTime.UtcNow;
}

public Credential(string keyId, string secret)
{
AccessKeyId = keyId;
AccessSecret = secret;
RefreshDate = DateTime.Now;
RefreshDate = DateTime.UtcNow;
}

public Credential(string keyId, string secret, string securityToken)
Expand Down Expand Up @@ -85,7 +85,7 @@ private void SetExpiredDate(int expiredHours)
{
if (0 < expiredHours)
{
ExpiredDate = DateTime.Now.AddHours(expiredHours);
ExpiredDate = DateTime.UtcNow.AddHours(expiredHours);
}
}

Expand All @@ -96,7 +96,7 @@ public bool IsExpired()
return false;
}

return !(ExpiredDate < DateTime.Now);
return !(ExpiredDate < DateTime.UtcNow);
}
}
}

0 comments on commit 076ac93

Please sign in to comment.