@@ -10,6 +10,7 @@ chai.use(dirtyChai)
10
10
const fs = require ( 'fs' )
11
11
const FormData = require ( 'form-data' )
12
12
const streamToPromise = require ( 'stream-to-promise' )
13
+ const multibase = require ( 'multibase' )
13
14
14
15
module . exports = ( http ) => {
15
16
describe ( '/object' , ( ) => {
@@ -32,6 +33,17 @@ module.exports = (http) => {
32
33
done ( )
33
34
} )
34
35
} )
36
+
37
+ it ( 'should create a new object and return a base64 encoded CID' , ( done ) => {
38
+ api . inject ( {
39
+ method : 'POST' ,
40
+ url : '/api/v0/object/new?cid-base=base64'
41
+ } , ( res ) => {
42
+ expect ( res . statusCode ) . to . equal ( 200 )
43
+ expect ( multibase . isEncoded ( res . result . Hash ) ) . to . deep . equal ( 'base64' )
44
+ done ( )
45
+ } )
46
+ } )
35
47
} )
36
48
37
49
describe ( '/get' , ( ) => {
@@ -69,6 +81,24 @@ module.exports = (http) => {
69
81
done ( )
70
82
} )
71
83
} )
84
+
85
+ it ( 'should get object and return a base64 encoded CID' , ( done ) => {
86
+ api . inject ( {
87
+ method : 'POST' ,
88
+ url : '/api/v0/object/new'
89
+ } , ( res ) => {
90
+ expect ( res . statusCode ) . to . equal ( 200 )
91
+
92
+ api . inject ( {
93
+ method : 'POST' ,
94
+ url : '/api/v0/object/get?cid-base=base64&arg=' + res . result . Hash
95
+ } , ( res ) => {
96
+ expect ( res . statusCode ) . to . equal ( 200 )
97
+ expect ( multibase . isEncoded ( res . result . Hash ) ) . to . deep . equal ( 'base64' )
98
+ done ( )
99
+ } )
100
+ } )
101
+ } )
72
102
} )
73
103
74
104
describe ( '/put' , ( ) => {
@@ -138,6 +168,25 @@ module.exports = (http) => {
138
168
} )
139
169
} )
140
170
} )
171
+
172
+ it ( 'should put data and return a base64 encoded CID' , ( done ) => {
173
+ const form = new FormData ( )
174
+ form . append ( 'file' , JSON . stringify ( { Data : 'TEST' + Date . now ( ) , Links : [ ] } ) , { filename : 'node.json' } )
175
+ const headers = form . getHeaders ( )
176
+
177
+ streamToPromise ( form ) . then ( ( payload ) => {
178
+ api . inject ( {
179
+ method : 'POST' ,
180
+ url : '/api/v0/object/put?cid-base=base64' ,
181
+ headers : headers ,
182
+ payload : payload
183
+ } , ( res ) => {
184
+ expect ( res . statusCode ) . to . equal ( 200 )
185
+ expect ( multibase . isEncoded ( res . result . Hash ) ) . to . deep . equal ( 'base64' )
186
+ done ( )
187
+ } )
188
+ } )
189
+ } )
141
190
} )
142
191
143
192
describe ( '/stat' , ( ) => {
0 commit comments