| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | using Newtonsoft.Json; |
| | using System; |
| | using Xunit; |
| |
|
| | namespace Google.Apis.Auth.Tests |
| | { |
| | public class SignedTokenTests |
| | { |
| | [Fact] |
| | public void FromGoogleSigned() |
| | { |
| | var signedToken = SignedToken<GoogleJsonWebSignature.Header, GoogleJsonWebSignature.Payload>.FromSignedToken(FakeCertificateCache.JwtGoogleSigned); |
| | |
| | Assert.Contains("google.com", signedToken.Payload.Issuer); |
| | |
| | Assert.NotNull(signedToken.Payload.HostedDomain); |
| | } |
| |
|
| | [Fact] |
| | public void FromNonGoogleSigned() |
| | { |
| | var signedToken = SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken(FakeCertificateCache.JwtNonGoogleSigned); |
| | |
| | Assert.DoesNotContain("google.com", signedToken.Payload.Issuer); |
| | } |
| |
|
| | [Fact] |
| | public void FromGoogleSigned_ToJsonWebSignatureTypes() |
| | { |
| | |
| | |
| | var signedToken = SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken(FakeCertificateCache.JwtGoogleSigned); |
| | |
| | Assert.Contains("google.com", signedToken.Payload.Issuer); |
| | } |
| |
|
| | [Fact] |
| | public void FromNonGoogleSigned_ToGoogleJsonWebSignatureTypes() |
| | { |
| | |
| | |
| | |
| | var signedToken = SignedToken<GoogleJsonWebSignature.Header, GoogleJsonWebSignature.Payload>.FromSignedToken(FakeCertificateCache.JwtNonGoogleSigned); |
| | |
| | Assert.DoesNotContain("google.com", signedToken.Payload.Issuer); |
| | |
| | Assert.Null(signedToken.Payload.Scope); |
| | Assert.Null(signedToken.Payload.Prn); |
| | Assert.Null(signedToken.Payload.HostedDomain); |
| | Assert.Null(signedToken.Payload.Email); |
| | Assert.Null(signedToken.Payload.Name); |
| | Assert.Null(signedToken.Payload.GivenName); |
| | Assert.Null(signedToken.Payload.FamilyName); |
| | Assert.Null(signedToken.Payload.Picture); |
| | Assert.Null(signedToken.Payload.Locale); |
| | } |
| |
|
| | [Fact] |
| | public void FromSignedToken_ThrowsIfNull() |
| | { |
| | Assert.Throws<ArgumentNullException>( |
| | () => SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken(null)); |
| | } |
| |
|
| | [Fact] |
| | public void FromSignedToken_ThrowsIfEmpty() |
| | { |
| | Assert.Throws<ArgumentException>( |
| | () => SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken(string.Empty)); |
| | } |
| |
|
| | [Theory] |
| | [InlineData("header.payload")] |
| | [InlineData("header.payload.signature.somethingelse")] |
| | public void FromSignedToken_ThrowsIfIncorrectPartCount(string jwt) |
| | { |
| | Assert.Throws<InvalidJwtException>( |
| | () => SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken(jwt)); |
| | } |
| |
|
| | [Fact] |
| | public void FromSignedToken_ThrowsIfNotBase64() |
| | { |
| | Assert.Throws<FormatException>( |
| | () => SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken( |
| | "not_base64_header.not_base64_serialized_payload.signature")); |
| | } |
| |
|
| | [Fact] |
| | public void FromSignedToken_ThrowsIfNotValidJson() |
| | { |
| | Assert.Throws<JsonReaderException>( |
| | () => SignedToken<JsonWebSignature.Header, JsonWebSignature.Payload>.FromSignedToken( |
| | "YmFzZV82NF9oZWFkZXJfbm9fanNvbg==.YmFzZV82NF9wYXlsb2FkX25vX2pzb24=.c2lnbmF0dXJl")); |
| | } |
| | } |
| | } |
| |
|