summaryrefslogtreecommitdiff
path: root/src/hub/src/spreadspace.org/sfive/s5cvt_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/hub/src/spreadspace.org/sfive/s5cvt_test.go')
-rw-r--r--src/hub/src/spreadspace.org/sfive/s5cvt_test.go59
1 files changed, 46 insertions, 13 deletions
diff --git a/src/hub/src/spreadspace.org/sfive/s5cvt_test.go b/src/hub/src/spreadspace.org/sfive/s5cvt_test.go
index 8ffcbd7..5b53160 100644
--- a/src/hub/src/spreadspace.org/sfive/s5cvt_test.go
+++ b/src/hub/src/spreadspace.org/sfive/s5cvt_test.go
@@ -1,25 +1,58 @@
package sfive
import (
+ "reflect"
"testing"
- "fmt"
+ "time"
)
-func TestEncode(t *testing.T) {
- testData := `{"streamer-id": {"quality": "low", "content-id": "av", "format": "webm"}, "hostname": "localhost", "tags": ["elevate", "2014"]}`
-// otherDingy := `
-// {"data": {"bytes-sent": 0, "client-count": 3, "bytes-received": 0}, "start-time": "2014-08-24Z14:35:33.847282", "duration-ms": 5000}
-// {"data": {"bytes-sent": 1183266, "client-count": 3, "bytes-received": 394422}, "start-time": "2014-08-24Z14:35:38.848950", "duration-ms": 5000}
-// {"data": {"bytes-sent": 1199616, "client-count": 3, "bytes-received": 399872}, "start-time": "2014-08-24Z14:35:43.851006", "duration-ms": 5000}
-// {"data": {"bytes-sent": 1181094, "client-count": 3, "bytes-received": 393698}, "start-time": "2014-08-24Z14:35:48.852863", "duration-ms": 5000}
-// {"data": {"bytes-sent": 1190148, "client-count": 3, "bytes-received": 396716}, "start-time": "2014-08-24Z14:35:53.854541", "duration-ms": 5000}
-// `
- dc := new(StatefulDecoder)
- res, err := dc.Decode([]byte(testData))
+var (
+ sourceIdFields = `"hostname": "localhost", "streamer-id": {"quality": "low", "content-id": "av", "format": "webm"}, "tags": ["elevate", "2014"]`
+ sourceIdData = `{` + sourceIdFields + `}`
+ sourceIdDataStruct = SourceId{Hostname: "localhost", StreamId: StreamId{Quality: "low", ContentId: "av", Format: "webm"}, Tags: []string{"elevate", "2014"}}
+ updateFields = `"data": {"bytes-sent": 1, "client-count": 3, "bytes-received": 1}, "start-time": "2014-08-24T14:35:33.847282Z", "duration-ms": 5000`
+ updateData = "{" + updateFields + "}"
+ updateDataStruct = DataUpdate{Data: SourceData{BytesSent: 1, ClientCount: 3, BytesReceived: 1}, StartTime: time.Date(2014, time.August, 24, 14, 35, 33, 847282000, time.UTC), Duration: 5000}
+ testData = "{" + sourceIdFields + "," + updateFields + "}"
+)
+
+func GetExpected() *StatisticsData {
+ expected := new(StatisticsData)
+ expected.CopyFrom(&sourceIdDataStruct)
+ expected.CopyFromUpdate(&updateDataStruct)
+ return expected
+}
+
+func TestDecodeStateful(t *testing.T) {
+ dc := NewStatefulDecoder([]byte(sourceIdData))
+ dat, err := dc.Decode([]byte(testData))
if err != nil {
t.Errorf("Decode failed with %v", err)
return
}
- fmt.Println("%q", res)
+ expected := GetExpected()
+ if !reflect.DeepEqual(dat, *expected) {
+ t.Errorf("should have been equal\nactual: %v\nexpected: %v\n", &dat, expected)
+ }
}
+func TestDecodePlain(t *testing.T) {
+ ec := new(PlainDecoder)
+ dat, err := ec.Decode([]byte(testData))
+ if err != nil {
+ t.Errorf("Decode failed with %v", err)
+ return
+ }
+ expected := GetExpected()
+ if !reflect.DeepEqual(dat, *expected) {
+ t.Errorf("should have been equal\nactual: %v\nexpected: %v\n", &dat, expected)
+ }
+}
+
+func TestEncode(t *testing.T) {
+ ec := new(PlainEncoder)
+ td := new(StatisticsData)
+ td.CopyFrom(&sourceIdDataStruct)
+ td.CopyFromUpdate(&updateDataStruct)
+ t.Logf("dada: %v", ec.Encode(td))
+}