consul/ui-v2
John Cowen 5debc74fa2 ui: Enable blocking queries by default (#6194)
-Enable blocking queries by default
-Change assertion to check for the last PUT request, not just any request for session destruction from a node page.

Since we've now turned on blocking queries by default this means that a
second GET request is made after the PUT request that we are asserting
for but before the assertion itself, this meant the assertion failed. We
double checked this by turning off blocking queries for this test using

```
And settings from yaml
---
consul:client:
  blocking: 0
---
```

which made the test pass again.

As moving forwards blocking queries will be on by default, we didn't
want to disable blocking queries for this test, so we now assert the
last PUT request specifically. This means we continue to assert that the
session has been destroyed but means we don't get into problems of
ordering of requests here
2019-09-04 08:35:14 +00:00
..
app ui: Enable blocking queries by default (#6194) 2019-09-04 08:35:14 +00:00
config ui: Upgrade ember-cli-api-double. Adds new staging env (#6136) 2019-09-04 08:35:13 +00:00
lib ui: modify content path (#5950) 2019-06-26 11:43:30 -05:00
public ui: serve /robots.txt when UI is enabled. (#5089) 2018-12-17 19:35:03 +01:00
tests ui: Enable blocking queries by default (#6194) 2019-09-04 08:35:14 +00:00
.dev.eslintrc.js
.editorconfig
.ember-cli Move testing doubles to use data embedded in the HTML vs HTTP/fetch 2018-07-02 19:02:16 +01:00
.eslintignore UI: Add EventSource ready for implementing blocking queries (#5070) 2019-05-01 18:22:06 +00:00
.eslintrc.js
.gitignore WIP: Feature/acceptance tests 2018-06-12 11:24:35 +01:00
.nvmrc
.prettierrc
.watchmanconfig
GNUmakefile ui: modify content path (#5950) 2019-06-26 11:43:30 -05:00
README.md add documentation on how to use ember-exam 2019-01-03 23:50:02 -05:00
ember-cli-build.js ui: Rename extended Component variables, tweak some comments (#5021) 2019-05-01 18:21:50 +00:00
package.json ui: Upgrade ember-cli-api-double. Adds new staging env (#6136) 2019-09-04 08:35:13 +00:00
testem.js output XML test results 2019-01-03 22:21:19 -05:00
yarn.lock ui: Upgrade ember-cli-api-double. Adds new staging env (#6136) 2019-09-04 08:35:13 +00:00

README.md

consul-ui

Prerequisites

You will need the following things properly installed on your computer.

Installation

  • git clone https://github.com/hashicorp/consul.git this repository
  • cd 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 or yarn start:api (this starts a Consul API double running on http://localhost:3000)
  • make start or yarn 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 or yarn run test
  • make test-view or yarn 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.