@@ -20,6 +20,10 @@ func TestBackend(t *testing.T) {
2020 backendAddr , err := net .ResolveUDPAddr ("udp" , backend .conn .LocalAddr ().String ())
2121 So (err , ShouldBeNil )
2222
23+ latitude := float64 (1.234 )
24+ longitude := float64 (2.123 )
25+ altitude := int32 (123 )
26+
2327 Convey ("Given a fake gateway UDP publisher" , func () {
2428 gwAddr , err := net .ResolveUDPAddr ("udp" , "127.0.0.1:0" )
2529 So (err , ShouldBeNil )
@@ -58,9 +62,9 @@ func TestBackend(t *testing.T) {
5862 Payload : PushDataPayload {
5963 Stat : & Stat {
6064 Time : ExpandedTime (time.Time {}.UTC ()),
61- Lati : 1.234 ,
62- Long : 2.123 ,
63- Alti : 123 ,
65+ Lati : & latitude ,
66+ Long : & longitude ,
67+ Alti : & altitude ,
6468 RXNb : 1 ,
6569 RXOK : 2 ,
6670 RXFW : 3 ,
@@ -375,13 +379,17 @@ func TestBackend(t *testing.T) {
375379}
376380
377381func TestNewGatewayStatPacket (t * testing.T ) {
378- Convey ("Given a (Semtech) Stat struct and gateway MAC" , t , func () {
382+ Convey ("Given a (Semtech) Stat struct and gateway MAC with GPS data" , t , func () {
383+ latitude := float64 (1.234 )
384+ longitude := float64 (2.123 )
385+ altitude := int32 (123 )
386+
379387 now := time .Now ().UTC ()
380388 stat := Stat {
381389 Time : ExpandedTime (now ),
382- Lati : 1.234 ,
383- Long : 2.123 ,
384- Alti : 234 ,
390+ Lati : & latitude ,
391+ Long : & longitude ,
392+ Alti : & altitude ,
385393 RXNb : 1 ,
386394 RXOK : 2 ,
387395 RXFW : 3 ,
@@ -392,22 +400,53 @@ func TestNewGatewayStatPacket(t *testing.T) {
392400 mac := [8 ]byte {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 }
393401
394402 Convey ("When calling newGatewayStatsPacket" , func () {
403+ latitude := float64 (1.234 )
404+ longitude := float64 (2.123 )
405+ altitude := float64 (123 )
406+
395407 gwStats := newGatewayStatsPacket (mac , stat )
396408 Convey ("Then all fields are set correctly" , func () {
397409 So (gwStats , ShouldResemble , gw.GatewayStatsPacket {
398410 Time : now ,
399411 MAC : mac ,
400- Latitude : 1.234 ,
401- Longitude : 2.123 ,
402- Altitude : 234 ,
412+ Latitude : & latitude ,
413+ Longitude : & longitude ,
414+ Altitude : & altitude ,
403415 RXPacketsReceived : 1 ,
404416 RXPacketsReceivedOK : 2 ,
405417 TXPacketsReceived : 4 ,
406418 TXPacketsEmitted : 3 ,
407419 })
408420 })
409421 })
422+ })
410423
424+ Convey ("Given a (Semtech) Stat struct and gateway MAC without GPS data" , t , func () {
425+ now := time .Now ().UTC ()
426+ stat := Stat {
427+ Time : ExpandedTime (now ),
428+ RXNb : 1 ,
429+ RXOK : 2 ,
430+ RXFW : 3 ,
431+ ACKR : 33.3 ,
432+ DWNb : 4 ,
433+ TXNb : 3 ,
434+ }
435+ mac := [8 ]byte {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 }
436+
437+ Convey ("When calling newGatewayStatsPacket" , func () {
438+ gwStats := newGatewayStatsPacket (mac , stat )
439+ Convey ("Then all fields are set correctly" , func () {
440+ So (gwStats , ShouldResemble , gw.GatewayStatsPacket {
441+ Time : now ,
442+ MAC : mac ,
443+ RXPacketsReceived : 1 ,
444+ RXPacketsReceivedOK : 2 ,
445+ TXPacketsReceived : 4 ,
446+ TXPacketsEmitted : 3 ,
447+ })
448+ })
449+ })
411450 })
412451}
413452
0 commit comments