Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Commit 9bfde1b

Browse files
committedFeb 26, 2016
Add promise tests and write test for files api
1 parent 0b32373 commit 9bfde1b

File tree

2 files changed

+112
-1
lines changed

2 files changed

+112
-1
lines changed
 

‎src/request-api.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function onRes (buffer, cb) {
3636
}
3737
if (payload) {
3838
error.code = payload.Code
39-
error.message = payload.Message
39+
error.message = payload.Message || payload.toString()
4040
}
4141
cb(error)
4242
})

‎test/api/files.spec.js

+111
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,30 @@ describe('.files', () => {
3434
})
3535
})
3636

37+
it('files.write', (done) => {
38+
apiClients['a'].files
39+
.write('/test-folder/test-file-2.txt', new Buffer('hello world'), {create: true}, (err) => {
40+
expect(err).to.not.exist
41+
42+
apiClients['a'].files.read('/test-folder/test-file-2.txt', (err, stream) => {
43+
expect(err).to.not.exist
44+
45+
let buf = ''
46+
stream
47+
.on('error', (err) => {
48+
expect(err).to.not.exist
49+
})
50+
.on('data', (data) => {
51+
buf += data
52+
})
53+
.on('end', () => {
54+
expect(buf).to.be.equal('hello world')
55+
done()
56+
})
57+
})
58+
})
59+
})
60+
3761
it('files.stat', (done) => {
3862
apiClients['a'].files.stat('/test-folder/test-file', (err, res) => {
3963
expect(err).to.not.exist
@@ -89,4 +113,91 @@ describe('.files', () => {
89113
done()
90114
})
91115
})
116+
117+
describe('promise', () => {
118+
it('files.mkdir', () => {
119+
return apiClients['a'].files.mkdir('/test-folder')
120+
})
121+
122+
it('files.cp', () => {
123+
return apiClients['a'].files
124+
.cp(['/ipfs/Qma4hjFTnCasJ8PVp3mZbZK5g2vGDT4LByLJ7m8ciyRFZP', '/test-folder/test-file'])
125+
})
126+
127+
it('files.ls', () => {
128+
return apiClients['a'].files.ls('/test-folder')
129+
.then((res) => {
130+
expect(res.Entries.length).to.equal(1)
131+
})
132+
})
133+
134+
it('files.write', (done) => {
135+
return apiClients['a'].files
136+
.write('/test-folder/test-file-2.txt', new Buffer('hello world'), {create: true})
137+
.then(() => {
138+
return apiClients['a'].files.read('/test-folder/test-file-2.txt')
139+
})
140+
.then((stream) => {
141+
let buf = ''
142+
stream
143+
.on('error', (err) => {
144+
expect(err).to.not.exist
145+
})
146+
.on('data', (data) => {
147+
buf += data
148+
})
149+
.on('end', () => {
150+
expect(buf).to.be.equal('hello world')
151+
done()
152+
})
153+
})
154+
})
155+
156+
it('files.stat', () => {
157+
return apiClients['a'].files.stat('/test-folder/test-file')
158+
.then((res) => {
159+
expect(res).to.deep.equal({
160+
Hash: 'Qma4hjFTnCasJ8PVp3mZbZK5g2vGDT4LByLJ7m8ciyRFZP',
161+
Size: 12,
162+
CumulativeSize: 20,
163+
Blocks: 0,
164+
Type: 'file'
165+
})
166+
})
167+
})
168+
169+
it('files.stat file that does not exist', () => {
170+
return apiClients['a'].files.stat('/test-folder/does-not-exist')
171+
.catch((err) => {
172+
expect(err).to.exist
173+
expect(err.code).to.be.eql(0)
174+
})
175+
})
176+
177+
it('files.read', (done) => {
178+
if (!isNode) {
179+
return done()
180+
}
181+
182+
apiClients['a'].files.read('/test-folder/test-file')
183+
.then((stream) => {
184+
let buf = ''
185+
stream
186+
.on('error', (err) => {
187+
expect(err).to.not.exist
188+
})
189+
.on('data', (data) => {
190+
buf += data
191+
})
192+
.on('end', () => {
193+
expect(new Buffer(buf)).to.deep.equal(testfile)
194+
done()
195+
})
196+
})
197+
})
198+
199+
it('files.rm', () => {
200+
return apiClients['a'].files.rm('/test-folder', { 'recursive': true })
201+
})
202+
})
92203
})

0 commit comments

Comments
 (0)
This repository has been archived.