consul/ui/packages/consul-ui/tests/unit/utils
John Cowen f111d6b3e3
ui: Dev/Test environment configurable metrics (#9345)
In order to test certain setups for our metrics visualizations we need to be able to setup several different `ui_config` settings during development/testing. Generally in the UI, we use the Web Inspector to set various cookie values to configure the UI how we need to see it whilst developing, so this PR:

1. Routes `ui_config` through a dev time only `CONSUL_UI_CONFIG` env variable so we can change it via cookies vars.
2. Adds `CONSUL_METRICS_PROXY_ENABLE`, `CONSUL_METRICS_PROVIDER` and `CONSUL_SERVICE_DASHBOARD_URL` so it's easy to set/unset these only values during development.
3. Adds an acceptance testing step so we can setup `ui_config` to whatever we want during testing.
4. Adds an async 'repository-like' method to the `UiConfig` Service so it feels like a repository - incase we ever need to get this via an HTTP API+blocking query.
5. Vaguely unrelated: we allow cookie values to be set via the location.hash whilst in development only e.g. `/ui/services#CONSUL_METRICS_PROXY_ENABLE=1` so we can link to different setups if we ever need to.

All values added here are empty/falsey by default, so in order to see how it was previously you'll need to set the appropriate cookies values, but you can now also easily preview/test the the metrics viz in different/disabled states (with differing `ui_config`)
2020-12-15 15:34:54 +00:00
..
dom
helpers
http
routing
storage
ticker
acls-status-test.js
ascend-test.js
atob-test.js
btoa-test.js
callable-type-test.js
create-fingerprinter-test.js
get-environment-test.js
get-form-name-property-test.js
isFolder-test.js
keyToArray-test.js
left-trim-test.js
maybe-call-test.js
non-empty-set-test.js
promisedTimeout-test.js
remove-null-test.js
right-trim-test.js
templatize-test.js
ucfirst-test.js
update-array-object-test.js