Commit Graph

257 Commits

Author SHA1 Message Date
John Cowen 99c51c9f86
UI: Reduce in-development deprecations (also use toLocaleString) (#4677)
Various ember addons produced deprecation messages, some in the browser
console and some in terminal. Upgrading and replacing some of these has
reduced this.

Upgrades:

- ember-collection
- ember-computed-style

Replacements:

- ember-pluralize replaced with ember-inflector
- ember-cli-format-number replaced with custom helper using standard
`toLocaleString`

Removing ember-cli-format-number also meant some further changes related
to decimal places in the tomography graph, done using `toFixed`

The ExternalSources background-images have also now been escaped
correctly preventing in-development `console` warnings.

The only deprecation warnings are now from ember-block-slots, only in
terminal, making for a better development experience overall, especially now we
have an empty browser console

Also adds a `callIfType` 'helper util' which is a util specifically for helpers (it conforms to a helper argument signature) to be expanded upon later.
2018-10-01 13:42:42 +01:00
John Cowen 96508e556b
ui: Layout fix. Small padding additions to tables (#4701)
1. The 'Services' header need to be knocked ot the right slightly to line
up properly with the service name when there are no external source
icons.
2. Add a single space between ServiceName and ServiceID on the Node >
[Services] tab table.
2018-09-21 11:14:38 +01:00
John Cowen ece09e300d
UI: Tooltips and feedback-dialogs are the same thing - merge (#4678) 2018-09-21 11:13:21 +01:00
John Cowen d0405ba8b9
UI: CSS Additions (mainly %frames) (#4623)
* Move almost everything to use %frames
* Fix pill styles of ACL types
* Remove horizontal scrollbars from dom recycling scroller component
* Make text areas look ok in Firefox
* Remove ember-bulma-css
* New form elements, break out %toggle
* %button design tweaks
* %form-element design tweaks
* Better hashicorp logo
* Small screen CSS improvements (#4624)
  1. Reduce header size when there are no breadcrumbs
  2. Make the filters toggleable, closed by default
  3. Reduce the size of the footer on small screens
  4. Hide all non-primary columns for forms
  5. Slightly change the layout of various items, mainly buttons within
forms
  6. Make some confirmation dialogs work vertically on small screens. Guessing we might be better just using native confirmations on small
screens
2018-09-21 10:18:32 +01:00
John Cowen 89620b93c2
ui: Turn off the code editor whilst making an edit during testing (#4668)
Having the code editor on removes the text area from the DOM, making it
more difficult to enter text in the text editor during testing. This
turns the code editor off whilst making edits during testing.

No changes to UI code
2018-09-20 10:36:30 +01:00
John Cowen eb218ab93f
ui: Test bugfix. Specifically set deny for intention creation (#4663)
Make sure we speficially set and test for deny on testing intention
creation
2018-09-13 09:10:18 +01:00
John Cowen 5bb38f6ab5
ui: Tests Bugfix. Reflect extra json property `ExternalSources` in mocks (#4662)
The mocks where using randomly generated `ExternalSources` this change
makes sure they are fixed so we can reliably test the values. No change
to actual UI code
2018-09-13 09:09:59 +01:00
John Cowen 028875a732
UI: Set the CODE view as the default view for editing KV's (#4651)
Sets the code toggle on the KV edit/create page to be on by default, we figured most people probably prefer this view.

Also, previously we forced the KV toggle back to a default setting for every
time you visited a KV form page. We've now changed this so that the KV code
toggle button acts as a 'global' toggle. So whatever you set it as will
be the same for every KV for the lifetime of your 'ember session'

If we are to keep this, then consider saving this into localStorage
settings or similar, added some thoughts in comments re: this as it's very likely
to happen.
2018-09-13 09:09:30 +01:00
John Cowen f54fd21946
ui: [BUGFIX] Intentions were showing the wrong notification on creation (#4658)
The error notification was being shown on creation of an intention. This
was as a result of #4572 and/or #4572 and has not been included in a
release.

This includes a fix, plus tests to try to prevent any further regression.
2018-09-12 20:41:43 +01:00
John Cowen 0757a08684
ui: Adds a `default` view helper for providing a default value (#4650)
If the first value passed to the helper is an empty string or undefined
then return the second value
2018-09-12 20:38:57 +01:00
John Cowen 5ea748005c
UI: External Source markers (#4640)
1. Addition of external source icons for services marked as such.
2. New %with-tooltip css component (wip)
3. New 'no healthcheck' icon as external sources might not have
healthchecks, also minus icon on node cards in the service detail view
4. If a service doesn't have healthchecks, we use the [Services] tabs as the
default instead of the [Health Checks] tab in the Service detail page. 
5. `css-var` helper. The idea here is that it will eventually be
replaced with pure css custom properties instead of having to use JS. It
would be nice to be able to build the css variables into the JS at build
time (you'd probably still want to specify in config which variables you
wanted available in JS), but that's possible future work.

Lastly there is probably a tiny bit more testing edits here than usual,
I noticed that there was an area where the dynamic mocking wasn't
happening, it was just using the mocks from consul-api-double, the mocks
I was 'dynamically' setting happened to be the same as the ones in
consul-api-double. I've fixed this here also but it wasn't effecting
anything until actually made certain values dynamic.
2018-09-12 20:23:39 +01:00
John Cowen 981882d5ff
UI: Bugfix. Remove split view code editor (#4615)
When adding an auto resizing (heightwise) code editor, the
ivy-codemirror plugin seems to do this using more nested divs. This div
had a horizontal scroller but couldn't be seen on some platforms (with
hidden scrollbars). This commit makes the code editor slightly more
usable and more visually correct by removing the scroll bar in this div
to stop producing the 'split view look', yet keeping the horizontal
scroller at the bottom of the code editor for when you enter code that
is wider than the area. A max-width has also been added here to prevent
the text area from growing off the side of the page.

Another improvement to the code editor here is the addition of a nicer
color for hightlighting text selection so its at least visible.

Lastly, there was a way you could get the bottom horizontal scrollbar to overlay
the code in the editor. This makes sure there is always some space at
the bottom of the editor to make sure the code won't be obscured
2018-09-12 20:18:12 +01:00
John Cowen e5f300dd21
UI: Bugfix. Move to a different TextEncoder/Decoder (#4613)
1. The previously used TextEncoder/Decoder (used as a polyfill for
browsers that don't have a native version) didn't expose an encoder via
CommonJS. Use a different polyfill that exposes both a decoder and an
encoder.
2. The feature detection itself was flawed. This does a less error prone
detection that ensures native encoding/decoding where available and polyfilled
encoding/decoding where not available.
2018-09-12 20:15:58 +01:00
John Cowen 5e987965fa
UI: Bugfix. Fix code toggle in Safari (#4608)
I'd mistakenly changed the checkbox event to listen to oninput, which
works in Chrome and Firefox. Changed this back to onchange as it should
be.
2018-08-30 10:02:26 +01:00
John Cowen 40e71f1b91
UI: Simplify/refactor the actions/notification layer (#4572) + (#4573)
* Move notification texts to a slightly different layer (#4572)
* Further Simplify/refactor the actions/notification layer (#4573)

1. Move the 'with-feedback' actions to a 'with-blocking-action' mixin
which better describes what it does
2. Additional set of unit tests almost over the entire layer to prove
things work/add confidence for further changes

The multiple 'with-action' mixins used for every 'index/edit' combo are
now reduced down to only contain the functionality related to their
specific routes, i.e. where to redirect.

The actual functionality to block and carry out the action and then
notify are 'almost' split out so that their respective classes/objects do
one thing and one thing 'well'.

Mixins are chosen for the moment as the decoration approach used by
mixins feels better than multiple levels of inheritence, but I would
like to take this fuether in the future to a 'compositional' based
approach.

There is still possible further work to be done here, but I'm a lot
happier now this is reduced down into separate parts.
2018-08-29 19:14:31 +01:00
John Cowen b41cad6fdf
UI: CSS refactor (#4430) + Fullscreen Layout (#4435)
* Begin refactoring CSS into component folders. Moved most
components into layout/skin folders, left out a couple of ones I want
to think about more.
* Adjust grays based on recent Structure changes 
* Switch to fullscreen layout for lists and detail, left aligned forms (#4435)
* Specifically use the 'actions_close' label, not just the :last-child (actions-group)
* Replace some non-var-ed colours in vaults code skin, plus prefixing (black and white)
2018-08-29 12:11:58 +01:00
John Cowen 7bb35c4c78
UI: Repo layer integration tests (#4454) (#4563)
ui: Repo layer integration tests for methods that touch the API

Includes a `repo` test helper to make repetitive tasks easier, plus a
injectable reporter for sending performance metrics to a centralized metrics
system

Also noticed somewhere in the ember models that I'd like to improve, but left
for the moment to make sure I concentrate on one task at a time, more or less:

The tests currently asserts against the existing JSON tree, which doesn't
seem to be a very nice tree.

The work at hand here is to refactor what is there, so test for the not
nice tree to ensure we don't get any regression, and add a skipped test
so I can come back here later
2018-08-29 10:00:15 +01:00
John Cowen 1b3d566a7a
UI: Begin unskipping some more trivial tests (#4574)
WIP Unskip some lower level trivial tests.

This is the beginning of work to unskip some of the more trivial tests that I'd skipped a while back (if the thing they are testing broke, they would have failed higher up in other acceptance tests).

I'd rather keep the tests, as they do test things in a more isolated manner, and the plan was to always come back and work to unskip them time allowing.

I didn't get to far into this work in progress here, but I'd rather merge what I've done all the same and come back at a later date and continue.
2018-08-29 09:59:02 +01:00
John Cowen 4ebd70e6cd
UI: Fixes healthy node listing resize on large portrait screens (#4564)
1. Split the resizing functionality of into a separate mixin to be
shared across components
2. Add basic integration tests to prove that everything is getting
called through out the lifetime of the app. I decided against unit
testing as there isn't really any isolated logic to be tested, more
checking that things are being called in the correct order etc i.e. the
integration is correct.

Adds assertion to with-resizing so its obvious to override `resize`
2018-08-24 12:35:52 +02:00
John Cowen 80a307cb9f
UI: Add conditional enterprise logo (#4432)
Adds additional 'enterprise' text underneath the 'startup' logo if the
ui is built with a CONSUL_BINARY_TYPE environment variable that doesn't
equal `oss`.
2018-07-30 17:59:43 +01:00
John Cowen fde41467cf
ui: Adds bottom breathing space on the bottom of forms (#4433) 2018-07-30 17:58:13 +01:00
John Cowen 12811c0844
UI - Refactor Adapter.handleResponse (#4398)
* Add some tests to check the correct GET API endpoints are called

* Refactor adapters

1. Add integration tests for `urlFor...` and majority `handleResponse` methods
2. Refactor out `handleResponse` a little more into single/batch/boolean
methods
3. Move setting of the `Datacenter` property into the `handleResponse`
method, basically the same place that the uid is being set using the dc
parsed form the URL
4. Add some Errors for if you don't pass ids to certain `urlFor` methods
2018-07-30 17:55:44 +01:00
John Cowen 45d85542a9
UI - Non-prod CSS sourcemaps (#4418) 2018-07-30 17:53:14 +01:00
John Cowen 0663bdbe90
Merge pull request #4410 from hashicorp/bugfix/gh-4175-service-ip
UI - Bugfix: Show Service IP not the Node IP
2018-07-18 18:39:39 +01:00
John Cowen d4b548ad14
Merge pull request #4383 from hashicorp/feature/ui-tag-text-search
UI - Tag Text Search
2018-07-18 18:38:46 +01:00
John Cowen e7a3235afc Use `some` for the tags search instead of munging and searching 2018-07-18 18:15:03 +01:00
John Cowen 09a885dadd ADd some extra tests to pick up on searching by two joined tags 2018-07-18 18:14:20 +01:00
John Cowen d510e1e6d3 Add basic searching by tags using the freetext search near-term 2018-07-18 18:14:19 +01:00
John Cowen 3c40abcbae Acceptance test for searching service by tag 2018-07-18 18:13:18 +01:00
John Cowen b924ff87df
Merge pull request #4349 from hashicorp/feature/remove-rm-api-double
UI - Stop trying to remove consul-api-double we don't need to anymore
2018-07-18 17:54:21 +01:00
John Cowen 1d31bef0a4 Show the Service.IP address instead of the Node.IP address in detail 2018-07-18 13:37:14 +01:00
John Cowen 24c9037cae Make the tests break by switching to a Service.IP 2018-07-18 13:35:57 +01:00
John Cowen 7202f6e771
Merge pull request #4387 from hashicorp/feature/ui-service-ids
UI - Show/search by service ids
2018-07-13 09:38:35 +01:00
John Cowen 56d2052345
Merge pull request #4373 from hashicorp/bugfix/gh-4324-kv-trailing-slashes
UI Bugfix - kv trailing slashes
2018-07-13 09:38:02 +01:00
John Cowen ab914001c1 Bump consul-api-double 2018-07-12 14:00:31 +01:00
John Cowen 310a038f87 Show Service.ID's throughout the app, allow searching by Service.ID
1. In the Services > Services detail page for both healthy and unhealthy
nodes, also add searching by Service.ID here
2. In the Nodes > Node detail > [Services] tab only if its different
from the Service name, add searching by Service.ID here
2018-07-12 13:36:47 +01:00
John Cowen 40a270a492 Acceptance tests to search/look for service id's 2018-07-12 13:35:33 +01:00
John Cowen 4179afae06 Instead of rewriting the API call, use ember to rewrite the URL
We now essentially do 2 redirects if you hit a `folder/`

1. If you visit `/ui/dc1/kv/folder/`, `consul` will redirect you to `/ui/dc1/kv/folder`
2. Once redirected to `/ui/dc1/kv/folder` via a 301, use ember/history
API to redirect you back to `/ui/dc1/kv/folder/`.

Bit long winded, but achieves what we want without having to get stuck
into `consul` itself to remove the 301 for the UI
2018-07-11 10:44:37 +01:00
John Cowen 887d4e9dde If we are indexing or foldering then its going to be folder-like
...therefore add a trailing slash to the API call
2018-07-09 15:52:22 +01:00
John Cowen faf813fee2 Add tests that break when you request a folder without a trailing slash 2018-07-09 15:51:01 +01:00
John Cowen f6cd162f75 Stop trying to remove consul-api-double we don't need to anymore 2018-07-06 16:50:52 +01:00
John Cowen fb91d05eb4 Don't assume the last item in the healthcheck listing is passing 2018-07-06 16:40:04 +01:00
John Cowen 25477761f7
Merge pull request #4343 from hashicorp/bugfix/gh-4336-update-empty-kv
UI - Bugfix: Saving empty key/value pairs
2018-07-06 13:13:01 +01:00
John Cowen c01fb37c46 Don't clone prev, there's no need 2018-07-06 13:09:23 +01:00
John Cowen a5fa27d718 Fix a couple of typos in the comments 2018-07-06 11:01:45 +01:00
John Cowen 67402b3d26 Tests and comments regarding the previous 2 commits 2018-07-05 13:43:03 +01:00
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 83caa6a296 Add some more detail to the README pre-adding a CONTRIBUTING 2018-07-05 09:20:58 +01:00
John Cowen 7b8b3a012c Upgrade consul-api-double for session destroy 2018-07-04 18:53:52 +01:00
John Cowen 15b627a517 Basic acceptance testing for navigating via cancel buttons 2018-07-04 18:39:15 +01:00
John Cowen f85369c375 Add some navigation testing for back buttons and create buttons 2018-07-04 17:23:33 +01:00
John Cowen 649d777714 Acceptance test for using tokens from listing and detail pages 2018-07-04 16:37:41 +01:00
John Cowen 701d6a3a72 Move deleting to a top level feature 2018-07-04 15:58:09 +01:00
John Cowen e0f7cdb128 Start purifying page objects 2018-07-04 15:06:20 +01:00
John Cowen e3ce2a8beb Lock Session invalidation acceptance test 2018-07-04 13:41:44 +01:00
John Cowen ed286585e9 Add some low hanging intention tests, basically add intentions to others
1. There are various things tests that can just have intentions added
into them, like filters and such like, add intentions to these
2. Start thinking about being able to negate steps easily, which will
lead on to a cleanup of the steps
2018-07-04 13:21:30 +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
John Cowen 484f6ccaf2 Add port the service is running on for each node in the service view 2018-06-20 13:08:59 +01:00
John Cowen 8c5416ecaf Ensure a blank token is sent if the localStorage kv doesn't exist 2018-06-20 10:32:35 +01:00
John Cowen 894667b87a
Merge pull request #4247 from hashicorp/feature/acl-sort-by-name
UI - Sort ACL tokens by name
2018-06-20 09:18:36 +01:00
John Cowen f960604bb5
Merge pull request #4242 from hashicorp/feature/ui-code-editor-autosizing
Sets code editor height to be automatic (growable), with a reasonable min height
2018-06-20 09:18:14 +01:00
John Cowen 4d7f15ce34
Merge branch 'master' into bugfix/gh-4203-multi-tags 2018-06-20 09:17:23 +01:00
John Cowen 1d816e85af
Merge pull request #4228 from hashicorp/feature/minor-css-amends
UI - minor css amends
2018-06-20 09:15:34 +01:00
Matt Keeler aff1b93268 Update ui-v2 makefile to handle updating node_modules when needed
Also dont include the dist and node_modules folders in the build context.
2018-06-19 13:51:49 -04:00
John Cowen 6949b22d5f Sort ACL tokens by name 2018-06-19 10:51:31 +01:00
John Cowen 3c02e17fa7 Make sure the body background is white 2018-06-19 10:25:41 +01:00
Stanley Shilov c06dfb3d2d Sessions TTL should be of type string in ui-v2 2018-06-18 13:41:22 -05:00
John Cowen 5909d5695e Sets code editor height to be auto, with a reasonable min height 2018-06-18 19:07:57 +01:00
John Cowen 04435dbdaf Ensure all tags for a service are listed on the service detail page 2018-06-18 15:38:52 +01:00
Matt Keeler 30ff8b195b Add rsync so the ui can build again
Also add back the init target to the ui-v2 makefile
2018-06-15 14:44:14 -04:00
Matt Keeler 13c72cac0e Merge remote-tracking branch 'origin/master' into release-build-updates
# Conflicts:
#	scripts/consul-builder/Dockerfile
#	ui-v2/GNUmakefile
2018-06-15 14:40:09 -04:00
John Cowen fb4643b062 Move the rsync dependency to the test scripts for now.
1. You only need the fixtures for testing, don't force rsync on people
for just building
2. Eventually this will go and be replaced by something broccoli-y
2018-06-15 16:11:14 +01:00
John Cowen bf4bcdd670 Find a way to test pre-ember load
1. Also add index.html things to test/index.html
2. Use content-for to hedge against keeping content in sync (requires an
addon)
3. Test passes but only when run on its own, as we need to rely on
content in the QUnit runner, theoretically it is not running our test in
isolation. Skipping the test for the moment so we don't have a filaing
test when all run together
2018-06-15 13:56:45 +01:00
John Cowen 5bee407319 Move healthcheck text down by 1px 2018-06-14 17:19:46 +01:00
John Cowen 11ec24fe48 Ensure startup/load image is removed if you hit an error on first load 2018-06-14 17:19:45 +01:00
John Cowen 71cef8b8cd
Merge pull request #4225 from hashicorp/bugfix/hide-anon-acl-delete
[BUGFIX] Remove anonymous ACL delete button in the listing
2018-06-14 16:58:07 +01:00
John Cowen 62a4c1098e Add test for not showing the delete button for the first acl...
Also, change the action group page objects to use data-test attributes
instead of last-child which isn't reliable (and stay consistent)
2018-06-14 15:01:54 +01:00
John Cowen 58f99703a4 Disable the delete button in the acl list for the anon token only 2018-06-14 13:34:38 +01:00
John Cowen 53b6e20040 Add a test for searching by token 2018-06-14 13:15:56 +01:00
John Cowen 005fbcd149 Add searching ACL's by token 2018-06-14 13:06:02 +01:00
John Cowen 4998029670 Comment up custom visitable and add a couple of comments to be clearer 2018-06-12 11:24:36 +01:00
John Cowen f87f410e3a Use defaultValue for making sure Name is at least '' 2018-06-12 11:24:36 +01:00
John Cowen e37136ecae Prevent being able to submit a create form with empty values 2018-06-12 11:24:36 +01:00
John Cowen 59ce55227c Explicitly sort by Key after folder/file 2018-06-12 11:24:36 +01:00
John Cowen d4328ffa09 Remove buts 2018-06-12 11:24:36 +01:00
John Cowen 28e56aa92f Make this steps file the same as the others...
WIP: Ideally all of these would go
2018-06-12 11:24:36 +01:00
John Cowen 947417689f Make sure KV clicking is tested (WIP) 2018-06-12 11:24:36 +01:00
John Cowen ae2da814d8 Tweak vocab 2018-06-12 11:24:36 +01:00
John Cowen 950a704b74 Add a couple more unit tests for the utils folder 2018-06-12 11:24:36 +01:00
John Cowen 7bd9088677 Upgrade consul-api-double 2018-06-12 11:24:36 +01:00
John Cowen 5e5fffe300 Add some delete testing to KV and ACL 2018-06-12 11:24:36 +01:00
John Cowen 46419ac466 QSA doesn't like searching with sibling selectors, make a `sibling` 2018-06-12 11:24:36 +01:00
John Cowen 4b46caf77a Make sure `didAppear` and therefore `resize` is called on change
Tables need to calculate their sizing depending on other things in the
DOM. When a table is in a tab panel, some of these things aren't visible
and therefore some values are zero during `didInsertElement`.

This commit ensures that the resize calc of the table is performed when
it's parent tab is clicked (and therefore when the table 'appears')
2018-06-12 11:24:36 +01:00
John Cowen f1b25c009e WIP: Make sure I can get the values I need to calculate sizing
`rect.top` is zero until the tab panel becomes visible, resize will need
to be called when the tab is clicked also
2018-06-12 11:24:36 +01:00
John Cowen 16fc7ebd8b Remove some pauses 2018-06-12 11:24:36 +01:00
John Cowen c2bd21d8d9 Move testing bits to hashicorp org, also..
Go with `rsync` over `cp` for putting the api double into public for the
moment
2018-06-12 11:24:35 +01:00
John Cowen 4fe4ba40b4 Bump 2018-06-12 11:24:35 +01:00
John Cowen 17ebf96755 WIP: Feature/acceptance tests 2018-06-12 11:24:35 +01:00
John Cowen 635beab347 Fix tear down click handler problem in tests
It's not obvious what "the way" to teardown window event handlers is in
Ember. The datacenter-picker is permanently in the app during usage, but
in tests I'm assuming it gets added and removed lots.

So when you run the tests, as the tests aren't run in an isolated runner
the QUnit test runner ends up with a click handler on it, So if you
click on the test runner one of the tests will fail.

The failure is related to there not being an element with a `.contains`
method. So this checks that the element is truthy first, i.e. it exists.
If it doesn't it just bails out.
2018-06-12 11:24:35 +01:00
John Cowen cdfd24bf97 Use `this.element` for context, thus avoiding jQuery, plus..
Add comments for clarity
2018-06-12 11:24:35 +01:00
John Cowen b7498b3079 Tweak placeholder text to add 'port' 2018-06-12 11:24:35 +01:00
John Cowen f9cf50547a Adds filtering to the KV listing page 2018-06-12 11:24:35 +01:00