@@ -54,6 +54,67 @@ func TestBackend(t *testing.T) {
54
54
})
55
55
})
56
56
57
+ Convey ("When sending a TX_ACK packet (no error)" , func () {
58
+ p := TXACKPacket {
59
+ ProtocolVersion : ProtocolVersion2 ,
60
+ RandomToken : 12345 ,
61
+ GatewayMAC : [8 ]byte {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
62
+ }
63
+ b , err := p .MarshalBinary ()
64
+ So (err , ShouldBeNil )
65
+ _ , err = gwConn .WriteToUDP (b , backendAddr )
66
+ So (err , ShouldBeNil )
67
+
68
+ Convey ("Then the ack is returned by the ack channel" , func () {
69
+ ack := <- backend .TXAckChan ()
70
+ So (ack , ShouldResemble , gw.TXAck {MAC : p .GatewayMAC , Token : p .RandomToken })
71
+ })
72
+ })
73
+
74
+ Convey ("When sending a TX_ACK packet (with error)" , func () {
75
+ p := TXACKPacket {
76
+ ProtocolVersion : ProtocolVersion2 ,
77
+ RandomToken : 12345 ,
78
+ GatewayMAC : [8 ]byte {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
79
+ Payload : & TXACKPayload {
80
+ TXPKACK : TXPKACK {
81
+ Error : gw .ErrGPSUnlocked ,
82
+ },
83
+ },
84
+ }
85
+ b , err := p .MarshalBinary ()
86
+ So (err , ShouldBeNil )
87
+ _ , err = gwConn .WriteToUDP (b , backendAddr )
88
+ So (err , ShouldBeNil )
89
+
90
+ Convey ("Then the ack is returned by the ack channel" , func () {
91
+ ack := <- backend .TXAckChan ()
92
+ So (ack , ShouldResemble , gw.TXAck {MAC : p .GatewayMAC , Token : p .RandomToken , Error : gw .ErrGPSUnlocked })
93
+ })
94
+ })
95
+
96
+ Convey ("When sending a TX_ACK packet (with error 'NONE')" , func () {
97
+ p := TXACKPacket {
98
+ ProtocolVersion : ProtocolVersion2 ,
99
+ RandomToken : 12345 ,
100
+ GatewayMAC : [8 ]byte {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
101
+ Payload : & TXACKPayload {
102
+ TXPKACK : TXPKACK {
103
+ Error : "NONE" ,
104
+ },
105
+ },
106
+ }
107
+ b , err := p .MarshalBinary ()
108
+ So (err , ShouldBeNil )
109
+ _ , err = gwConn .WriteToUDP (b , backendAddr )
110
+ So (err , ShouldBeNil )
111
+
112
+ Convey ("Then the ack is returned by the ack channel" , func () {
113
+ ack := <- backend .TXAckChan ()
114
+ So (ack , ShouldResemble , gw.TXAck {MAC : p .GatewayMAC , Token : p .RandomToken })
115
+ })
116
+ })
117
+
57
118
Convey ("When sending a PUSH_DATA packet with stats" , func () {
58
119
p := PushDataPacket {
59
120
ProtocolVersion : ProtocolVersion2 ,
0 commit comments