@@ -9,26 +9,41 @@ import (
99 "github.com/stretchr/testify/assert"
1010
1111 "github.com/jf-tech/omniparser/errs"
12+ "github.com/jf-tech/omniparser/schemahandler"
1213)
1314
1415type testReadCall struct {
15- record []byte
16+ result []byte
1617 err error
1718}
1819
20+ func (trc testReadCall ) Checksum () string {
21+ if trc .err != nil {
22+ panic ("Checksum() called when err != nil" )
23+ }
24+ return fmt .Sprintf ("checksum of raw record of '%s'" , string (trc .result ))
25+ }
26+
27+ func (trc testReadCall ) Raw () interface {} {
28+ if trc .err != nil {
29+ panic ("Raw() called when err != nil" )
30+ }
31+ return fmt .Sprintf ("raw record of '%s'" , string (trc .result ))
32+ }
33+
1934type testIngester struct {
2035 readCalled int
2136 readCalls []testReadCall
2237 continuableErrs map [error ]bool
2338}
2439
25- func (g * testIngester ) Read () (interface {} , []byte , error ) {
40+ func (g * testIngester ) Read () (schemahandler. RawRecord , []byte , error ) {
2641 if g .readCalled >= len (g .readCalls ) {
2742 panic (fmt .Sprintf ("Read() called %d time(s), but not enough mock entries setup" , g .readCalled ))
2843 }
2944 r := g .readCalls [g .readCalled ]
3045 g .readCalled ++
31- return fmt . Sprintf ( "raw record %d" , g . readCalled - 1 ), r . record , r .err
46+ return r , r . result , r .err
3247}
3348
3449func (g * testIngester ) IsContinuableError (err error ) bool {
@@ -45,9 +60,9 @@ func TestTransform_Read_EndWithEOF(t *testing.T) {
4560 tfm := & transform {
4661 ingester : & testIngester {
4762 readCalls : []testReadCall {
48- {record : []byte ("1st good read" )},
63+ {result : []byte ("1st good read" )},
4964 {err : continuableErr1 },
50- {record : []byte ("2nd good read" )},
65+ {result : []byte ("2nd good read" )},
5166 {err : io .EOF },
5267 },
5368 continuableErrs : map [error ]bool {continuableErr1 : true },
@@ -56,32 +71,34 @@ func TestTransform_Read_EndWithEOF(t *testing.T) {
5671 record , err := tfm .Read ()
5772 assert .NoError (t , err )
5873 assert .Equal (t , "1st good read" , string (record ))
59- raw , err := tfm .CurrentRawRecord ()
74+ raw , err := tfm .RawRecord ()
6075 assert .NoError (t , err )
61- assert .Equal (t , "raw record 0" , raw .(string ))
76+ assert .Equal (t , "raw record of '1st good read'" , raw .Raw ())
77+ assert .Equal (t , "checksum of raw record of '1st good read'" , raw .Checksum ())
6278
6379 record , err = tfm .Read ()
6480 assert .Error (t , err )
6581 assert .True (t , errs .IsErrTransformFailed (err ))
6682 assert .Equal (t , continuableErr1 .Error (), err .Error ())
6783 assert .Nil (t , record )
68- raw , err = tfm .CurrentRawRecord ()
84+ raw , err = tfm .RawRecord ()
6985 assert .Error (t , err )
7086 assert .True (t , errs .IsErrTransformFailed (err ))
7187 assert .Nil (t , raw )
7288
7389 record , err = tfm .Read ()
7490 assert .NoError (t , err )
7591 assert .Equal (t , "2nd good read" , string (record ))
76- raw , err = tfm .CurrentRawRecord ()
92+ raw , err = tfm .RawRecord ()
7793 assert .NoError (t , err )
78- assert .Equal (t , "raw record 2" , raw .(string ))
94+ assert .Equal (t , "raw record of '2nd good read'" , raw .Raw ())
95+ assert .Equal (t , "checksum of raw record of '2nd good read'" , raw .Checksum ())
7996
8097 record , err = tfm .Read ()
8198 assert .Error (t , err )
8299 assert .Equal (t , io .EOF , err )
83100 assert .Nil (t , record )
84- raw , err = tfm .CurrentRawRecord ()
101+ raw , err = tfm .RawRecord ()
85102 assert .Error (t , err )
86103 assert .Equal (t , io .EOF , err )
87104 assert .Nil (t , raw )
@@ -91,7 +108,7 @@ func TestTransform_Read_EndWithEOF(t *testing.T) {
91108 assert .Error (t , err )
92109 assert .Equal (t , io .EOF , err )
93110 assert .Nil (t , record )
94- raw , err = tfm .CurrentRawRecord ()
111+ raw , err = tfm .RawRecord ()
95112 assert .Error (t , err )
96113 assert .Equal (t , io .EOF , err )
97114 assert .Nil (t , raw )
@@ -101,24 +118,25 @@ func TestTransform_Read_EndWithNonContinuableError(t *testing.T) {
101118 tfm := & transform {
102119 ingester : & testIngester {
103120 readCalls : []testReadCall {
104- {record : []byte ("1st good read" )},
121+ {result : []byte ("1st good read" )},
105122 {err : errors .New ("fatal error" )},
106123 },
107124 },
108125 }
109126 record , err := tfm .Read ()
110127 assert .NoError (t , err )
111128 assert .Equal (t , "1st good read" , string (record ))
112- raw , err := tfm .CurrentRawRecord ()
129+ raw , err := tfm .RawRecord ()
113130 assert .NoError (t , err )
114- assert .Equal (t , "raw record 0" , raw .(string ))
131+ assert .Equal (t , "raw record of '1st good read'" , raw .Raw ())
132+ assert .Equal (t , "checksum of raw record of '1st good read'" , raw .Checksum ())
115133
116134 record , err = tfm .Read ()
117135 assert .Error (t , err )
118136 assert .False (t , errs .IsErrTransformFailed (err ))
119137 assert .Equal (t , "fatal error" , err .Error ())
120138 assert .Nil (t , record )
121- raw , err = tfm .CurrentRawRecord ()
139+ raw , err = tfm .RawRecord ()
122140 assert .Error (t , err )
123141 assert .False (t , errs .IsErrTransformFailed (err ))
124142 assert .Equal (t , "fatal error" , err .Error ())
@@ -129,15 +147,15 @@ func TestTransform_Read_EndWithNonContinuableError(t *testing.T) {
129147 assert .Error (t , err )
130148 assert .Equal (t , "fatal error" , err .Error ())
131149 assert .Nil (t , record )
132- raw , err = tfm .CurrentRawRecord ()
150+ raw , err = tfm .RawRecord ()
133151 assert .Error (t , err )
134152 assert .Equal (t , "fatal error" , err .Error ())
135153 assert .Nil (t , raw )
136154}
137155
138- func TestTransform_CurrentRawRecord_CalledBeforeRead (t * testing.T ) {
156+ func TestTransform_RawRecord_CalledBeforeRead (t * testing.T ) {
139157 tfm := & transform {ingester : & testIngester {readCalls : []testReadCall {}}}
140- raw , err := tfm .CurrentRawRecord ()
158+ raw , err := tfm .RawRecord ()
141159 assert .Error (t , err )
142160 assert .Equal (t , "must call Read first" , err .Error ())
143161 assert .Nil (t , raw )
0 commit comments