diff options
author | crupest <crupest@outlook.com> | 2020-01-24 23:15:44 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-01-24 23:15:44 +0800 |
commit | 1a653fca9e4e3371dd65782c987a736e2259d66a (patch) | |
tree | a1fa2e94ad5c9deddb80825e779b66e6bbc6f9ca /Timeline.Tests | |
parent | 21588701f25860145847c0740299867d9285d872 (diff) | |
download | timeline-1a653fca9e4e3371dd65782c987a736e2259d66a.tar.gz timeline-1a653fca9e4e3371dd65782c987a736e2259d66a.tar.bz2 timeline-1a653fca9e4e3371dd65782c987a736e2259d66a.zip |
Finish UserTokenManagerTest.
Diffstat (limited to 'Timeline.Tests')
-rw-r--r-- | Timeline.Tests/Services/UserTokenManagerTest.cs | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Timeline.Tests/Services/UserTokenManagerTest.cs b/Timeline.Tests/Services/UserTokenManagerTest.cs index a8ace778..19122d31 100644 --- a/Timeline.Tests/Services/UserTokenManagerTest.cs +++ b/Timeline.Tests/Services/UserTokenManagerTest.cs @@ -80,5 +80,86 @@ namespace Timeline.Tests.Services User = mockUserInfo
});
}
+
+ [Fact]
+ public void VerifyToken_NullArgument()
+ {
+ _service.Invoking(s => s.VerifyToken(null)).Should().ThrowAsync<ArgumentNullException>();
+ }
+
+ [Fact]
+ public async Task VerifyToken_BadFormat()
+ {
+ const string mockToken = "mocktokenaaaaaa";
+ _mockUserTokenService.Setup(s => s.VerifyToken(mockToken)).Throws(new UserTokenBadFormatException());
+
+ await _service.Awaiting(s => s.VerifyToken(mockToken)).Should().ThrowAsync<UserTokenBadFormatException>();
+ }
+
+ [Fact]
+ public async Task VerifyToken_TimeExpire()
+ {
+ const string mockToken = "mocktokenaaaaaa";
+ var mockTime = DateTime.Now;
+ _mockClock.MockCurrentTime = mockTime;
+ var mockTokenInfo = new UserTokenInfo
+ {
+ Id = 1,
+ Version = 1,
+ ExpireAt = mockTime.AddDays(-1)
+ };
+ _mockUserTokenService.Setup(s => s.VerifyToken(mockToken)).Returns(mockTokenInfo);
+
+ await _service.Awaiting(s => s.VerifyToken(mockToken)).Should().ThrowAsync<UserTokenTimeExpireException>();
+ }
+
+ [Fact]
+ public async Task VerifyToken_BadVersion()
+ {
+ const string mockToken = "mocktokenaaaaaa";
+ var mockTime = DateTime.Now;
+ _mockClock.MockCurrentTime = mockTime;
+ var mockTokenInfo = new UserTokenInfo
+ {
+ Id = 1,
+ Version = 1,
+ ExpireAt = mockTime.AddDays(1)
+ };
+ _mockUserTokenService.Setup(s => s.VerifyToken(mockToken)).Returns(mockTokenInfo);
+ _mockUserService.Setup(s => s.GetUserById(1)).ReturnsAsync(new UserInfo
+ {
+ Id = 1,
+ Username = "aaa",
+ Administrator = false,
+ Version = 2
+ });
+
+ await _service.Awaiting(s => s.VerifyToken(mockToken)).Should().ThrowAsync<UserTokenBadVersionException>();
+ }
+
+ [Fact]
+ public async Task VerifyToken_Success()
+ {
+ const string mockToken = "mocktokenaaaaaa";
+ var mockTime = DateTime.Now;
+ _mockClock.MockCurrentTime = mockTime;
+ var mockTokenInfo = new UserTokenInfo
+ {
+ Id = 1,
+ Version = 1,
+ ExpireAt = mockTime.AddDays(1)
+ };
+ var mockUserInfo = new UserInfo
+ {
+ Id = 1,
+ Username = "aaa",
+ Administrator = false,
+ Version = 1
+ };
+ _mockUserTokenService.Setup(s => s.VerifyToken(mockToken)).Returns(mockTokenInfo);
+ _mockUserService.Setup(s => s.GetUserById(1)).ReturnsAsync(mockUserInfo);
+
+ (await _service.VerifyToken(mockToken)).Should().BeEquivalentTo(mockUserInfo);
+ }
}
}
|