-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathftmessage_test.go
More file actions
57 lines (45 loc) · 1.93 KB
/
Copy pathftmessage_test.go
File metadata and controls
57 lines (45 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package kafka
import (
"testing"
"github.com/stretchr/testify/assert"
)
var (
testFTMessage = "FTMSG/1.0\r\ntest: test2\r\n\r\nTest Message"
testComplexFTMessage = "FTMSG/1.0\r\nContent-Type: application/vnd.ft-upp-article+json; version=1.0; charset=utf-8\r\n\r\nTest Message"
testFTMessageHeaders = map[string]string{"test": "test2"}
testFTMessageBody = "Test Message"
testComplexFTMessageHeaders = map[string]string{"Content-Type": "application/vnd.ft-upp-article+json; version=1.0; charset=utf-8"}
)
func Test_FTMessage_Build(t *testing.T) {
ft := NewFTMessage(testFTMessageHeaders, testFTMessageBody)
ftm := ft.Build()
assert.EqualValues(t, testFTMessage, ftm)
}
func TestFTMessage_Parse(t *testing.T) {
payload := []byte(testFTMessage)
ftMessage := rawToFTMessage(payload, testTopic)
assert.EqualValues(t, testFTMessageHeaders, ftMessage.Headers)
assert.EqualValues(t, testFTMessageBody, ftMessage.Body)
assert.Equal(t, testTopic, ftMessage.Topic)
}
func TestFTMessage_Parse_NoBody(t *testing.T) {
payload := []byte("FTMSG/1.0\r\ntest: test2")
ftMessage := rawToFTMessage(payload, testTopic)
assert.EqualValues(t, testFTMessageHeaders, ftMessage.Headers)
assert.EqualValues(t, "", ftMessage.Body)
assert.Equal(t, testTopic, ftMessage.Topic)
}
func TestFTMessage_Parse_CRLF(t *testing.T) {
payload := []byte("FTMSG/1.0\r\ntest: test2\r\n\r\nTest Message")
ftMessage := rawToFTMessage(payload, testTopic)
assert.EqualValues(t, testFTMessageHeaders, ftMessage.Headers)
assert.EqualValues(t, testFTMessageBody, ftMessage.Body)
assert.Equal(t, testTopic, ftMessage.Topic)
}
func TestFTMessageWithComplexHeaders_Parse_CRLF(t *testing.T) {
payload := []byte(testComplexFTMessage)
ftMessage := rawToFTMessage(payload, testTopic)
assert.EqualValues(t, testComplexFTMessageHeaders, ftMessage.Headers)
assert.EqualValues(t, testFTMessageBody, ftMessage.Body)
assert.Equal(t, testTopic, ftMessage.Topic)
}