import RNTest from './react-native-testkit/' import React from 'react' import RNFetchBlob from 'react-native-fetch-blob' import Timer from 'react-timer-mixin' import firebase from 'firebase' import { StyleSheet, Text, View, ScrollView, CameraRoll, Platform, Dimensions, Image, } from 'react-native'; const fs = RNFetchBlob.fs const Blob = RNFetchBlob.polyfill.Blob window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest window.Blob = Blob window.FormData = RNFetchBlob.polyfill.FormData const { Assert, Comparer, Info, prop } = RNTest const describe = RNTest.config({ group : 'firebase', run : true, expand : true, timeout : 300000000, }) const { TEST_SERVER_URL, TEST_SERVER_URL_SSL, DROPBOX_TOKEN, styles } = prop() const dirs = RNFetchBlob.fs.dirs let prefix = ((Platform.OS === 'android') ? 'file://' : '') let file = RNTest.prop('image') // Initialize Firebase var config = { apiKey: "AIzaSyCnoNvJu2tYYHe87Sm-FrW7j-G-c0MPWGQ", authDomain: "rnfb-test-app.firebaseapp.com", databaseURL: "https://rnfb-test-app.firebaseio.com", storageBucket: "rnfb-test-app.appspot.com", }; firebase.initializeApp(config); describe('firebase login', (report, done) => { firebase.auth().signInWithEmailAndPassword('xeiyan@gmail.com', 'rnfbtest1024') .catch((err) => { console.log('firebase sigin failed', err) }) firebase.auth().onAuthStateChanged((user) => { report(, {JSON.stringify(user)} ) done() }) }) describe('upload file to firebase', (report, done) => { try { let blob = new Blob(RNTest.prop('image'), 'application/octet-binary') blob.onCreated(() => { let storage = firebase.storage().ref() let task = storage .child(`testdata/firebase-test-${Platform.OS}.png`) .put(blob, { contentType : 'image/png' }) task.on('state_change', null, (err) => { }, () => { report(, {task.snapshot.totalBytes} {JSON.stringify(task.snapshot.metadata)} ) done() }) }) } catch(ex) { console.log('firebase polyfill error', ex) } })