Skip to content

Commit 07c28a4

Browse files
committed
Better error messages with tests
1 parent 7538ebd commit 07c28a4

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

FirebaseAdmin/FirebaseAdmin.Tests/Auth/FirebaseTokenVerifierTest.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,17 @@ await Assert.ThrowsAsync<FirebaseException>(
132132
[Fact]
133133
public async Task Expired()
134134
{
135+
var expiryTime = Clock.UnixTimestamp() - (ClockSkewSeconds + 1);
135136
var payload = new Dictionary<string, object>()
136137
{
137-
{ "exp", Clock.UnixTimestamp() - (ClockSkewSeconds + 1) },
138+
{ "exp", expiryTime },
138139
};
139140
var idToken = await CreateTestTokenAsync(payloadOverrides: payload);
140-
await Assert.ThrowsAsync<FirebaseException>(
141+
var exception = await Assert.ThrowsAsync<FirebaseException>(
141142
async () => await TokenVerifier.VerifyTokenAsync(idToken));
143+
var expectedMessage = $"Firebase ID token expired at {expiryTime}. "
144+
+ $"Expected to be greater than {Clock.UnixTimestamp()}.";
145+
Assert.Equal(expectedMessage, exception.Message);
142146
}
143147

144148
[Fact]
@@ -160,13 +164,17 @@ public async Task ExpiryTimeInAcceptableRange()
160164
[Fact]
161165
public async Task InvalidIssuedAt()
162166
{
167+
var issuedAt = Clock.UnixTimestamp() + (ClockSkewSeconds + 1);
163168
var payload = new Dictionary<string, object>()
164169
{
165-
{ "iat", Clock.UnixTimestamp() + (ClockSkewSeconds + 1) },
170+
{ "iat", issuedAt },
166171
};
167172
var idToken = await CreateTestTokenAsync(payloadOverrides: payload);
168-
await Assert.ThrowsAsync<FirebaseException>(
173+
var exception = await Assert.ThrowsAsync<FirebaseException>(
169174
async () => await TokenVerifier.VerifyTokenAsync(idToken));
175+
var expectedMessage = $"Firebase ID token issued at future timestamp {issuedAt}. "
176+
+ $"Expected to be less than {Clock.UnixTimestamp()}.";
177+
Assert.Equal(expectedMessage, exception.Message);
170178
}
171179

172180
[Fact]

FirebaseAdmin/FirebaseAdmin/Auth/FirebaseTokenVerifier.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,13 +159,13 @@ internal async Task<FirebaseToken> VerifyTokenAsync(
159159
else if (payload.IssuedAtTimeSeconds - ClockSkewSeconds > currentTimeInSeconds)
160160
{
161161
error = $"Firebase {this.shortName} issued at future timestamp "
162-
+ $"{payload.IssuedAtTimeSeconds}. Expected to be greater than "
162+
+ $"{payload.IssuedAtTimeSeconds}. Expected to be less than "
163163
+ $"{currentTimeInSeconds}.";
164164
}
165165
else if (payload.ExpirationTimeSeconds + ClockSkewSeconds < currentTimeInSeconds)
166166
{
167167
error = $"Firebase {this.shortName} expired at {payload.ExpirationTimeSeconds}. "
168-
+ $" Expected to be less than ${currentTimeInSeconds}.";
168+
+ $"Expected to be greater than {currentTimeInSeconds}.";
169169
}
170170
else if (string.IsNullOrEmpty(payload.Subject))
171171
{

0 commit comments

Comments
 (0)