Documentation ¶
Index ¶
- type ConnectorFunc
- type Datastore
- type DatastoreMock
- func (mock *DatastoreMock) GetWaterConsumptions(deviceId string, from time.Time, to time.Time, limit uint64) ([]models.WaterConsumption, error)
- func (mock *DatastoreMock) GetWaterConsumptionsCalls() []struct{ ... }
- func (mock *DatastoreMock) StoreWaterConsumption(entityId string, device string, consumption float64, timestamp time.Time) (*models.WaterConsumption, error)
- func (mock *DatastoreMock) StoreWaterConsumptionCalls() []struct{ ... }
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnectorFunc ¶
ConnectorFunc is used to inject a database connection method into NewDatabaseConnection
func NewPostgreSQLConnector ¶
func NewPostgreSQLConnector(log zerolog.Logger) ConnectorFunc
NewPostgreSQLConnector opens a connection to a postgresql database
func NewSQLiteConnector ¶
func NewSQLiteConnector(log zerolog.Logger) ConnectorFunc
NewSQLiteConnector opens a connection to a local sqlite database
type Datastore ¶
type Datastore interface { GetWaterConsumptions(deviceId string, from, to time.Time, limit uint64) ([]models.WaterConsumption, error) StoreWaterConsumption(entityId, device string, consumption float64, timestamp time.Time) (*models.WaterConsumption, error) }
func NewDatabaseConnection ¶
func NewDatabaseConnection(connect ConnectorFunc) (Datastore, error)
NewDatabaseConnection initializes a new connection to the database and wraps it in a Datastore
type DatastoreMock ¶
type DatastoreMock struct { // GetWaterConsumptionsFunc mocks the GetWaterConsumptions method. GetWaterConsumptionsFunc func(deviceId string, from time.Time, to time.Time, limit uint64) ([]models.WaterConsumption, error) // StoreWaterConsumptionFunc mocks the StoreWaterConsumption method. StoreWaterConsumptionFunc func(entityId string, device string, consumption float64, timestamp time.Time) (*models.WaterConsumption, error) // contains filtered or unexported fields }
DatastoreMock is a mock implementation of Datastore.
func TestSomethingThatUsesDatastore(t *testing.T) { // make and configure a mocked Datastore mockedDatastore := &DatastoreMock{ GetWaterConsumptionsFunc: func(deviceId string, from time.Time, to time.Time, limit uint64) ([]models.WaterConsumption, error) { panic("mock out the GetWaterConsumptions method") }, StoreWaterConsumptionFunc: func(entityId string, device string, consumption float64, timestamp time.Time) (*models.WaterConsumption, error) { panic("mock out the StoreWaterConsumption method") }, } // use mockedDatastore in code that requires Datastore // and then make assertions. }
func (*DatastoreMock) GetWaterConsumptions ¶
func (mock *DatastoreMock) GetWaterConsumptions(deviceId string, from time.Time, to time.Time, limit uint64) ([]models.WaterConsumption, error)
GetWaterConsumptions calls GetWaterConsumptionsFunc.
func (*DatastoreMock) GetWaterConsumptionsCalls ¶
func (mock *DatastoreMock) GetWaterConsumptionsCalls() []struct { DeviceId string From time.Time To time.Time Limit uint64 }
GetWaterConsumptionsCalls gets all the calls that were made to GetWaterConsumptions. Check the length with:
len(mockedDatastore.GetWaterConsumptionsCalls())
func (*DatastoreMock) StoreWaterConsumption ¶
func (mock *DatastoreMock) StoreWaterConsumption(entityId string, device string, consumption float64, timestamp time.Time) (*models.WaterConsumption, error)
StoreWaterConsumption calls StoreWaterConsumptionFunc.
func (*DatastoreMock) StoreWaterConsumptionCalls ¶
func (mock *DatastoreMock) StoreWaterConsumptionCalls() []struct { EntityId string Device string Consumption float64 Timestamp time.Time }
StoreWaterConsumptionCalls gets all the calls that were made to StoreWaterConsumption. Check the length with:
len(mockedDatastore.StoreWaterConsumptionCalls())