Commit Graph

102 Commits (b29546e578baf4dcce63fa226e1e66dd7f9e6e4d)

Author SHA1 Message Date
John Cowen b29546e578 Looking into atob functionality, consequence of Value: null
The Consul API can pass through `Value: null` which does not get cast to
a string by ember-data. This snowballs into problems with `atob` which
then tried to decode `null`.

There are 2 problems here.

1. `Value` should never be `null`
  - I've added a removeNull function to shallowly loop though props and
  remove properties that are `null`, for the moment this is only on
  single KV JSON responses - therefore `Value` will never be `null`
  which is the root of the problem

2. `atob` doesn't quite follow the `window.atob` API in that the
`window.atob` API casts everything down to a string first, therefore it
will try to decode `null` > `'null'` > `crazy unicode thing`.
  - I've commented in a fix for this, but whilst this shouldn't be
  causing anymore problems in our UI (now that `Value` is never `null`),
  I'll uncomment it in another future release. Tests are already written
  for it which more closely follow `window.atob` but skipped for now
  (next commit)
2018-07-05 13:35:06 +01:00
John Cowen 6a407a044e Remove validation for presence of KV values 2018-07-05 13:33:02 +01:00
John Cowen caf3bf17f0
Merge pull request #4326 from hashicorp/feature/embedded-test-api
Move testing doubles to use data embedded in the HTML vs HTTP/fetch
2018-07-03 16:45:13 +01:00
John Cowen 87a0ad9483
Merge pull request #4331 from hashicorp/feature/hedge-empty-node-ids
Hedge for when consul sends nodes with an empty ID
2018-07-03 16:11:31 +01:00
John Cowen b445df39bb Use html5 oninput instead of onkeyup for native textual inputs
This enables people to enter things using the mouse to paste for
example, plus possible other things.

As an aside it also answers my query regarding `fillIn` for testing,
nothing needs to be actually _typed_ anymore! Doh
2018-07-03 15:40:15 +01:00
John Cowen 6398fb02c7 Ensure we catch empty ID's for single nodes also
I don't think this would have a large effect on the UI whichever but
best to make sure
2018-07-03 14:48:04 +01:00
John Cowen a47a0b617f Hedge for when consul sends nodes with an empty ID 2018-07-03 13:23:45 +01:00
John Cowen aa067c049a
Merge pull request #4322 from hashicorp/feature/unignore-startup-tests
Reset `<html class>` after every test, back to its original static value
2018-07-03 10:45:08 +01:00
John Cowen f527eb1dd6
Merge pull request #4280 from hashicorp/bugfix/encode-all-svg-colors
Encode all the hexcodes
2018-07-03 10:44:36 +01:00
John Cowen df8506e200 Move testing doubles to use data embedded in the HTML vs HTTP/fetch
Previously `api-double` usage in ember would require a bunch of `fetch`
requests to pull in the 'api double', this had a number of disadvantages.

1. The doubles needed to be available via HTTP, which meant a short term
solution of rsyncing the double files over to `public` in order to be served
over HTTP. An alternative to that would have been figuring out how to serve
something straight from `node_modules`, which would have been preferable.

