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
|
// Logger returns the logger for the module. Uses the lifecycle's logger unless
|
||||||
// a specific logger has been set during module load.
|
// a specific logger has been set during module load.
|
||||||
func (s *Module) Logger() *slog.Logger {
|
func (s *Module) Logger() *slog.Logger {
|
||||||
|
|||||||
@@ -64,3 +64,16 @@ func TestModule(t *testing.T) {
|
|||||||
mod.loaded = true
|
mod.loaded = true
|
||||||
assert.NotPanics(func() { mod.RequireLoaded() }, "expected RequireLoaded to not panic when module is loaded")
|
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