kinesis-consumer/buffer_test.go
Harlow Ward f0e6461cb6 Refactor to use handler func
The previous pipeline model required a lot of setup and abstracted away
the processing of records. By passing a HandlerFunc to the consumer we
keep the business logic of processing of records closer to the use of
the consumer.

* Add refactoring note and SHA to README
2016-02-06 17:50:17 -08:00

47 lines
950 B
Go

package connector
import (
"testing"
"github.com/aws/aws-sdk-go/service/kinesis"
"github.com/bmizerany/assert"
)
func Test_FirstSeq(t *testing.T) {
b := Buffer{}
s1, s2 := "1", "2"
r1 := &kinesis.Record{SequenceNumber: &s1}
r2 := &kinesis.Record{SequenceNumber: &s2}
b.AddRecord(r1)
assert.Equal(t, b.FirstSeq(), "1")
b.AddRecord(r2)
assert.Equal(t, b.FirstSeq(), "1")
}
func Test_LastSeq(t *testing.T) {
b := Buffer{}
s1, s2 := "1", "2"
r1 := &kinesis.Record{SequenceNumber: &s1}
r2 := &kinesis.Record{SequenceNumber: &s2}
b.AddRecord(r1)
assert.Equal(t, b.LastSeq(), "1")
b.AddRecord(r2)
assert.Equal(t, b.LastSeq(), "2")
}
func Test_ShouldFlush(t *testing.T) {
b := Buffer{MaxBufferSize: 2}
s1, s2 := "1", "2"
r1 := &kinesis.Record{SequenceNumber: &s1}
r2 := &kinesis.Record{SequenceNumber: &s2}
b.AddRecord(r1)
assert.Equal(t, b.ShouldFlush(), false)
b.AddRecord(r2)
assert.Equal(t, b.ShouldFlush(), true)
}