]> git.giacomolli.uk - onehouse/blob - driver/alamo/gateway_record_test.go
Poll and command shared Alamo thermostats
[onehouse] / driver / alamo / gateway_record_test.go
1 package alamo
2
3 import (
4 "encoding/json"
5 "math"
6 "testing"
7
8 "github.com/stretchr/testify/require"
9 )
10
11 func TestGatewayRecordRejectsInvalidMACAndNonfiniteTemperatures(t *testing.T) {
12 var record gatewayRecord
13
14 require.NoError(t, json.Unmarshal([]byte(validRecord), &record))
15
16 invalid := "zzzzzzzzzzzz"
17 record.MAC = &invalid
18 _, err := record.state()
19 require.Error(t, err)
20
21 valid := testMAC
22 record.MAC = &valid
23 nonfinite := math.NaN()
24 record.Floor = &nonfinite
25 _, err = record.state()
26 require.ErrorContains(t, err, "finite")
27 }