mirror of
https://github.com/lukaszraczylo/traefikoidc.git
synced 2026-10-14 04:07:46 +00:00
* Add redis support for distributed caching * Move towards the self-provided Redis connection pool and RESP protocol implementation. Official redis client library won't work with yaegi. * fixup! Move towards the self-provided Redis connection pool and RESP protocol implementation. Official redis client library won't work with yaegi. * fixup! fixup! Move towards the self-provided Redis connection pool and RESP protocol implementation. Official redis client library won't work with yaegi. * fixup! fixup! fixup! Move towards the self-provided Redis connection pool and RESP protocol implementation. Official redis client library won't work with yaegi. * fixup! fixup! fixup! fixup! Move towards the self-provided Redis connection pool and RESP protocol implementation. Official redis client library won't work with yaegi. * fixup! fixup! fixup! fixup! fixup! Move towards the self-provided Redis connection pool and RESP protocol implementation. Official redis client library won't work with yaegi. * ... and another all nighter. * fixup! ... and another all nighter. * fixup! fixup! ... and another all nighter. * fixup! fixup! fixup! ... and another all nighter. * Resolve issue #85 by adding ability to set custom claims in JWT tokens * Remove redundant validation in auth middleware ( issue #89 ) * Add ability to set cookie prefix for session cookies ( #87 ) * fixup! Add ability to set cookie prefix for session cookies ( #87 ) * Add ability to set cookie max age - issue #91 * Potential fix for code scanning alert no. 10: Size computation for allocation may overflow Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fixup! Merge main into 0.8.0-redis: resolve conflicts --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
package miniredis
|
|
|
|
import (
|
|
"reflect"
|
|
"sort"
|
|
)
|
|
|
|
// T is implemented by Testing.T
|
|
type T interface {
|
|
Helper()
|
|
Errorf(string, ...interface{})
|
|
}
|
|
|
|
// CheckGet does not call Errorf() iff there is a string key with the
|
|
// expected value. Normal use case is `m.CheckGet(t, "username", "theking")`.
|
|
func (m *Miniredis) CheckGet(t T, key, expected string) {
|
|
t.Helper()
|
|
|
|
found, err := m.Get(key)
|
|
if err != nil {
|
|
t.Errorf("GET error, key %#v: %v", key, err)
|
|
return
|
|
}
|
|
if found != expected {
|
|
t.Errorf("GET error, key %#v: Expected %#v, got %#v", key, expected, found)
|
|
return
|
|
}
|
|
}
|
|
|
|
// CheckList does not call Errorf() iff there is a list key with the
|
|
// expected values.
|
|
// Normal use case is `m.CheckGet(t, "favorite_colors", "red", "green", "infrared")`.
|
|
func (m *Miniredis) CheckList(t T, key string, expected ...string) {
|
|
t.Helper()
|
|
|
|
found, err := m.List(key)
|
|
if err != nil {
|
|
t.Errorf("List error, key %#v: %v", key, err)
|
|
return
|
|
}
|
|
if !reflect.DeepEqual(expected, found) {
|
|
t.Errorf("List error, key %#v: Expected %#v, got %#v", key, expected, found)
|
|
return
|
|
}
|
|
}
|
|
|
|
// CheckSet does not call Errorf() iff there is a set key with the
|
|
// expected values.
|
|
// Normal use case is `m.CheckSet(t, "visited", "Rome", "Stockholm", "Dublin")`.
|
|
func (m *Miniredis) CheckSet(t T, key string, expected ...string) {
|
|
t.Helper()
|
|
|
|
found, err := m.Members(key)
|
|
if err != nil {
|
|
t.Errorf("Set error, key %#v: %v", key, err)
|
|
return
|
|
}
|
|
sort.Strings(expected)
|
|
if !reflect.DeepEqual(expected, found) {
|
|
t.Errorf("Set error, key %#v: Expected %#v, got %#v", key, expected, found)
|
|
return
|
|
}
|
|
}
|