func (_m *Index) GetCompilationUnits(_a0 ...namer.ModuleID) (map[namer.ModuleID]*policy.CompilationUnit, error) {
	_va := make([]interface{}, len(_a0))
	for _i := range _a0 {
		_va[_i] = _a0[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)
	var r0 map[namer.ModuleID]*policy.CompilationUnit
	if rf, ok := ret.Get(0).(func(...namer.ModuleID) map[namer.ModuleID]*policy.CompilationUnit); ok {
		r0 = rf(_a0...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(map[namer.ModuleID]*policy.CompilationUnit)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(...namer.ModuleID) error); ok {
		r1 = rf(_a0...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
GetCompilationUnits provides a mock function with given fields: _a0
package mocks
import (
	context "context"
	index "github.com/cerbos/cerbos/internal/storage/index"
	mock "github.com/stretchr/testify/mock"
	namer "github.com/cerbos/cerbos/internal/namer"
	policy "github.com/cerbos/cerbos/internal/policy"
	storage "github.com/cerbos/cerbos/internal/storage"
)
type Index struct {
	mock.Mock
}
func (_m *Index) AddOrUpdate(_a0 index.Entry) (storage.Event, error) {
	ret := _m.Called(_a0)
	var r0 storage.Event
	if rf, ok := ret.Get(0).(func(index.Entry) storage.Event); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Get(0).(storage.Event)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(index.Entry) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Index) Clear() error {
	ret := _m.Called()
	var r0 error
	if rf, ok := ret.Get(0).(func() error); ok {
		r0 = rf()
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Index) Delete(_a0 index.Entry) (storage.Event, error) {
	ret := _m.Called(_a0)
	var r0 storage.Event
	if rf, ok := ret.Get(0).(func(index.Entry) storage.Event); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Get(0).(storage.Event)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(index.Entry) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Index) GetAllCompilationUnits(_a0 context.Context) <-chan *policy.CompilationUnit {
	ret := _m.Called(_a0)
	var r0 <-chan *policy.CompilationUnit
	if rf, ok := ret.Get(0).(func(context.Context) <-chan *policy.CompilationUnit); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(<-chan *policy.CompilationUnit)
		}
	}
	return r0
}