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

Commit 0839f0b

Browse files
committed
Add test case for custom MIME type
1 parent 9ec437b commit 0839f0b

File tree

2 files changed

+143
-128
lines changed

2 files changed

+143
-128
lines changed

test/test-0.6.2.js

+137-122
Original file line numberDiff line numberDiff line change
@@ -55,134 +55,149 @@ describe('upload asset from camera roll', (report, done) => {
5555
done()
5656
})
5757
})
58+
//
59+
// describe('Upload multipart data with file from CameraRoll', (report, done) => {
60+
// let filename = 'test-from-storage-img-'+Date.now()+'.png'
61+
// RNFetchBlob.fetch('POST', `${TEST_SERVER_URL}/upload-form`, {
62+
// 'Content-Type' : 'multipart/form-data',
63+
// }, [
64+
// { name : 'test-img', filename : filename, data: RNFetchBlob.wrap(photo)},
65+
// { name : 'test-text', filename : 'test-text.txt', data: RNFetchBlob.base64.encode('hello.txt')},
66+
// { name : 'field1', data : 'hello !!'},
67+
// { name : 'field2', data : 'hello2 !!'}
68+
// ])
69+
// .then((resp) => {
70+
// resp = resp.json()
71+
// report(
72+
// <Assert key="check posted form data #1" expect="hello !!" actual={resp.fields.field1}/>,
73+
// <Assert key="check posted form data #2" expect="hello2 !!" actual={resp.fields.field2}/>,
74+
// )
75+
// return RNFetchBlob.fetch('GET', `${TEST_SERVER_URL}/public/${filename}`)
76+
// })
77+
// .then((resp) => {
78+
// report(<Info key="uploaded image">
79+
// <Image
80+
// style={styles.image}
81+
// source={{ uri : 'data:image/png;base64, '+ resp.base64()}}/>
82+
// </Info>)
83+
// done()
84+
// })
85+
// })
86+
//
87+
//
88+
// describe('access assets from camera roll', (report, done) => {
89+
// let photo = null
90+
// CameraRoll.getPhotos({first : 10})
91+
// .then((resp) => {
92+
// photo = resp.edges[0].node.image.uri
93+
// report(<Info key="items">
94+
// <Text>{photo}</Text>
95+
// </Info>)
96+
// return fs.readFile(photo, 'base64')
97+
// })
98+
// .then((data) => {
99+
// report(<Info key="asset image">
100+
// <Image
101+
// style={styles.image}
102+
// source={{uri: `data:image/png;base64, ${data}`}}/>
103+
// </Info>)
104+
// done()
105+
// })
106+
// })
107+
//
108+
// describe('read asset in app bundle',(report, done) => {
109+
// let target = fs.asset('test-asset2.png')
110+
// fs.readFile(target, 'base64')
111+
// .then((data) => {
112+
// report(<Info key="asset image">
113+
// <Image
114+
// style={styles.image}
115+
// source={{uri: `data:image/png;base64, ${data}`}}/>
116+
// </Info>)
117+
// return fs.readFile(fs.asset('test-asset1.json'), 'utf8')
118+
// })
119+
// .then((resp) => {
120+
// report(
121+
// <Assert key="asset content verify"
122+
// expect="asset#1"
123+
// actual={JSON.parse(resp).secret}/>)
124+
// done()
125+
// })
126+
// })
127+
//
128+
// describe('stat assets in app', (report, done) => {
129+
// fs.stat(fs.asset('test-asset2.png'))
130+
// .then((data) => {
131+
// report(<Info key="list of assets">
132+
// <Text>{JSON.stringify(data)}</Text>
133+
// </Info>)
134+
// done()
135+
// })
136+
// })
137+
//
138+
// describe('copy asset', (report, done) => {
139+
// let dest = `${dirs.DocumentDir}/test-asset-1-${Date.now()}.json`
140+
// fs.cp(fs.asset('test-asset1.json'), dest)
141+
// .then(() => fs.readFile(dest, 'utf8'))
142+
// .then((data) => {
143+
// report(<Assert key="asset copied correctly"
144+
// expect={'asset#1'}
145+
// actual={JSON.parse(data).secret}/>)
146+
// return fs.stat(fs.asset('test-asset1.json'))
147+
// })
148+
// .then((stat) => {
149+
// report(<Assert key="file size check"
150+
// expect={27}
151+
// actual={Math.floor(stat.size)}/>,
152+
// <Info key="dest file info">
153+
// <Text>{JSON.stringify(stat)}</Text>
154+
// </Info>)
155+
// done()
156+
// })
157+
// })
158+
//
159+
//
160+
// describe('upload file from assets',(report, done) => {
161+
// let assetName = fs.asset('test-asset1.json')
162+
// RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {
163+
// Authorization : `Bearer ${DROPBOX_TOKEN}`,
164+
// 'Dropbox-API-Arg': `{\"path\": \"/rn-upload/file-from-asset-${Platform.OS}.json\",\"mode\": \"add\",\"autorename\": false,\"mute\": false}`,
165+
// 'Content-Type' : 'application/octet-stream',
166+
// }, RNFetchBlob.wrap(assetName))
167+
// .then((resp) => {
168+
// resp = resp.json()
169+
// report(
170+
// <Assert key="file name check"
171+
// expect={`file-from-asset-${Platform.OS}.json`}
172+
// actual={resp.name}/>)
173+
// done()
174+
// })
175+
// })
58176