2. ember/testem would not serve dot files (so anything starting with a
., like `.config`. To solve this via ember/testem would have involved
digging in to understand how to enable the serving of dot files.

3. ember/testem automatically rewrote urls for non-existant files to
folders, i.e. adding a slash for you, so `/v1/connect/intentions` would
be rewritten to `/v1/connect/intentions/`. This is undesirable, and
solving this via ember/testem would have involved digging deep to
disable that.

Serving the files via HTTP has now changed. The double files are now
embedded into the HTML has 'embedded templates' that can be found by
using the url of the file and a simple `querySelector`. This of course
only happens during testing and means I can fully control the 'serving'
of the doubles now, so I can say goodbye to the need to move files
around, worry about the need to serve dotfiles and the undesirable
trailing slashes rewriting. Winner!

Find the files and embedding them is done using a straightforward
recursive-readdir-sync (the `content-for` functionality is a synchronous
api) as oppose to getting stuck into `broccoli`.
2018-07-02 19:02:16 +01:00
John Cowen b3d11dd880 Tweak vocabulary to match new step vocab 2018-07-02 16:49:13 +01:00
John Cowen 8e7e224f3f Encode all the hexcodes 2018-06-26 10:48:26 +01:00
mkeeler 6813a99081 Merge remote-tracking branch 'connect/f-connect' 2018-06-25 19:42:51 +00:00
John Cowen 5ac19b164e Change the appearance of `*` for intention listings
1. Use 'All Services (*)' as opposed to '*'
2. Set 'Destination' in teh same bold font as 'Source'
3. Ensure you can search for all services by using '*' or 'All Services
(*)'
2018-06-25 12:26:18 -07:00
John Cowen 9f8b87cdda Check for NOT connect-proxy 2018-06-25 12:25:40 -07:00
John Cowen cc3d578271 Filter Source and Destination menus by Kind 2018-06-25 12:25:40 -07:00
John Cowen d61a09ea28 Fix linting typo, caused the selection of future services to break 2018-06-25 12:25:40 -07:00
John Cowen f600d8fcc9 Move intentions menu item to after ACLs 2018-06-25 12:25:37 -07:00
John Cowen b0ff68cd7d Lint 2018-06-25 12:25:16 -07:00
John Cowen e736b546f8 Icons in the filter bar 2018-06-25 12:25:15 -07:00
John Cowen f4218b4bea Validate all the things, all the time 2018-06-25 12:25:15 -07:00
John Cowen ee3a32d771 More detailed error messages for duplicate intentions 2018-06-25 12:25:15 -07:00
John Cowen ea3e4a720a Only offer to create a future service if the name doesn't already exist 2018-06-25 12:25:15 -07:00
John Cowen 50507b34a5 Make sure future services are available when editing intentions 2018-06-25 12:25:15 -07:00
John Cowen 5575455053 Add support for specifying future services and wildcards 2018-06-25 12:25:15 -07:00
John Cowen 55bc45832e Tie up real endpoints 2018-06-25 12:25:15 -07:00
John Cowen 24f6155efc Switch to single selects rather than inputs 2018-06-25 12:25:15 -07:00
John Cowen 148621d98e Have a look at power select for select elements 2018-06-25 12:25:14 -07:00
John Cowen 8023bb9b03 Add intentions actions mixin 2018-06-25 12:25:14 -07:00
John Cowen 9d6b9b7717 Remove SourceType for the moment 2018-06-25 12:25:14 -07:00
John Cowen 871953ba39 Include logger for generated tests 2018-06-25 12:25:14 -07:00
John Cowen b38e5df630 WIP: First draft intentions
1. Listing, filtering by action and searching by source name and
destination name
2. Edit/Create page, edits ping the API double fine, need to work through
creates and deletes
3. Currently uses a `Precedence` intention keyname that doesn't yet
exist in the real API
2018-06-25 12:25:14 -07:00
John Cowen c3e92a236f WIP: Logger 2018-06-25 12:25:14 -07:00
John Cowen 44deab454d Reset `<html class>` after every test, back to its original static value 2018-06-25 12:11:01 +01:00
John Cowen 61e3fa3244 Make sure the dc menu is as useful as possible when things go wrong
1. Check the dc's model for both dcs list and the requested dc.
2. If the dc model doesn't exist use and empty array for dcs and a fake
dc with the Name 'Error' as we can't even trust what is in the
`paramsFor`
2018-06-22 17:23:00 +01:00
John Cowen fd60f225ec
Merge branch 'master' into feature/ui-node-ports-for-service 2018-06-22 17:17:03 +01:00
John Cowen b41d19c3c0
Merge pull request #4251 from hashicorp/bugfix/ui-null-tokens
Ensure a blank/empty token is sent if the localStorage kv doesn't exist
2018-06-22 16:36:20 +01:00
John Cowen 30402b51b1
Merge pull request #4253 from hashicorp/feature/ui-clearer-tags
UI - Clearer tags
2018-06-22 09:24:13 +01:00
John Cowen 3450aa81da
Merge pull request #4259 from hashicorp/feature/failing-ttl-test
[BUGFIX] UI - Make sure lock session TTLs are shown
2018-06-21 20:33:03 +01:00
John Cowen 2e293f2697 Add a beforeModel hook at dc/index to auto transition to services 2018-06-21 12:49:00 +01:00
John Cowen abf77b3c74 Merge remote-tracking branch 'shilov/master' into feature/failing-ttl-test 2018-06-21 11:14:01 +01:00
John Cowen 127a45a4ab Fix up following rebase, use array of strings rather than its own func 2018-06-21 11:06:45 +01:00
John Cowen 1881ec4824 Add a failing test to show that lock session TTL's are not shown 2018-06-21 10:56:38 +01:00
Matt Keeler 1b8f4e1697
Merge pull request #4245 from hashicorp/release-build-updates
Release build updates
2018-06-20 21:01:36 -04:00
John Cowen 3f0560d098 Add missing scss file 2018-06-20 15:33:42 +01:00
John Cowen 3161cf0c7d Make sure the updated tag view doesn't break the tests 2018-06-20 15:26:22 +01:00
John Cowen 0ad1d562db Use the pill styling elsewhere...
TODO: Probably change the %tag to %pill now I've remembered the word I was
looking for!
2018-06-20 15:14:16 +01:00
John Cowen 0f6214d0ce Make sure token is set to blank if nothing is typed in settings 2018-06-20 14:38:54 +01:00
John Cowen d2d501a4a4 Add a reusable %tag and use it for the ACL 'tags' ready to use elsewhere 2018-06-20 14:01:42 +01:00
John Cowen 76017b69b5 Make sure the colon doesn't wrap with lots of tags 2018-06-20 13:44:36 +01:00