jojo/modules/cache/mocks.go
Mathieu Fenniak 37412e6a00 feat: cache OIDC metadata & JWKS when read by authorized integration (#12275)
Enhances authorized integrations (#12261) with a cache of the remote OpenID Connect descriptor file and JSON Web Key Set (JWKS), improving runtime performance and reducing intermittent reliability risks.  By default a 10 minute cache is used, configurable through `[authorized_integration].CACHE_TTL`.

To mock the cache for testing, mockery code generation is added, and a previous manually generated mock for `AuthorizationReducer` was replaced with the code generation.

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. All work and communication must conform to Forgejo's [AI Agreement](https://codeberg.org/forgejo/governance/src/branch/main/AIAgreement.md). There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests for Go changes

- I added test coverage for Go changes...
  - [x] in their respective `*_test.go` for unit tests.
  - [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I ran...
  - [x] `make pr-go` before pushing

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] This change will be noticed by a Forgejo user or admin (feature, bug fix, performance, etc.). I suggest to include a release note for this change.
- [ ] This change is not visible to a Forgejo user or admin (refactor, dependency upgrade, etc.). I think there is no need to add a release note for this change.
    - Authorized integrations are not yet exposed to end-users.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12275
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2026-04-28 02:13:06 +02:00

497 lines
11 KiB
Go

// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: testify
package cache
import (
"code.forgejo.org/go-chi/cache"
mock "github.com/stretchr/testify/mock"
)
// NewMockCache creates a new instance of MockCache. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewMockCache(t interface {
mock.TestingT
Cleanup(func())
},
) *MockCache {
mock := &MockCache{}
mock.Mock.Test(t)
t.Cleanup(func() { mock.AssertExpectations(t) })
return mock
}
// MockCache is an autogenerated mock type for the Cache type
type MockCache struct {
mock.Mock
}
type MockCache_Expecter struct {
mock *mock.Mock
}
func (_m *MockCache) EXPECT() *MockCache_Expecter {
return &MockCache_Expecter{mock: &_m.Mock}
}
// Decr provides a mock function for the type MockCache
func (_mock *MockCache) Decr(key string) error {
ret := _mock.Called(key)
if len(ret) == 0 {
panic("no return value specified for Decr")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func(string) error); ok {
r0 = returnFunc(key)
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_Decr_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Decr'
type MockCache_Decr_Call struct {
*mock.Call
}
// Decr is a helper method to define mock.On call
// - key string
func (_e *MockCache_Expecter) Decr(key any) *MockCache_Decr_Call {
return &MockCache_Decr_Call{Call: _e.mock.On("Decr", key)}
}
func (_c *MockCache_Decr_Call) Run(run func(key string)) *MockCache_Decr_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 string
if args[0] != nil {
arg0 = args[0].(string)
}
run(
arg0,
)
})
return _c
}
func (_c *MockCache_Decr_Call) Return(err error) *MockCache_Decr_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_Decr_Call) RunAndReturn(run func(key string) error) *MockCache_Decr_Call {
_c.Call.Return(run)
return _c
}
// Delete provides a mock function for the type MockCache
func (_mock *MockCache) Delete(key string) error {
ret := _mock.Called(key)
if len(ret) == 0 {
panic("no return value specified for Delete")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func(string) error); ok {
r0 = returnFunc(key)
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_Delete_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Delete'
type MockCache_Delete_Call struct {
*mock.Call
}
// Delete is a helper method to define mock.On call
// - key string
func (_e *MockCache_Expecter) Delete(key any) *MockCache_Delete_Call {
return &MockCache_Delete_Call{Call: _e.mock.On("Delete", key)}
}
func (_c *MockCache_Delete_Call) Run(run func(key string)) *MockCache_Delete_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 string
if args[0] != nil {
arg0 = args[0].(string)
}
run(
arg0,
)
})
return _c
}
func (_c *MockCache_Delete_Call) Return(err error) *MockCache_Delete_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_Delete_Call) RunAndReturn(run func(key string) error) *MockCache_Delete_Call {
_c.Call.Return(run)
return _c
}
// Flush provides a mock function for the type MockCache
func (_mock *MockCache) Flush() error {
ret := _mock.Called()
if len(ret) == 0 {
panic("no return value specified for Flush")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func() error); ok {
r0 = returnFunc()
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_Flush_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Flush'
type MockCache_Flush_Call struct {
*mock.Call
}
// Flush is a helper method to define mock.On call
func (_e *MockCache_Expecter) Flush() *MockCache_Flush_Call {
return &MockCache_Flush_Call{Call: _e.mock.On("Flush")}
}
func (_c *MockCache_Flush_Call) Run(run func()) *MockCache_Flush_Call {
_c.Call.Run(func(args mock.Arguments) {
run()
})
return _c
}
func (_c *MockCache_Flush_Call) Return(err error) *MockCache_Flush_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_Flush_Call) RunAndReturn(run func() error) *MockCache_Flush_Call {
_c.Call.Return(run)
return _c
}
// Get provides a mock function for the type MockCache
func (_mock *MockCache) Get(key string) any {
ret := _mock.Called(key)
if len(ret) == 0 {
panic("no return value specified for Get")
}
var r0 any
if returnFunc, ok := ret.Get(0).(func(string) any); ok {
r0 = returnFunc(key)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(any)
}
}
return r0
}
// MockCache_Get_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Get'
type MockCache_Get_Call struct {
*mock.Call
}
// Get is a helper method to define mock.On call
// - key string
func (_e *MockCache_Expecter) Get(key any) *MockCache_Get_Call {
return &MockCache_Get_Call{Call: _e.mock.On("Get", key)}
}
func (_c *MockCache_Get_Call) Run(run func(key string)) *MockCache_Get_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 string
if args[0] != nil {
arg0 = args[0].(string)
}
run(
arg0,
)
})
return _c
}
func (_c *MockCache_Get_Call) Return(v any) *MockCache_Get_Call {
_c.Call.Return(v)
return _c
}
func (_c *MockCache_Get_Call) RunAndReturn(run func(key string) any) *MockCache_Get_Call {
_c.Call.Return(run)
return _c
}
// Incr provides a mock function for the type MockCache
func (_mock *MockCache) Incr(key string) error {
ret := _mock.Called(key)
if len(ret) == 0 {
panic("no return value specified for Incr")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func(string) error); ok {
r0 = returnFunc(key)
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_Incr_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Incr'
type MockCache_Incr_Call struct {
*mock.Call
}
// Incr is a helper method to define mock.On call
// - key string
func (_e *MockCache_Expecter) Incr(key any) *MockCache_Incr_Call {
return &MockCache_Incr_Call{Call: _e.mock.On("Incr", key)}
}
func (_c *MockCache_Incr_Call) Run(run func(key string)) *MockCache_Incr_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 string
if args[0] != nil {
arg0 = args[0].(string)
}
run(
arg0,
)
})
return _c
}
func (_c *MockCache_Incr_Call) Return(err error) *MockCache_Incr_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_Incr_Call) RunAndReturn(run func(key string) error) *MockCache_Incr_Call {
_c.Call.Return(run)
return _c
}
// IsExist provides a mock function for the type MockCache
func (_mock *MockCache) IsExist(key string) bool {
ret := _mock.Called(key)
if len(ret) == 0 {
panic("no return value specified for IsExist")
}
var r0 bool
if returnFunc, ok := ret.Get(0).(func(string) bool); ok {
r0 = returnFunc(key)
} else {
r0 = ret.Get(0).(bool)
}
return r0
}
// MockCache_IsExist_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'IsExist'
type MockCache_IsExist_Call struct {
*mock.Call
}
// IsExist is a helper method to define mock.On call
// - key string
func (_e *MockCache_Expecter) IsExist(key any) *MockCache_IsExist_Call {
return &MockCache_IsExist_Call{Call: _e.mock.On("IsExist", key)}
}
func (_c *MockCache_IsExist_Call) Run(run func(key string)) *MockCache_IsExist_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 string
if args[0] != nil {
arg0 = args[0].(string)
}
run(
arg0,
)
})
return _c
}
func (_c *MockCache_IsExist_Call) Return(b bool) *MockCache_IsExist_Call {
_c.Call.Return(b)
return _c
}
func (_c *MockCache_IsExist_Call) RunAndReturn(run func(key string) bool) *MockCache_IsExist_Call {
_c.Call.Return(run)
return _c
}
// Ping provides a mock function for the type MockCache
func (_mock *MockCache) Ping() error {
ret := _mock.Called()
if len(ret) == 0 {
panic("no return value specified for Ping")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func() error); ok {
r0 = returnFunc()
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_Ping_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Ping'
type MockCache_Ping_Call struct {
*mock.Call
}
// Ping is a helper method to define mock.On call
func (_e *MockCache_Expecter) Ping() *MockCache_Ping_Call {
return &MockCache_Ping_Call{Call: _e.mock.On("Ping")}
}
func (_c *MockCache_Ping_Call) Run(run func()) *MockCache_Ping_Call {
_c.Call.Run(func(args mock.Arguments) {
run()
})
return _c
}
func (_c *MockCache_Ping_Call) Return(err error) *MockCache_Ping_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_Ping_Call) RunAndReturn(run func() error) *MockCache_Ping_Call {
_c.Call.Return(run)
return _c
}
// Put provides a mock function for the type MockCache
func (_mock *MockCache) Put(key string, val any, timeout int64) error {
ret := _mock.Called(key, val, timeout)
if len(ret) == 0 {
panic("no return value specified for Put")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func(string, any, int64) error); ok {
r0 = returnFunc(key, val, timeout)
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_Put_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Put'
type MockCache_Put_Call struct {
*mock.Call
}
// Put is a helper method to define mock.On call
// - key string
// - val any
// - timeout int64
func (_e *MockCache_Expecter) Put(key, val, timeout any) *MockCache_Put_Call {
return &MockCache_Put_Call{Call: _e.mock.On("Put", key, val, timeout)}
}
func (_c *MockCache_Put_Call) Run(run func(key string, val any, timeout int64)) *MockCache_Put_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 string
if args[0] != nil {
arg0 = args[0].(string)
}
var arg1 any
if args[1] != nil {
arg1 = args[1].(any)
}
var arg2 int64
if args[2] != nil {
arg2 = args[2].(int64)
}
run(
arg0,
arg1,
arg2,
)
})
return _c
}
func (_c *MockCache_Put_Call) Return(err error) *MockCache_Put_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_Put_Call) RunAndReturn(run func(key string, val any, timeout int64) error) *MockCache_Put_Call {
_c.Call.Return(run)
return _c
}
// StartAndGC provides a mock function for the type MockCache
func (_mock *MockCache) StartAndGC(opt cache.Options) error {
ret := _mock.Called(opt)
if len(ret) == 0 {
panic("no return value specified for StartAndGC")
}
var r0 error
if returnFunc, ok := ret.Get(0).(func(cache.Options) error); ok {
r0 = returnFunc(opt)
} else {
r0 = ret.Error(0)
}
return r0
}
// MockCache_StartAndGC_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'StartAndGC'
type MockCache_StartAndGC_Call struct {
*mock.Call
}
// StartAndGC is a helper method to define mock.On call
// - opt cache.Options
func (_e *MockCache_Expecter) StartAndGC(opt any) *MockCache_StartAndGC_Call {
return &MockCache_StartAndGC_Call{Call: _e.mock.On("StartAndGC", opt)}
}
func (_c *MockCache_StartAndGC_Call) Run(run func(opt cache.Options)) *MockCache_StartAndGC_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 cache.Options
if args[0] != nil {
arg0 = args[0].(cache.Options)
}
run(
arg0,
)
})
return _c
}
func (_c *MockCache_StartAndGC_Call) Return(err error) *MockCache_StartAndGC_Call {
_c.Call.Return(err)
return _c
}
func (_c *MockCache_StartAndGC_Call) RunAndReturn(run func(opt cache.Options) error) *MockCache_StartAndGC_Call {
_c.Call.Return(run)
return _c
}