59-
describe('Upload multipart data with file from CameraRoll', (report, done) => {
60-
let filename = 'test-from-storage-img-'+Date.now()+'.png'
61-
RNFetchBlob.fetch('POST', `${TEST_SERVER_URL}/upload-form`, {
62-
'Content-Type' : 'multipart/form-data',
63-
}, [
64-
{ name : 'test-img', filename : filename, data: RNFetchBlob.wrap(photo)},
65-
{ name : 'test-text', filename : 'test-text.txt', data: RNFetchBlob.base64.encode('hello.txt')},
66-
{ name : 'field1', data : 'hello !!'},
67-
{ name : 'field2', data : 'hello2 !!'}
68-
])
69-
.then((resp) => {
70-
resp = resp.json()
71-
report(
72-
<Assert key="check posted form data #1" expect="hello !!" actual={resp.fields.field1}/>,
73-
<Assert key="check posted form data #2" expect="hello2 !!" actual={resp.fields.field2}/>,
74-
)
75-
return RNFetchBlob.fetch('GET', `${TEST_SERVER_URL}/public/${filename}`)
76-
})
77-
.then((resp) => {
78-
report(<Info key="uploaded image">
79-
<Image
80-
style={styles.image}
81-
source={{ uri : 'data:image/png;base64, '+ resp.base64()}}/>
82-
</Info>)
83-
done()
84-
})
85-
})
86-
87-
88-
describe('access assets from camera roll', (report, done) => {
89-
let photo = null
90-
CameraRoll.getPhotos({first : 10})
91-
.then((resp) => {
92-
photo = resp.edges[0].node.image.uri
93-
report(<Info key="items">
94-
<Text>{photo}</Text>
95-
</Info>)
96-
return fs.readFile(photo, 'base64')
97-
})
98-
.then((data) => {
99-
report(<Info key="asset image">
100-
<Image
101-
style={styles.image}
102-
source={{uri: `data:image/png;base64, ${data}`}}/>
103-
</Info>)
104-
done()
105-
})
106-
})
107-
108-
describe('read asset in app bundle',(report, done) => {
109-
let target = fs.asset('test-asset2.png')
110-
fs.readFile(target, 'base64')
111-
.then((data) => {
112-
report(<Info key="asset image">
113-
<Image
114-
style={styles.image}
115-
source={{uri: `data:image/png;base64, ${data}`}}/>
116-
</Info>)
117-
return fs.readFile(fs.asset('test-asset1.json'), 'utf8')
118-
})
177+
describe('Check custom MIME type correctness',(report, done) => {
178+
RNFetchBlob
179+
.config({fileCache : true})
180+
.fetch('GET', `${TEST_SERVER_URL}/public/beethoven.mp3`)
119181
.then((resp) => {
120-
report(
121-
<Assert key="asset content verify"
122-
expect="asset#1"
123-
actual={JSON.parse(resp).secret}/>)
124-
done()
182+
return RNFetchBlob.fetch('POST', `${TEST_SERVER_URL}/mime`, null, [
183+
{ name : 'image', filename : 'image', type : 'image/jpeg', data : RNFetchBlob.base64.encode('123456') },
184+
{ name : 'mp3', filename : 'mp3', type : 'application/mp3', data : RNFetchBlob.base64.encode('123456') },
185+
{ name : 'mp3', filename : 'mp3', data : RNFetchBlob.base64.encode('123456') },
186+
{ name : 'asset', filename : 'asset.json', type: 'application/json', data : RNFetchBlob.wrap(fs.asset('test-asset1.json')) },
187+
{ name : 'camera-roll', filename : 'cameraRoll.png', type: 'image/png', data : RNFetchBlob.wrap(photo) },
188+
{ name : 'storage', filename : 'storage.mp3', type: 'application/mp3', data : RNFetchBlob.wrap(resp.path()) },
189+
])
125190
})
126-
})
127-
128-
describe('stat assets in app', (report, done) => {
129-
fs.stat(fs.asset('test-asset2.png'))
130-
.then((data) => {
131-
report(<Info key="list of assets">
132-
<Text>{JSON.stringify(data)}</Text>
133-
</Info>)
134-
done()
135-
})
136-
})
137-
138-
describe('copy asset', (report, done) => {
139-
let dest = `${dirs.DocumentDir}/test-asset-1-${Date.now()}.json`
140-
fs.cp(fs.asset('test-asset1.json'), dest)
141-
.then(() => fs.readFile(dest, 'utf8'))
142-
.then((data) => {
143-
report(<Assert key="asset copied correctly"
144-
expect={'asset#1'}
145-
actual={JSON.parse(data).secret}/>)
146-
return fs.stat(fs.asset('test-asset1.json'))
147-
})
148-
.then((stat) => {
149-
report(<Assert key="file size check"
150-
expect={27}
151-
actual={Math.floor(stat.size)}/>,
152-
<Info key="dest file info">
153-
<Text>{JSON.stringify(stat)}</Text>
154-
</Info>)
155-
done()
156-
})
157-
})
158-
159-
160-
describe('upload file from assets',(report, done) => {
161-
let assetName = fs.asset('test-asset1.json')
162-
RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {
163-
Authorization : `Bearer ${DROPBOX_TOKEN}`,
164-
'Dropbox-API-Arg': `{\"path\": \"/rn-upload/file-from-asset-${Platform.OS}.json\",\"mode\": \"add\",\"autorename\": false,\"mute\": false}`,
165-
'Content-Type' : 'application/octet-stream',
166-
}, RNFetchBlob.wrap(assetName))
167191
.then((resp) => {
168192
resp = resp.json()
169193
report(
170-
<Assert key="file name check"
171-
expect={`file-from-asset-${Platform.OS}.json`}
172-
actual={resp.name}/>)
173-
done()
174-
})
175-
})
176-
177-
describe('Check custom MIME type correctness',(report, done) => {
178-
RNFetchBlob.fetch('POST', `${TEST_SERVER_URL}/mime`, null, [
179-
{ name : 'image', filename : 'image', type : 'image/jpeg', data : RNFetchBlob.base64.encode('123456') },
180-
{ name : 'mp3', filename : 'mp3', type : 'application/mp3', data : RNFetchBlob.base64.encode('123456') },
181-
{ name : 'mp3', filename : 'mp3', data : RNFetchBlob.base64.encode('123456') }
182-
])
183-
.then((resp) => {
184-
resp = resp.json()
185-
report(<Assert key="check first mime" expect={'image/jpeg'} actual={resp[0]} />)
194+
<Assert key="check #1 mime" expect={'image/jpeg'} actual={resp[0]} />,
195+
<Assert key="check #2 mime" expect={'application/mp3'} actual={resp[1]} />,
196+
<Assert key="check #3 mime" expect={'application/octet-stream'} actual={resp[2]} />,
197+
<Assert key="check #4 mime" expect={'application/json'} actual={resp[3]} />,
198+
<Assert key="check #5 mime" expect={'image/png'} actual={resp[4]} />,
199+
<Assert key="check #6 mime" expect={'application/mp3'} actual={resp[5]} />,
200+
)
186201
done()
187202
})
188203
})

test/test-init.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ describe('GET image from server', (report, done) => {
5252
})
5353

5454

55-
// require('./test-0.1.x-0.4.x')
56-
// require('./test-0.5.1')
57-
// require('./test-0.5.2')
58-
// require('./test-0.6.0')
55+
require('./test-0.1.x-0.4.x')
56+
require('./test-0.5.1')
57+
require('./test-0.5.2')
58+
require('./test-0.6.0')
5959
require('./test-0.6.2')
60-
// require('./test-fs')
61-
// require('./test-android')
60+
require('./test-fs')
61+
require('./test-android')

0 commit comments

Comments
 (0)