add map update test
This commit is contained in:
parent
133c6f7315
commit
399c694c3e
113
pkg/weather/grpc/mapupdate_test.go
Normal file
113
pkg/weather/grpc/mapupdate_test.go
Normal file
@ -0,0 +1,113 @@
|
||||
package grpc
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"k8s.io/utils/ptr"
|
||||
|
||||
pb "gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/api/v1alpha1/weather"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/ambient/config"
|
||||
"gitea.libretechconsulting.com/rmcguire/ambient-local-exporter/pkg/weather"
|
||||
)
|
||||
|
||||
var mockUpdate = &weather.WeatherUpdate{
|
||||
DateUTC: &time.Time{},
|
||||
StationConfig: &config.WeatherStation{
|
||||
Name: "50W",
|
||||
Equipment: "WS-5000",
|
||||
},
|
||||
StationID: ptr.To("50W"),
|
||||
StationType: ptr.To("WS-5000"),
|
||||
TempOutdoorF: ptr.To(97.6),
|
||||
TempIndoorF: ptr.To(77.6),
|
||||
HumidityOudoor: ptr.To(50),
|
||||
HumidityIndoor: ptr.To(50),
|
||||
WindSpeedMPH: ptr.To(20.5),
|
||||
WindGustMPH: ptr.To(30.5),
|
||||
MaxDailyGust: ptr.To(40.0),
|
||||
WindDir: ptr.To(180),
|
||||
WindDirAvg10m: ptr.To(180),
|
||||
UV: nil,
|
||||
SolarRadiation: ptr.To(9.999),
|
||||
HourlyRainIn: ptr.To(9.999),
|
||||
EventRainIn: ptr.To(9.999),
|
||||
DailyRainIn: ptr.To(9.999),
|
||||
WeeklyRainIn: ptr.To(9.999),
|
||||
MonthlyRainIn: ptr.To(9.999),
|
||||
YearlyRainIn: ptr.To(9.999),
|
||||
TotalRainIn: ptr.To(9.999),
|
||||
Batteries: []weather.BatteryStatus{
|
||||
{Component: "battery1", Status: ptr.To(1)},
|
||||
{Component: "battery2", Status: ptr.To(1)},
|
||||
},
|
||||
BaromRelativeIn: ptr.To(9.999),
|
||||
BaromAbsoluteIn: ptr.To(9.999),
|
||||
DewPointF: ptr.To(9.999),
|
||||
WindChillF: ptr.To(9.999),
|
||||
TempHumiditySensors: []*weather.TempHumiditySensor{
|
||||
{Name: "sensor1", TempF: ptr.To(99.999), Humidity: nil},
|
||||
},
|
||||
}
|
||||
|
||||
func TestUpdateToPbUpdate(t *testing.T) {
|
||||
type args struct {
|
||||
u *weather.WeatherUpdate
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *pb.WeatherUpdate
|
||||
}{
|
||||
{
|
||||
name: "Map Update to PB",
|
||||
args: args{u: mockUpdate},
|
||||
want: &pb.WeatherUpdate{
|
||||
StationName: mockUpdate.StationConfig.Name,
|
||||
StationType: *mockUpdate.StationType,
|
||||
StationId: *mockUpdate.StationID,
|
||||
TempOutdoorF: mockUpdate.TempOutdoorF,
|
||||
TempIndoorF: mockUpdate.TempIndoorF,
|
||||
HumidityOutdoor: ptr.To(int32(*mockUpdate.HumidityOudoor)),
|
||||
HumidityIndoor: ptr.To(int32(*mockUpdate.HumidityIndoor)),
|
||||
WindSpeedMph: mockUpdate.WindSpeedMPH,
|
||||
WindGustMph: mockUpdate.WindGustMPH,
|
||||
MaxDailyGust: mockUpdate.MaxDailyGust,
|
||||
WindDir: ptr.To(int32(*mockUpdate.WindDir)),
|
||||
WindDirAvg_10M: ptr.To(int32(*mockUpdate.WindDirAvg10m)),
|
||||
Uv: nil,
|
||||
SolarRadiation: mockUpdate.SolarRadiation,
|
||||
HourlyRainIn: mockUpdate.HourlyRainIn,
|
||||
EventRainIn: mockUpdate.EventRainIn,
|
||||
DailyRainIn: mockUpdate.DailyRainIn,
|
||||
WeeklyRainIn: mockUpdate.WeeklyRainIn,
|
||||
MonthlyRainIn: mockUpdate.MonthlyRainIn,
|
||||
YearlyRainIn: mockUpdate.YearlyRainIn,
|
||||
TotalRainIn: mockUpdate.TotalRainIn,
|
||||
Batteries: []*pb.BatteryStatus{
|
||||
{Component: mockUpdate.Batteries[0].Component, Status: ptr.To(int32(*mockUpdate.Batteries[0].Status))},
|
||||
{Component: mockUpdate.Batteries[1].Component, Status: ptr.To(int32(*mockUpdate.Batteries[1].Status))},
|
||||
},
|
||||
BaromRelativeIn: mockUpdate.BaromRelativeIn,
|
||||
BaromAbsoluteIn: mockUpdate.BaromAbsoluteIn,
|
||||
DewPointF: mockUpdate.DewPointF,
|
||||
WindChillF: mockUpdate.WindChillF,
|
||||
TempHumiditySensors: []*pb.TempHumiditySensor{
|
||||
{
|
||||
Name: mockUpdate.TempHumiditySensors[0].Name,
|
||||
TempF: mockUpdate.TempHumiditySensors[0].TempF,
|
||||
Humidity: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := UpdateToPbUpdate(tt.args.u); !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("UpdateToPbUpdate() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user