32387fdbcf
Makes listening to multiple events on one target slightly easier. Adding events can be rolled up into passing through an object, and the returned remove function removes all of the handlers in the object For example: ``` //this.listen... const remove = listeners.add( { 'message': handler, 'error': handler } ); remove(); // removes all listeners in the object ``` The entire API for listeners is now becoming slightly overloaded, so potentially we'd use this API always and remove the ability to use a string/function pair. |
||
---|---|---|
.. | ||
app | ||
config | ||
lib | ||
public | ||
tests | ||
.dev.eslintrc.js | ||
.editorconfig | ||
.ember-cli | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.nvmrc | ||
.prettierrc | ||
.watchmanconfig | ||
GNUmakefile | ||
README.md | ||
ember-cli-build.js | ||
package.json | ||
testem.js | ||
yarn.lock |
README.md
consul-ui
Prerequisites
You will need the following things properly installed on your computer.
- Git
- Node.js (with npm)
- yarn
- Ember CLI
- Google Chrome
Installation
git clone https://github.com/hashicorp/consul.git
this repositorycd ui-v2
yarn install
Running / Development
The source code comes with a small server that runs enough of the consul API as a set of mocks/fixtures to be able to run the UI without having to run consul.
make start-api
oryarn start:api
(this starts a Consul API double running on http://localhost:3000)make start
oryarn start
to start the ember app that connects to the above API double- Visit your app at http://localhost:4200.
To enable ACLs using the mock API, use Web Inspector to set a cookie as follows:
CONSUL_ACLS_ENABLE=1
This will enable the ACLs login page, to which you can login with any ACL token/secret.
You can also use a number of other cookie key/values to set various things whilst developing the UI, such as (but not limited to):
CONSUL_SERVICE_COUNT=1000
CONSUL_NODE_CODE=1000
// etc etc
See ./node_modules/@hashicorp/consul-api-double
for more details.
Code Generators
Make use of the many generators for code, try ember help generate
for more details
Running Tests
Please note: You do not need to run make start-api
/yarn run start:api
to run the tests, but the same mock consul API is used.
make test
oryarn run test
make test-view
oryarn run test:view
to view the tests running in Chrome
Running Tests in Parallel
Alternatively, ember-exam
can be used to split the tests across multiple browser instances for faster results. Most options are the same as ember test
. To see a full list of options, run ember exam --help
.
Note: The EMBER_EXAM_PARALLEL
environment variable must be set to override the default parallel
value of 1
browser instance in testem.js.
To quickly run the tests across 4 parallel browser instances:
yarn test-parallel
To run manually:
$ EMBER_EXAM_PARALLEL=true ember exam --split <num> --parallel
More ways to split tests can be found in the ember-exam README.md.