Added the files.
This commit is contained in:
		
						commit
						38ccdcbfe5
					
				
					 124 changed files with 32079 additions and 0 deletions
				
			
		
							
								
								
									
										11
									
								
								client/continuous_deployment/before_install.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								client/continuous_deployment/before_install.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
set -ev
 | 
			
		||||
#run only on master
 | 
			
		||||
if [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $TRAVIS_BRANCH == "master" ]]; then
 | 
			
		||||
   npm install -g firebase-tools
 | 
			
		||||
   npm install -g selenium-webdriver
 | 
			
		||||
   npm install codecov.io coveralls
 | 
			
		||||
   cd functions
 | 
			
		||||
   npm install
 | 
			
		||||
   cd ..
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										88
									
								
								client/continuous_deployment/bs.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								client/continuous_deployment/bs.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,88 @@
 | 
			
		|||
// To run this script use this command
 | 
			
		||||
// node bs.js yourBSUserName yourBSKey
 | 
			
		||||
 | 
			
		||||
var webdriver = require('selenium-webdriver')
 | 
			
		||||
var test = require('./bs_test.js')
 | 
			
		||||
 | 
			
		||||
// Input capabilities
 | 
			
		||||
var iPhone = {
 | 
			
		||||
  browserName: 'iPhone',
 | 
			
		||||
  device: 'iPhone 7',
 | 
			
		||||
  realMobile: 'true',
 | 
			
		||||
  os_version: '10.3',
 | 
			
		||||
  'browserstack.user': process.argv[2],
 | 
			
		||||
  'browserstack.key': process.argv[3],
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var android = {
 | 
			
		||||
  browserName: 'android',
 | 
			
		||||
  device: 'Samsung Galaxy S8',
 | 
			
		||||
  realMobile: 'true',
 | 
			
		||||
  os_version: '7.0',
 | 
			
		||||
  'browserstack.user': process.argv[2],
 | 
			
		||||
  'browserstack.key': process.argv[3],
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var desktopFF = {
 | 
			
		||||
  browserName: 'Firefox',
 | 
			
		||||
  browser_version: '59.0',
 | 
			
		||||
  os: 'Windows',
 | 
			
		||||
  os_version: '10',
 | 
			
		||||
  resolution: '1024x768',
 | 
			
		||||
  'browserstack.user': process.argv[2],
 | 
			
		||||
  'browserstack.key': process.argv[3],
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var desktopEdge = {
 | 
			
		||||
  browserName: 'Edge',
 | 
			
		||||
  browser_version: '16.0',
 | 
			
		||||
  os: 'Windows',
 | 
			
		||||
  os_version: '10',
 | 
			
		||||
  resolution: '1024x768',
 | 
			
		||||
  'browserstack.user': process.argv[2],
 | 
			
		||||
  'browserstack.key': process.argv[3],
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var desktopIE = {
 | 
			
		||||
  browserName: 'Chrome',
 | 
			
		||||
  browser_version: '69.0',
 | 
			
		||||
  os: 'Windows',
 | 
			
		||||
  os_version: '10',
 | 
			
		||||
  resolution: '1024x768',
 | 
			
		||||
  'browserstack.user': process.argv[2],
 | 
			
		||||
  'browserstack.key': process.argv[3],
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
var iPhoneDriver = new webdriver.Builder()
 | 
			
		||||
  .usingServer('http://hub-cloud.browserstack.com/wd/hub')
 | 
			
		||||
  .withCapabilities(iPhone)
 | 
			
		||||
  .build()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
var androidDriver = new webdriver.Builder()
 | 
			
		||||
  .usingServer('http://hub-cloud.browserstack.com/wd/hub')
 | 
			
		||||
  .withCapabilities(android)
 | 
			
		||||
  .build()
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
var desktopFFDriver = new webdriver.Builder()
 | 
			
		||||
  .usingServer('http://hub-cloud.browserstack.com/wd/hub')
 | 
			
		||||
  .withCapabilities(desktopFF)
 | 
			
		||||
  .build()
 | 
			
		||||
 | 
			
		||||
var desktopEdgeDriver = new webdriver.Builder()
 | 
			
		||||
  .usingServer('http://hub-cloud.browserstack.com/wd/hub')
 | 
			
		||||
  .withCapabilities(desktopEdge)
 | 
			
		||||
  .build()
 | 
			
		||||
 | 
			
		||||
var desktopIEDriver = new webdriver.Builder()
 | 
			
		||||
  .usingServer('http://hub-cloud.browserstack.com/wd/hub')
 | 
			
		||||
  .withCapabilities(desktopIE)
 | 
			
		||||
  .build()
 | 
			
		||||
 | 
			
		||||
//test.runTest(iPhoneDriver)
 | 
			
		||||
//test.runTest(androidDriver)
 | 
			
		||||
test.runTest(desktopFFDriver)
 | 
			
		||||
test.runTest(desktopEdgeDriver)
 | 
			
		||||
test.runTest(desktopIEDriver)
 | 
			
		||||
							
								
								
									
										62
									
								
								client/continuous_deployment/bs_test.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								client/continuous_deployment/bs_test.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,62 @@
 | 
			
		|||
var webdriver = require('selenium-webdriver')
 | 
			
		||||
 | 
			
		||||
const sleep = ms => {
 | 
			
		||||
  return new Promise(resolve => setTimeout(resolve, ms))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports.runTest = async driver => {
 | 
			
		||||
  try {
 | 
			
		||||
    await driver.get('https://www.react-most-wanted.com')
 | 
			
		||||
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    var signInButton = driver.wait(webdriver.until.elementLocated(webdriver.By.name('signin')))
 | 
			
		||||
 | 
			
		||||
    await signInButton.click()
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    var passwordButton = driver.wait(
 | 
			
		||||
      webdriver.until.elementLocated(
 | 
			
		||||
        webdriver.By.className(
 | 
			
		||||
          'firebaseui-idp-button mdl-button mdl-js-button mdl-button--raised firebaseui-idp-password firebaseui-id-idp-button'
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    await passwordButton.click()
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    var emailInput = driver.wait(webdriver.until.elementLocated(webdriver.By.name('email')))
 | 
			
		||||
 | 
			
		||||
    await emailInput.sendKeys('test@test.com')
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    var nextButton = driver.wait(
 | 
			
		||||
      webdriver.until.elementLocated(
 | 
			
		||||
        webdriver.By.className(
 | 
			
		||||
          'firebaseui-id-submit firebaseui-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored'
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    await nextButton.click()
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    var passwordInput = driver.wait(webdriver.until.elementLocated(webdriver.By.name('password')))
 | 
			
		||||
 | 
			
		||||
    await passwordInput.sendKeys('123456')
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    await passwordInput.sendKeys(webdriver.Key.ENTER)
 | 
			
		||||
    await sleep(2000)
 | 
			
		||||
 | 
			
		||||
    driver.quit()
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    console.log('Test Failed')
 | 
			
		||||
    console.error(e)
 | 
			
		||||
    process.exitCode = 1
 | 
			
		||||
    process.abort()
 | 
			
		||||
 | 
			
		||||
    driver.quit()
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								client/continuous_deployment/build.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								client/continuous_deployment/build.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -ev
 | 
			
		||||
#run only on master
 | 
			
		||||
if [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $TRAVIS_BRANCH == "master" ]]; then
 | 
			
		||||
  npm run build
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										8
									
								
								client/continuous_deployment/deploy.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								client/continuous_deployment/deploy.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
set -ev
 | 
			
		||||
#run only on master
 | 
			
		||||
if [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $TRAVIS_BRANCH == "master" ]]; then
 | 
			
		||||
  firebase use prod --token $FIREBASE_TOKEN
 | 
			
		||||
  firebase deploy --non-interactive --token $FIREBASE_TOKEN
 | 
			
		||||
  node ./continuous_deployment/bs.js $BSNAME $BSKEY
 | 
			
		||||
fi
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue