gomonop/pkg/plugin/plugin.go
Emmanuel BENOîT 78af496fe9 refactor: make internals easier to test and add unit tests ()
This PR refactors most of the internals to make them easier to test (and also because the names didn't make sense). It adds unit tests for all internal components.

Reviewed-on: 
Co-authored-by: Emmanuel BENOÎT <tseeker@nocternity.net>
Co-committed-by: Emmanuel BENOÎT <tseeker@nocternity.net>
2024-07-20 10:01:05 +02:00

20 lines
685 B
Go

package plugin // import nocternity.net/gomonop/pkg/plugin
import "nocternity.net/gomonop/pkg/results"
// Plugin represents the interface to a monitoring plugin.
type Plugin interface {
// Results accesses the results of the monitoring plugin.
Results() *results.Results
// CheckArguments ensures that the arguments that were passed to the plugin
// actually make sense. Errors should be stored in the plugin's results.
CheckArguments() bool
// RunCheck actually runs whatever checks are implemented by the plugin and
// updates the results accordingly.
RunCheck()
}
// Builder is a function that can be called in order to instantiate a plugin.
type Builder func() Plugin