...

Source file src/github.com/cybertec-postgresql/pgwatch/v3/internal/testutil/mocks.go

Documentation: github.com/cybertec-postgresql/pgwatch/v3/internal/testutil

     1  package testutil
     2  
     3  import (
     4  	"context"
     5  	"errors"
     6  
     7  	"github.com/cybertec-postgresql/pgwatch/v3/api/pb"
     8  	"github.com/cybertec-postgresql/pgwatch/v3/internal/metrics"
     9  	"github.com/cybertec-postgresql/pgwatch/v3/internal/sources"
    10  	"google.golang.org/protobuf/types/known/structpb"
    11  )
    12  
    13  type Receiver struct {
    14  	pb.UnimplementedReceiverServer
    15  }
    16  
    17  func (receiver *Receiver) UpdateMeasurements(_ context.Context, msg *pb.MeasurementEnvelope) (*pb.Reply, error) {
    18  	if len(msg.GetData()) == 0 {
    19  		return nil, errors.New("empty message")
    20  	}
    21  	if msg.GetDBName() != "Db" {
    22  		return nil, errors.New("invalid message")
    23  	}
    24  	return &pb.Reply{}, nil
    25  }
    26  
    27  func (receiver *Receiver) SyncMetric(_ context.Context, syncReq *pb.SyncReq) (*pb.Reply, error) {
    28  	if syncReq == nil {
    29  		return nil, errors.New("nil sync request")
    30  	}
    31  	if syncReq.GetOperation() == pb.SyncOp_InvalidOp {
    32  		return nil, errors.New("invalid sync request")
    33  	}
    34  	return &pb.Reply{}, nil
    35  }
    36  
    37  func (receiver *Receiver) DefineMetrics(_ context.Context, metricsStruct *structpb.Struct) (*pb.Reply, error) {
    38  	if metricsStruct == nil {
    39  		return nil, errors.New("nil metrics struct")
    40  	}
    41  	if metricsStruct.GetFields() == nil {
    42  		return nil, errors.New("empty metrics struct")
    43  	}
    44  	return &pb.Reply{Logmsg: "metrics defined successfully"}, nil
    45  }
    46  
    47  //---------------Sources-Metrics Mocks--------------
    48  
    49  type MockMetricsReaderWriter struct {
    50  	GetMetricsFunc   func() (*metrics.Metrics, error)
    51  	UpdateMetricFunc func(name string, m metrics.Metric) error
    52  	CreateMetricFunc func(name string, m metrics.Metric) error
    53  	DeleteMetricFunc func(name string) error
    54  	DeletePresetFunc func(name string) error
    55  	UpdatePresetFunc func(name string, preset metrics.Preset) error
    56  	CreatePresetFunc func(name string, preset metrics.Preset) error
    57  	WriteMetricsFunc func(metricDefs *metrics.Metrics) error
    58  }
    59  
    60  func (m *MockMetricsReaderWriter) GetMetrics() (*metrics.Metrics, error) {
    61  	return m.GetMetricsFunc()
    62  }
    63  func (m *MockMetricsReaderWriter) UpdateMetric(name string, metric metrics.Metric) error {
    64  	return m.UpdateMetricFunc(name, metric)
    65  }
    66  func (m *MockMetricsReaderWriter) CreateMetric(name string, metric metrics.Metric) error {
    67  	return m.CreateMetricFunc(name, metric)
    68  }
    69  func (m *MockMetricsReaderWriter) DeleteMetric(name string) error {
    70  	return m.DeleteMetricFunc(name)
    71  }
    72  func (m *MockMetricsReaderWriter) DeletePreset(name string) error {
    73  	return m.DeletePresetFunc(name)
    74  }
    75  func (m *MockMetricsReaderWriter) UpdatePreset(name string, preset metrics.Preset) error {
    76  	return m.UpdatePresetFunc(name, preset)
    77  }
    78  func (m *MockMetricsReaderWriter) CreatePreset(name string, preset metrics.Preset) error {
    79  	return m.CreatePresetFunc(name, preset)
    80  }
    81  func (m *MockMetricsReaderWriter) WriteMetrics(metricDefs *metrics.Metrics) error {
    82  	return m.WriteMetricsFunc(metricDefs)
    83  }
    84  
    85  type MockSourcesReaderWriter struct {
    86  	GetSourcesFunc   func() (sources.Sources, error)
    87  	UpdateSourceFunc func(md sources.Source) error
    88  	CreateSourceFunc func(md sources.Source) error
    89  	DeleteSourceFunc func(name string) error
    90  	WriteSourcesFunc func(sources.Sources) error
    91  }
    92  
    93  func (m *MockSourcesReaderWriter) GetSources() (sources.Sources, error) {
    94  	return m.GetSourcesFunc()
    95  }
    96  func (m *MockSourcesReaderWriter) UpdateSource(md sources.Source) error {
    97  	return m.UpdateSourceFunc(md)
    98  }
    99  func (m *MockSourcesReaderWriter) CreateSource(md sources.Source) error {
   100  	return m.CreateSourceFunc(md)
   101  }
   102  func (m *MockSourcesReaderWriter) DeleteSource(name string) error {
   103  	return m.DeleteSourceFunc(name)
   104  }
   105  func (m *MockSourcesReaderWriter) WriteSources(srcs sources.Sources) error {
   106  	return m.WriteSourcesFunc(srcs)
   107  }
   108