Bez popisu

test-firebase.js 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. import firebase from 'firebase'
  6. import {
  7. StyleSheet,
  8. Text,
  9. View,
  10. ScrollView,
  11. CameraRoll,
  12. Platform,
  13. Dimensions,
  14. Image,
  15. } from 'react-native';
  16. const fs = RNFetchBlob.fs
  17. const Blob = RNFetchBlob.polyfill.Blob
  18. window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest
  19. window.Blob = Blob
  20. const { Assert, Comparer, Info, prop } = RNTest
  21. const describe = RNTest.config({
  22. group : 'firebase',
  23. run : true,
  24. expand : true,
  25. timeout : 300000000,
  26. })
  27. const { TEST_SERVER_URL, TEST_SERVER_URL_SSL, DROPBOX_TOKEN, styles } = prop()
  28. const dirs = RNFetchBlob.fs.dirs
  29. let prefix = ((Platform.OS === 'android') ? 'file://' : '')
  30. let file = RNTest.prop('image')
  31. // Initialize Firebase
  32. var config = {
  33. apiKey: "AIzaSyCnoNvJu2tYYHe87Sm-FrW7j-G-c0MPWGQ",
  34. authDomain: "rnfb-test-app.firebaseapp.com",
  35. databaseURL: "https://rnfb-test-app.firebaseio.com",
  36. storageBucket: "rnfb-test-app.appspot.com",
  37. };
  38. firebase.initializeApp(config);
  39. describe('firebase login', (report, done) => {
  40. firebase.auth().signInWithEmailAndPassword('xeiyan@gmail.com', 'rnfbtest1024')
  41. .catch((err) => {
  42. console.log('firebase sigin failed', err)
  43. })
  44. firebase.auth().onAuthStateChanged((user) => {
  45. report(<Assert key="login status" uid="100"
  46. expect={user !== undefined}
  47. actual={user}/>,
  48. <Info key="user content" uid="user data">
  49. <Text>{JSON.stringify(user)}</Text>
  50. </Info>)
  51. done()
  52. })
  53. })
  54. describe('upload file to firebase', (report, done) => {
  55. try {
  56. let storage = firebase.storage().ref()
  57. let task = storage.child(`testdata/firebase-test-${Platform.OS}.png`).put(new Blob('hello !'), { contentType : 'text/plain' })
  58. task.on('state_change', null, (err) => {
  59. }, () => {
  60. report(<Assert key="upload success"
  61. expect={true}
  62. actual={true}/>,
  63. <Info key="uploaded file stat" >
  64. <Text>{task.snapshot.totalBytes}</Text>
  65. <Text>{JSON.stringify(task.snapshot.metadata)}</Text>
  66. </Info>)
  67. })
  68. } catch(ex) {
  69. console.log('firebase polyfill error', ex)
  70. }
  71. })