github.com/netdata/go.d.plugin@v0.58.1/agent/module/mock.go (about)

     1  // SPDX-License-Identifier: GPL-3.0-or-later
     2  
     3  package module
     4  
     5  // MockModule MockModule.
     6  type MockModule struct {
     7  	Base
     8  
     9  	InitFunc    func() bool
    10  	CheckFunc   func() bool
    11  	ChartsFunc  func() *Charts
    12  	CollectFunc func() map[string]int64
    13  	CleanupFunc func()
    14  	CleanupDone bool
    15  }
    16  
    17  // Init invokes InitFunc.
    18  func (m MockModule) Init() bool {
    19  	if m.InitFunc == nil {
    20  		return true
    21  	}
    22  	return m.InitFunc()
    23  }
    24  
    25  // Check invokes CheckFunc.
    26  func (m MockModule) Check() bool {
    27  	if m.CheckFunc == nil {
    28  		return true
    29  	}
    30  	return m.CheckFunc()
    31  }
    32  
    33  // Charts invokes ChartsFunc.
    34  func (m MockModule) Charts() *Charts {
    35  	if m.ChartsFunc == nil {
    36  		return nil
    37  	}
    38  	return m.ChartsFunc()
    39  }
    40  
    41  // Collect invokes CollectDunc.
    42  func (m MockModule) Collect() map[string]int64 {
    43  	if m.CollectFunc == nil {
    44  		return nil
    45  	}
    46  	return m.CollectFunc()
    47  }
    48  
    49  // Cleanup sets CleanupDone to true.
    50  func (m *MockModule) Cleanup() {
    51  	if m.CleanupFunc != nil {
    52  		m.CleanupFunc()
    53  	}
    54  	m.CleanupDone = true
    55  }