add Module.Lifecycle getter method
This commit is contained in:
@@ -53,6 +53,12 @@ func NewModule(name string, opts ModuleOpts) *Module {
|
||||
}
|
||||
}
|
||||
|
||||
// Lifecycle returns the lifecycle this module belongs to. If the module is not
|
||||
// part of a lifecycle, it will return nil.
|
||||
func (s *Module) Lifecycle() *Lifecycle {
|
||||
return s.lifecycle
|
||||
}
|
||||
|
||||
// Logger returns the logger for the module. Uses the lifecycle's logger unless
|
||||
// a specific logger has been set during module load.
|
||||
func (s *Module) Logger() *slog.Logger {
|
||||
|
||||
@@ -64,3 +64,16 @@ func TestModule(t *testing.T) {
|
||||
mod.loaded = true
|
||||
assert.NotPanics(func() { mod.RequireLoaded() }, "expected RequireLoaded to not panic when module is loaded")
|
||||
}
|
||||
|
||||
func TestModule_Lifecycle(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
// Create a module and check its lifecycle
|
||||
mod := NewModule("testModule", ModuleOpts{})
|
||||
assert.Nil(mod.Lifecycle(), "expected Lifecycle to return nil when module is not part of a lifecycle")
|
||||
|
||||
// Create a lifecycle and set it to the module
|
||||
lifecycle := &Lifecycle{}
|
||||
mod.lifecycle = lifecycle
|
||||
assert.Equal(lifecycle, mod.Lifecycle(), "expected Lifecycle to return the correct lifecycle")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user