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

Commit dab97c8

Browse files
committed
Add 0.7.0 test case
1 parent 1d92052 commit dab97c8

File tree

5 files changed

+95
-27
lines changed

5 files changed

+95
-27
lines changed

test/test-0.1.x-0.4.x.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ describe('PUT request test', (report, done) => {
130130
{ name : 'field1', data : 'hello !!'},
131131
{ name : 'field2', data : 'hello2 !!'}
132132
])
133-
.progress((written, total) => {
133+
.uploadProgress((written, total) => {
134134
actual = written
135135
expect = total
136136
})

test/test-0.6.2.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ describe('upload asset from camera roll', (report, done) => {
3232
let tick = Date.now()
3333
CameraRoll.getPhotos({first : 10})
3434
.then((resp) => {
35+
console.log('cameraroll', JSON.stringify(resp))
3536
let url = resp.edges[0].node.image.uri
3637
photo = url
3738
return RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {

test/test-0.6.3.js

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,37 +28,21 @@ const dirs = RNFetchBlob.fs.dirs
2828
let prefix = ((Platform.OS === 'android') ? 'file://' : '')
2929

3030
false && describe('massive HTTP request', (report, done) => {
31-
return
31+
3232
let promises = []
3333
let progress = []
3434
let begin = Date.now()
35-
for(let i=0; i<1500;i++) {
35+
for(let i=0; i<500;i++) {
3636
let p = RNFetchBlob
3737
.config({fileCache : true})
3838
.fetch('GET', `${TEST_SERVER_URL}/public/github2.jpg`)
39-
// .progress(function(current, total){
40-
// progress[this] = current/total
41-
// }.bind(i))
4239
promises.push(p)
4340
}
44-
// let it = Timer.setInterval(() => {
45-
// function pgs() {
46-
// let res = []
47-
// for(var i in progress) {
48-
// res.push(<Text key={`download#${i}`}>{`download #${i} ${Math.floor(progress[i]*100)}%`}</Text>)
49-
// }
50-
// return res
51-
// }
52-
// report(<Info key={`progress monitor`} uid="progress">
53-
// {pgs()}
54-
// </Info>)
55-
// }, 1000)
5641
Promise.all(promises).then((resps) => {
5742
for(let i in resps) {
5843
fs.unlink(resps[i].path())
5944
}
6045
report(<Info key={`time = ${(Date.now() - begin) / 1000} sec`}></Info>)
61-
// Timer.clearInterval(it)
6246
done()
6347
})
6448

@@ -93,7 +77,6 @@ RNTest.config({
9377
.then((res) => {
9478
try {
9579
deb = Date.now()
96-
// let promise = RNFetchBlob.fetch('POST', `${TEST_SERVER_URL}/raw`, {
9780
let promise = RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {
9881
Authorization : `Bearer ${DROPBOX_TOKEN}`,
9982
'Dropbox-API-Arg': '{\"path\": \"/rn-upload/'+filename+'\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}',

test/test-0.7.0.js

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
import RNTest from './react-native-testkit/'
2+
import React from 'react'
3+
import RNFetchBlob from 'react-native-fetch-blob'
4+
import Timer from 'react-timer-mixin'
5+
6+
import {
7+
StyleSheet,
8+
Text,
9+
View,
10+
ScrollView,
11+
CameraRoll,
12+
Platform,
13+
Dimensions,
14+
Image,
15+
} from 'react-native';
16+
17+
const fs = RNFetchBlob.fs
18+
const { Assert, Comparer, Info, prop } = RNTest
19+
const describe = RNTest.config({
20+
group : '0.7.0',
21+
run : true,
22+
expand : true,
23+
timeout : 300000000,
24+
})
25+
const { TEST_SERVER_URL, TEST_SERVER_URL_SSL, DROPBOX_TOKEN, styles } = prop()
26+
const dirs = RNFetchBlob.fs.dirs
27+
28+
let prefix = ((Platform.OS === 'android') ? 'file://' : '')
29+
30+
describe('Upload and download large file', (report, done) => {
31+
let filename = '22mb-dummy-' + Date.now()
32+
let begin = -1
33+
let begin2 = -1
34+
let deb = Date.now()
35+
RNFetchBlob.config({
36+
fileCache : true
37+
})
38+
.fetch('GET', `${TEST_SERVER_URL}/public/22mb-dummy`)
39+
.progress((now, total) => {
40+
if(begin === -1)
41+
begin = Date.now()
42+
if(Date.now() - deb < 1000)
43+
return
44+
deb = Date.now()
45+
report(<Info uid="200" key="progress">
46+
<Text>
47+
{`download ${now} / ${total} bytes (${Math.floor(now / (Date.now() - begin))} kb/s)`}
48+
</Text>
49+
</Info>)
50+
})
51+
.then((res) => {
52+
try {
53+
deb = Date.now()
54+
let promise = RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {
55+
Authorization : `Bearer ${DROPBOX_TOKEN}`,
56+
'Dropbox-API-Arg': '{\"path\": \"/rn-upload/'+filename+'\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}',
57+
'Content-Type' : 'application/octet-stream',
58+
}, RNFetchBlob.wrap(res.path()))
59+
promise.uploadProgress((now, total) => {
60+
if(Date.now() - deb < 1000)
61+
return
62+
deb = Date.now()
63+
if(begin2 === -1)
64+
begin2 = Date.now()
65+
let speed = Math.floor(now / (Date.now() - begin2))
66+
report(<Info uid="100" key="progress">
67+
<Text>
68+
{`upload ${now} / ${total} bytes (${speed} kb/s)`}
69+
{` ${Math.floor((total-now)/speed/1000)} seconds left`}
70+
</Text>
71+
</Info>)
72+
})
73+
return promise
74+
} catch(err) { console.log(err) }
75+
})
76+
.then((res) => {
77+
report(<Assert
78+
key="upload should success without crashing app"
79+
expect={filename}
80+
actual={res.json().name}/>)
81+
done()
82+
})
83+
})

test/test-init.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@ describe('GET image from server', (report, done) => {
5959

6060

6161
require('./test-0.1.x-0.4.x')
62-
// require('./test-0.5.1')
63-
// require('./test-0.5.2')
64-
// require('./test-0.6.0')
65-
// require('./test-0.6.2')
66-
// require('./test-0.6.3')
67-
// require('./test-fs')
68-
// require('./test-android')
62+
require('./test-0.5.1')
63+
require('./test-0.5.2')
64+
require('./test-0.6.0')
65+
require('./test-0.6.2')
66+
require('./test-0.6.3')
67+
require('./test-0.7.0')
68+
require('./test-fs')
69+
require('./test-android')

0 commit comments

Comments
 (0)