Video call exploration
-
Talkilla currently requires Firefox >= 25.
-
Make sure you have node installed.
-
Install the required node dependencies:
$ npm install # or alternatively: $ make install
-
Start the server:
$ env PORT=5000 node app.js # or alternatively: $ make runserver
-
In Firefox, set
media.navigator.permission.disabled
totrue
-
Point your web browser to http://localhost:5000.
App configuration is done using JSON files stored in the config/
directory:
dev.json
for thedev
environment configurationprod.json
for theprod
environment configurationlocal.json
for any settings you may want to override locally (this file is never versionned)
Optional settings are:
DEBUG
: to have log messages printed out to the browser consoleROOTURL
: the url to the server (this can also be specified by PUBLIC_URL in the environment)WSURL
: the url to the WebSocket server endpoint
To run the unit tests:
-
Make sure you've installed node and the required modules as per the local development section.
-
On Mac, you need to have /Applications/FirefoxNightly.app installed
-
On Linux, you need to have /usr/bin/firefox-nightly present, or a Firefox will be downloaded for you.
-
Run the tests:
$ make test
To run the front-end unit tests standalone:
-
First make sure you are running the server in development mode:
$ make runserver_dev
You'll need Python 2.7+ and virtualenv.
$ cd /path/to/talkilla
Run the tests, bootstrapping necessary dependencies from the net:
$ make selenium
To run the tests repeatedly, automatically for 10 runs or until failure:
$ make selenium-repeat
To run an individual file for 20 runs, or until failure:
$ REPEAT_TEST=test/functional/test_SingleBrowser.py REPEAT_TIMES=20 make selenium-repeat
To get full debug output from selenium and Firefox, specify FULL_SELENIUM_DEBUG on the command line:
$ FULL_SELENIUM_DEBUG=1 make selenium
Run one test file:
$ ./bin/run_selenium_test.sh test/functional/test_SingleBrowser.py
Debugging a single test:
# start selenium and get the right stuff in your $PATH
$ ./bin/selenium.sh start
$ source .venv/bin/activate
(.venv) $
# If you're on a Mac, be sure you've installed readline in your
# virtualenv first, using easy_install and NOT using pip:
(.venv) $ easy_install readline
# start debugging the file you care about
(.venv) $ python -m ipdb test/functional/test_SingleBrowser.py
# set breakpoint on the 1st line of test_public_homepage & continue
ipdb> b 11
ipdb> c
# breakpoint has fired; see what else you can do
ipdb> help
Look for a file named CONTRIBUTING.md
in this repository. It
contains our contributing guidelines.
All source code here is available under the MPL 2.0 license, unless otherwise indicated.