RETIRED, Fuel Web UI
Go to file
Vitaly Kramskikh a8a5497013 Don't move nailgun log for UI func tests manually
Since nailgun start is managed by tox, it's always empty.
Actual log is nailgun.log.

Change-Id: I17b76b701599ae6209e89c54e3d9156513074f77
Implements: blueprint separate-fuel-ui-repo
2016-03-14 15:14:27 +03:00
gulp Forcing eslint max-len rule 2016-01-25 20:06:45 +03:00
specs Add rpm spec file for fuel-ui 2016-03-01 12:14:18 +03:00
static Merge "Fix random test failures for specific browser/screen combinations" 2016-03-11 15:28:08 +00:00
.eslintrc Restore missing quote-props ESLint rule 2016-02-17 23:01:28 +07:00
.gitignore Add necessary files 2016-03-01 14:55:40 +07:00
.gitreview Add necessary files 2016-03-01 14:55:40 +07:00
LICENSE Add necessary files 2016-03-01 14:55:40 +07:00
MAINTAINERS Add necessary files 2016-03-01 14:55:40 +07:00
README.rst Update default FUEL_WEB_ROOT value for convenience 2016-03-01 15:35:50 +00:00
gulpfile.js Use Selenium 2.52.0 for UI functional tests 2016-02-24 15:08:10 +07:00
karma.config.js Enable linting for node.js files and split .eslintrc 2016-01-17 18:01:55 +03:00
npm-shrinkwrap.json Fix node-ip dependency declaration 2016-03-03 14:10:44 +07:00
package.json Fix node-ip dependency declaration 2016-03-03 14:10:44 +07:00
run_ui_func_tests.sh Don't move nailgun log for UI func tests manually 2016-03-14 15:14:27 +03:00
webpack.config.js Colors refactoring 2016-03-01 13:42:50 +00:00

README.rst

FUEL UI

This repository contains Fuel UI - the web user interface for Nailgun.

Installation

  • Fuel UI requires Node.js 0.10+ to be installed on your system. On Ubuntu 14.04 you can install it using the following commands:

    sudo apt-get remove --yes nodejs nodejs-legacy
    sudo add-apt-repository --yes ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install --yes nodejs
    sudo chown -R `whoami`.`whoami` ~/.npm
  • Install JS dependencies and Gulp:

    npm install
    sudo npm install -g gulp
  • The most convenient approach to modify Fuel UI is to use a development server. It watches for file changes and automatically rebuilds changed modules (significantly faster than full rebuild) and triggers page refresh in browsers:

    gulp dev-server

    By default it runs on port 8080 and assumes that Nailgun runs on port 8000. You can override this by using the following options:

    gulp dev-server --dev-server-host=127.0.0.1 --dev-server-port=8080 --nailgun-host=127.0.0.1 --nailgun-port=8000

    If automatic rebuild on change doesn't work, most likely you need to increase the limit of inotify watches:

    echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches
  • The production version of Fuel UI can be built by running:

    gulp build

    To specify custom output directory location, use static-dir option:

    gulp build --static-dir=static_compressed

    To speed up build process you may also want to disable uglification and source maps generation:

    gulp build --no-uglify --no-sourcemaps

    If for some reason you don't want to use a development server, but would like to recompile the bundle on any change, use:

    gulp build --watch

Testing

  • UI tests use Selenium server, so you need to install Java Runtime Environment (JRE) 1.7 or newer version.

  • You also need to install Firefox - it is used as the default browser for tests.

  • Run full Web UI test suite, run:

    npm run lint
    npm test

    UI functional tests require Nailgun server from fuel-web repo to be installed. By default it's assumed that fuel-web repo is in the same directory as fuel-ui repo, but you can specify another path using FUEL_WEB_ROOT environment variable:

    FUEL_WEB_ROOT=/path/to/fuel-web npm test

    By default Firefox browser is used. You can specify the browser using BROWSER environment variable:

    BROWSER=chrome npm test