Tests: Add unit tests

This commit is contained in:
graciousgrey 2024-05-07 16:22:25 +02:00
parent 09ca932a88
commit ca52f0efa5
2 changed files with 126 additions and 0 deletions

View file

@ -77,6 +77,28 @@ func TestOAuthCreateToken_Validate(t *testing.T) {
assert.NoError(t, m.Validate())
})
t.Run("UsernameRequired", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: authn.GrantPassword,
Username: "",
Password: "abcdefg",
ClientName: "test",
Scope: "*",
}
assert.Error(t, m.Validate())
})
t.Run("UsernameTooLong", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: authn.GrantPassword,
Username: "aaaaabbbbbccccdddddfffffrrrrrttttttyyyyssssssssssdddddllllloooooooooowerty",
Password: "abcdefg",
ClientName: "test",
Scope: "*",
}
assert.Error(t, m.Validate())
})
t.Run("PasswordRequired", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: authn.GrantPassword,
@ -86,6 +108,50 @@ func TestOAuthCreateToken_Validate(t *testing.T) {
Scope: "*",
}
assert.Error(t, m.Validate())
})
t.Run("PasswordTooLong", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: authn.GrantPassword,
Username: "admin",
Password: "aaaaabbbbbccccdddddfffffrrrrrttttttyyyyssssssssssdddddllllloooooooooowerty",
ClientName: "test",
Scope: "*",
}
assert.Error(t, m.Validate())
})
t.Run("ClientNameRequired", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: authn.GrantPassword,
Username: "admin",
Password: "cs5gfen1bgxz7s9i",
ClientName: "",
Scope: "*",
}
assert.Error(t, m.Validate())
})
t.Run("ScopeRequired", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: authn.GrantPassword,
Username: "admin",
Password: "cs5gfen1bgxz7s9i",
ClientName: "test",
Scope: "",
}
assert.Error(t, m.Validate())
})
t.Run("InvalidGrantType", func(t *testing.T) {
m := OAuthCreateToken{
GrantType: "invalid",
Username: "admin",
Password: "cs5gfen1bgxz7s9i",
ClientName: "test",
Scope: "",
}
assert.Error(t, m.Validate())
})
}

View file

@ -62,6 +62,13 @@ func TestOAuthRevokeToken_Validate(t *testing.T) {
assert.NoError(t, m.Validate())
assert.Equal(t, AccessToken, m.TokenTypeHint)
})
t.Run("AccessTokenInvalid", func(t *testing.T) {
m := OAuthRevokeToken{
Token: "abc",
TokenTypeHint: "access_token",
}
assert.Error(t, m.Validate())
})
t.Run("SessionID", func(t *testing.T) {
m := OAuthRevokeToken{
Token: rnd.SessionID(rnd.AuthToken()),
@ -70,6 +77,28 @@ func TestOAuthRevokeToken_Validate(t *testing.T) {
assert.NoError(t, m.Validate())
assert.Equal(t, SessionID, m.TokenTypeHint)
})
t.Run("SessionIDInvalid", func(t *testing.T) {
m := OAuthRevokeToken{
Token: "abc",
TokenTypeHint: "session_id",
}
assert.Error(t, m.Validate())
})
t.Run("RefID", func(t *testing.T) {
m := OAuthRevokeToken{
Token: "sessxkkcabce",
TokenTypeHint: "ref_id",
}
assert.NoError(t, m.Validate())
assert.Equal(t, "ref_id", m.TokenTypeHint)
})
t.Run("RefIDInvalid", func(t *testing.T) {
m := OAuthRevokeToken{
Token: "abc",
TokenTypeHint: "ref_id",
}
assert.Error(t, m.Validate())
})
t.Run("NoTokenTypeHint", func(t *testing.T) {
m := OAuthRevokeToken{
Token: rnd.AuthToken(),
@ -78,4 +107,35 @@ func TestOAuthRevokeToken_Validate(t *testing.T) {
assert.NoError(t, m.Validate())
assert.Equal(t, AccessToken, m.TokenTypeHint)
})
t.Run("TypeHintEmptyRefID", func(t *testing.T) {
m := OAuthRevokeToken{
Token: "sessxkkcabce",
TokenTypeHint: "",
}
assert.NoError(t, m.Validate())
assert.Equal(t, "ref_id", m.TokenTypeHint)
})
t.Run("TypeHintEmptySessionID", func(t *testing.T) {
m := OAuthRevokeToken{
Token: rnd.SessionID(rnd.AuthToken()),
TokenTypeHint: "",
}
assert.NoError(t, m.Validate())
assert.Equal(t, SessionID, m.TokenTypeHint)
})
t.Run("TypeHintEmptyAccessToken", func(t *testing.T) {
m := OAuthRevokeToken{
Token: rnd.AuthToken(),
TokenTypeHint: "",
}
assert.NoError(t, m.Validate())
assert.Equal(t, AccessToken, m.TokenTypeHint)
})
t.Run("TypeHintEmptyInvalidToken", func(t *testing.T) {
m := OAuthRevokeToken{
Token: "123",
TokenTypeHint: "",
}
assert.Error(t, m.Validate())
})
}