| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package config
- import (
- "fmt"
- "github.com/opencost/opencost/core/pkg/opencost"
- "github.com/opencost/opencost/pkg/cloud"
- )
- type MockConfig struct {
- }
- func (mc *MockConfig) Validate() error {
- return nil
- }
- func (mc *MockConfig) Equals(config cloud.Config) bool {
- _, ok := config.(*MockConfig)
- return ok
- }
- func (mc *MockConfig) Sanitize() cloud.Config {
- return &MockConfig{}
- }
- // MockKeyedConfig implements KeyedConfig it only requires a key to be valid, there is an additional property allowing
- // MockKeyedConfig with the same key to not be equal
- type MockKeyedConfig struct {
- key string
- property string
- valid bool
- }
- func NewMockKeyedConfig(key, property string, valid bool) cloud.KeyedConfig {
- return &MockKeyedConfig{
- key: key,
- property: property,
- valid: valid,
- }
- }
- func (mkc *MockKeyedConfig) Validate() error {
- if !mkc.valid {
- return fmt.Errorf("MockKeyedConfig: set to invalid")
- }
- if mkc.key == "" {
- return fmt.Errorf("MockKeyedConfig: missing key")
- }
- return nil
- }
- func (mkc *MockKeyedConfig) Equals(config cloud.Config) bool {
- that, ok := config.(*MockKeyedConfig)
- if !ok {
- return false
- }
- if mkc.key != that.key {
- return false
- }
- if mkc.property != that.property {
- return false
- }
- if mkc.valid != that.valid {
- return false
- }
- return true
- }
- func (mkc *MockKeyedConfig) Sanitize() cloud.Config {
- return &MockKeyedConfig{
- key: mkc.key,
- property: mkc.property,
- valid: mkc.valid,
- }
- }
- func (mkc *MockKeyedConfig) Key() string {
- return mkc.key
- }
- func (mkc *MockKeyedConfig) Provider() string {
- return opencost.CustomProvider
- }
- type MockKeyedConfigWatcher struct {
- Integrations []cloud.KeyedConfig
- }
- func (mkcw *MockKeyedConfigWatcher) GetConfigs() []cloud.KeyedConfig {
- return mkcw.Integrations
- }
|