1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- 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(<Assert key="login status" uid="100"
- expect={true}
- actual={user !== null}/>,
- <Info key="user content" uid="user data">
- <Text>{JSON.stringify(user)}</Text>
- </Info>)
- 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(<Assert key="upload success"
- expect={true}
- actual={true}/>,
- <Info key="uploaded file stat" >
- <Text>{task.snapshot.totalBytes}</Text>
- <Text>{JSON.stringify(task.snapshot.metadata)}</Text>
- </Info>)
- done()
- })
-
- })
-
- } catch(ex) {
- console.log('firebase polyfill error', ex)
- }
-
- })
|