@@ -69,20 +69,20 @@ func TestOption(t *testing.T) {
6969 Order : logdb .DESC ,
7070 }
7171
72- res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , filter )
72+ res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , filter )
7373 require .NoError (t , err )
7474 assert .Equal (t , "options.limit exceeds the maximum allowed value of 5" , strings .Trim (string (res ), "\n " ))
7575 assert .Equal (t , http .StatusForbidden , statusCode )
7676
7777 filter .Options .Limit = 5
78- _ , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , filter )
78+ _ , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , filter )
7979 require .NoError (t , err )
8080 assert .Equal (t , http .StatusOK , statusCode )
8181
8282 // with nil options, should use default limit, when the filtered lower
8383 // or equal to the limit, should return the filtered transfers
8484 filter .Options = nil
85- res , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , filter )
85+ res , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , filter )
8686 require .NoError (t , err )
8787 assert .Equal (t , http .StatusOK , statusCode )
8888 var tLogs []* events.FilteredEvent
@@ -94,7 +94,7 @@ func TestOption(t *testing.T) {
9494
9595 // when the filtered transfers exceed the limit, should return the forbidden
9696 insertBlocks (t , db , 6 )
97- res , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , filter )
97+ res , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , filter )
9898 require .NoError (t , err )
9999 assert .Equal (t , http .StatusForbidden , statusCode )
100100 assert .Equal (t , "the number of filtered logs exceeds the maximum allowed value of 5, please use pagination" , strings .Trim (string (res ), "\n " ))
@@ -133,7 +133,7 @@ func TestOptionalData(t *testing.T) {
133133 Order : logdb .DESC ,
134134 }
135135
136- res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , filter )
136+ res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , filter )
137137 assert .NoError (t , err )
138138 assert .Equal (t , http .StatusOK , statusCode )
139139 var tLogs []* transfers.FilteredTransfer
@@ -151,11 +151,33 @@ func TestOptionalData(t *testing.T) {
151151 }
152152}
153153
154+ func TestNullCriteriaSet (t * testing.T ) {
155+ db := createDb (t )
156+ initTransferServer (t , db , defaultLogLimit )
157+ defer ts .Close ()
158+ tclient = thorclient .New (ts .URL )
159+
160+ _ , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer" , []byte (`{"criteriaSet": null}` ))
161+ require .NoError (t , err )
162+
163+ assert .Equal (t , http .StatusOK , statusCode )
164+
165+ res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer" , []byte (`{"criteriaSet": [null]}` ))
166+ require .NoError (t , err )
167+ assert .Equal (t , http .StatusBadRequest , statusCode )
168+ assert .Equal (t , "criteriaSet[0]: null not allowed\n " , string (res ), "null criteriaSet" )
169+
170+ res , statusCode , err = tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer" , []byte (`{"criteriaSet": [{}, null]}` ))
171+ require .NoError (t , err )
172+ assert .Equal (t , http .StatusBadRequest , statusCode )
173+ assert .Equal (t , "criteriaSet[1]: null not allowed\n " , string (res ), "null criteriaSet" )
174+ }
175+
154176// Test functions
155177func testTransferBadRequest (t * testing.T ) {
156178 badBody := []byte {0x00 , 0x01 , 0x02 }
157179
158- _ , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , badBody )
180+ _ , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , badBody )
159181 require .NoError (t , err )
160182 assert .Equal (t , http .StatusBadRequest , statusCode )
161183}
@@ -168,7 +190,7 @@ func testTransferWithEmptyDb(t *testing.T) {
168190 Order : logdb .DESC ,
169191 }
170192
171- res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , emptyFilter )
193+ res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , emptyFilter )
172194 require .NoError (t , err )
173195 var tLogs []* transfers.FilteredTransfer
174196 if err := json .Unmarshal (res , & tLogs ); err != nil {
@@ -187,7 +209,7 @@ func testTransferWithBlocks(t *testing.T, expectedBlocks int) {
187209 Order : logdb .DESC ,
188210 }
189211
190- res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfers " , emptyFilter )
212+ res , statusCode , err := tclient .RawHTTPClient ().RawHTTPPost ("/logs/transfer " , emptyFilter )
191213 require .NoError (t , err )
192214 var tLogs []* transfers.FilteredTransfer
193215 if err := json .Unmarshal (res , & tLogs ); err != nil {
@@ -226,7 +248,7 @@ func initTransferServer(t *testing.T, logDb *logdb.LogDB, limit uint64) {
226248 require .NoError (t , err )
227249
228250 router := mux .NewRouter ()
229- transfers .New (thorChain .Repo (), logDb , limit ).Mount (router , "/logs/transfers " )
251+ transfers .New (thorChain .Repo (), logDb , limit ).Mount (router , "/logs/transfer " )
230252
231253 ts = httptest .NewServer (router )
232254}
0 commit comments