Skip to content

Commit

Permalink
Update event-log text. Use JSON marshaling.
Browse files Browse the repository at this point in the history
  • Loading branch information
brocaar committed Apr 27, 2018
1 parent 2667594 commit a5e0304
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
11 changes: 5 additions & 6 deletions internal/eventlog/eventlog.go
@@ -1,9 +1,8 @@
package eventlog

import (
"bytes"
"context"
"encoding/gob"
"encoding/json"
"fmt"
"time"

Expand Down Expand Up @@ -39,12 +38,12 @@ func LogEventForDevice(devEUI lorawan.EUI64, el EventLog) error {
defer c.Close()

key := fmt.Sprintf(deviceEventUplinkPubSubKeyTempl, devEUI)
var buf bytes.Buffer
if err := gob.NewEncoder(&buf).Encode(el); err != nil {
b, err := json.Marshal(el)
if err != nil {
return errors.Wrap(err, "gob encode error")
}

if _, err := c.Do("PUBLISH", key, buf.Bytes()); err != nil {
if _, err := c.Do("PUBLISH", key, b); err != nil {
return errors.Wrap(err, "publish device event error")
}

Expand Down Expand Up @@ -115,7 +114,7 @@ loop:

func redisMessageToEventLog(msg redis.Message) (EventLog, error) {
var el EventLog
if err := gob.NewDecoder(bytes.NewReader(msg.Data)).Decode(&el); err != nil {
if err := json.Unmarshal(msg.Data, &el); err != nil {
return el, errors.Wrap(err, "gob decode error")
}

Expand Down
6 changes: 6 additions & 0 deletions internal/eventlog/eventlog_test.go
Expand Up @@ -41,13 +41,19 @@ func TestEventLog(t *testing.T) {
Convey("When calling LogEventForDevice", func() {
el := EventLog{
Type: Join,
Payload: map[string]interface{}{
"foo": "bar",
},
}

So(LogEventForDevice(devEUI, el), ShouldBeNil)

Convey("Then the event has been logged", func() {
So(<-logChannel, ShouldResemble, EventLog{
Type: Join,
Payload: map[string]interface{}{
"foo": "bar",
},
})
})
})
Expand Down

0 comments on commit a5e0304

Please sign in to comment.