Michael Lange
861690482f
Remodel task-group-deployment-summary to property use PlacedCanaries
2018-05-23 13:12:52 -07:00
Michael Lange
152311f6fb
Merge pull request #4254 from hashicorp/f-ui-ss-restart-tracking
...
UI: Server-side reschedule tracking
2018-05-10 16:17:02 -07:00
Michael Lange
4774a16bcd
Merge pull request #4201 from hashicorp/f-ui-fuzzy-job-search
...
UI: fuzzy and tokenized job search
2018-05-05 09:56:15 -07:00
Michael Lange
b5bcab3f52
Clean up computed property by inverting early return
2018-05-04 20:38:55 -07:00
Michael Lange
feec8aa5e7
Integration tests for the various reschedule events timeline permutations
2018-05-04 19:36:55 -07:00
Michael Lange
4178c2066a
Turn reschedule events timeline into a component for isolated testing
2018-05-04 19:36:55 -07:00
Michael Lange
d6d7a90c99
Acceptance tests for allocation rescheduling
2018-05-04 19:36:54 -07:00
Michael Lange
077ee297c0
Reschedule events timeline for the alloc detail page
2018-05-04 19:36:54 -07:00
Michael Lange
825d7c4512
Add WaitUntil and followUpEvaluation
2018-05-04 19:36:54 -07:00
Michael Lange
940a5325c7
New reschedule-event-row component
...
Intended to be used in a timeline view.
2018-05-04 19:36:54 -07:00
Michael Lange
46fc0cedc3
Add rescheduled icon to allocation row
2018-05-04 19:36:54 -07:00
Michael Lange
927caa441e
Refactor allocation-row
2018-05-04 19:36:54 -07:00
Michael Lange
97db138ce8
Add follow up eval relationship to allocation
2018-05-04 19:36:54 -07:00
Michael Lange
c2d860955f
Add shortId properties to reschedule events model
2018-05-04 19:36:54 -07:00
Michael Lange
d66ecd3402
New is-narrow modifier for slim table cells
...
Useful for actions, icons, and checkboxes
2018-05-04 19:36:54 -07:00
Michael Lange
3ff8a38972
New is-hollow modifer for boxed-sections
...
An open layout that makes its contents feel less cramped. Useful for
large visualizations.
2018-05-04 19:36:54 -07:00
Michael Lange
2cea40a894
New is-faded modifier for icons
...
For when the icon should be less prominent than the content around it
2018-05-04 19:36:54 -07:00
Michael Lange
ca172e1fc2
Modeling alloc reschedule events
2018-05-04 19:36:54 -07:00
Michael Lange
0c1c66776b
Merge pull request #4195 from hashicorp/b-ui-retry-stats-requests
...
UI: Retry stats requests
2018-04-24 14:13:34 -07:00
Michael Lange
603da9b4ea
Test coverage for the changes to the searchable mixin
2018-04-23 16:49:04 -07:00
Michael Lange
50b0892c14
Trim whitespace on the search term
...
Trailing whitespace messes with tokenization
2018-04-23 16:49:04 -07:00
Michael Lange
e0a0dbae9f
Add tokenization to fuse search options
2018-04-23 14:58:01 -07:00
Michael Lange
0fb407baec
Show how many jobs exist but are being hidden by the serach term
2018-04-23 14:58:01 -07:00
Michael Lange
47f4630607
Apply new search features to the job index page
2018-04-23 14:58:01 -07:00
Michael Lange
854c1665e0
Add optional fuzzy search support to the searchable mixin
...
This time around fuzzy, exact, and regex can all be toggled.
Additionally, each search type gets its own set of keys to search
for. This means fuzzy search can only look at name while regex and
exact match will still look at ID.
2018-04-23 14:58:01 -07:00
Michael Lange
71ca73c19b
Test coverage for alloc stats retrying
2018-04-20 18:11:32 -07:00
Michael Lange
eca7bf5ea2
Keep polling for alloc stats when a request fails
2018-04-20 16:50:54 -07:00
Michael Lange
ff11ca7dbe
Add button type to the two-step-button buttons
2018-04-20 10:11:21 -07:00
Michael Lange
82ca110cd0
New tests for stop job action
2018-04-19 14:22:04 -07:00
Michael Lange
f0cf931c7b
Refactor job-page components to use common title and error parts
2018-04-19 14:22:04 -07:00
Michael Lange
cf7d5543c3
New errorMessage format
2018-04-19 14:22:04 -07:00
Michael Lange
ccd3a91362
Common error component for job pages
2018-04-19 14:22:04 -07:00
Michael Lange
60938b6eb6
Move common title parts into a part component
2018-04-19 14:22:04 -07:00
Michael Lange
bb61fda409
Test coverage for the two-step-button component
2018-04-19 14:22:04 -07:00
Michael Lange
f83eb25c14
New two-step-button
...
For performing an action that requires confirmation
2018-04-19 14:22:04 -07:00
Michael Lange
c7639237ba
Add new model action for stopping a job
2018-04-19 14:22:04 -07:00
Michael Lange
5223a3f816
Don't read properties off of null objects
...
Somehow this controller code runs sometimes when the existing jobs
are dematerializing. This makes this.get('model') and array of null
2018-04-17 10:28:58 -07:00
Michael Lange
9d60c9db9a
Defer showing alloc addresses until the node is loaded
...
The URLs for addresses are meaningless until the node http addr
is available.
2018-04-10 09:31:35 -07:00
Michael Lange
2ed5b61358
Repeat the relationship unlinking pattern in the serializer
...
It also culls for findAll requests, so it too needs to be
careful about leaving garbage around.
2018-04-06 18:07:57 -07:00
Michael Lange
72cba3b036
Unlink record relationships before unloaded them from the store
...
When simply unloading a record, references to the record are
maintained by the internal relationship state of related models.
This causes refetching and duplicate models local to that relationship
state.
2018-04-06 17:50:40 -07:00
Michael Lange
78f7d57359
Never respond with an empty object from the adapter
...
In production builds only, this will slip into the local store
as a record with no ID, which makes for all sorts of bad news.
2018-04-05 16:50:37 -07:00
Michael Lange
f473d72ceb
Remove an extraneous component of the service job page
2018-04-02 18:19:17 -07:00
Michael Lange
7d5615794d
Merge pull request #4081 from hashicorp/b-ui-service-breadcrumbs
...
UI: Service job breadcrumbs + errant open connections
2018-03-29 15:08:14 -07:00
Michael Lange
a226021a05
Track multiple xhrs per URL rather than overriding
...
It was possible for a url to be overridden then canceled, leaving the
open connection open and forgotten about.
2018-03-29 14:40:57 -07:00
Michael Lange
db4b81a348
Merge pull request #4067 from hashicorp/ui-upgrade-ember
...
UI: Upgrade Ember to LTS + fix job summary issues
2018-03-29 12:43:54 -06:00
Michael Lange
b23bc70bce
Add missing js class for System that extends AbstractJobPage
2018-03-28 16:46:35 -07:00
Michael Lange
7bab2a1f23
Check for a case-sensitive or lowercase header value
2018-03-28 16:10:09 -07:00
Michael Lange
bff7230642
Remove now unnecessary summary fallback
...
Ember Data 2.18 fixed the underlying bug
2018-03-28 15:20:02 -07:00
Michael Lange
b7d833a5e0
Correctly watch the job summary on the task group page
...
It changed from being a relationship to a model
2018-03-28 15:12:27 -07:00
Michael Lange
6967fc2c11
Make the job<->job-summary relationship reflective
...
The job summary needed a JobID
2018-03-28 14:56:15 -07:00
Michael Lange
dbf4b6c242
Clear out the localStorage namespace when it's no longer valid
...
In the event that a namespace in localStorage is not found in the
response for /namespaces, clear the localStorage value and assume
the default namespace.
2018-03-28 14:55:07 -07:00
Michael Lange
679831e96b
Don't allow the alloc status table cell to word-wrap at the swatch
2018-03-28 14:51:54 -07:00
Michael Lange
84141e9d1f
Read the task event message from the DisplayMessage prop
2018-03-28 12:52:02 -07:00
Michael Lange
4c34a04151
Work around the dreaded broken relationship ED bug
...
Summary can unlink from a job when loaded in the wrong order. This
guarantees that the summary is bound to the job detail view by
falling back to the summary in the store.
2018-03-22 20:14:37 -07:00
Michael Lange
1413ed1a44
Never duplicate query params, always include query params
...
A couple more edge cases related to watching URLs with query params
2018-03-22 20:14:36 -07:00
Michael Lange
ca98d6b0c8
Allow child adapters specify special xhr keys
...
This is necessary for the namespace query param
2018-03-22 20:14:36 -07:00
Michael Lange
d85673d7c6
Always use the job plain id and job namespace in job links
2018-03-22 20:14:36 -07:00
Michael Lange
fb17a758da
Poll for allocation stats
2018-03-22 14:34:57 -07:00
Michael Lange
6bf139d094
Refactor the way allocation stats are fetched
...
No longer treat it as a property for relationship, just ephemeral
data that can be fetched on demand.
2018-03-22 14:34:13 -07:00
Michael Lange
729365507f
Merge pull request #4017 from hashicorp/b-ui-error-message-for-force
...
Show an error message when forcing a periodic launch is forbidden
2018-03-22 11:17:14 -07:00
Michael Lange
6ac170d721
Merge pull request #4026 from hashicorp/b-ui-use-native-fetch-in-prod
...
UI: Use native fetch in production when available
2018-03-22 11:16:37 -07:00
Michael Lange
d455b3cdd3
mirageEnabled alone doesn't capture whether or not mirage is enabled
...
Add an isProduction condition to ensure native fetch is used when
possible.
2018-03-21 22:09:10 -07:00
Michael Lange
fc5c4ff093
The initial index value should be 1, not 0
2018-03-21 13:28:56 -07:00
Michael Lange
8541579722
Show an error message when forcing a periodic launch is forbidden
...
This will happen when ACLs allow for reading jobs but not submitting.
2018-03-21 12:12:17 -07:00
Michael Lange
810c5c3f7c
Perioidic and Parameterized jobs need to watch /jobs for child updates
2018-03-20 16:41:53 -07:00
Michael Lange
39bf9a4e78
Always provide arguments instead of models to job links
...
This invoked the model hook, which will load the model and
redirect correctly based on permissions
2018-03-20 16:41:19 -07:00
Michael Lange
e4e70825d0
Guard against undefined properties in cancel requests
2018-03-20 16:41:19 -07:00
Michael Lange
e4d2b52748
Treat job-summary like a typical relationship rather than a custom link
...
This way ED doesn't eagerly fetch the job summary even when it's already
in the store due to the jobs list endpoint
2018-03-20 16:41:18 -07:00
Michael Lange
a5a5923e30
Job row should denote when a parent job has no children
2018-03-20 16:41:18 -07:00
Michael Lange
3affa48def
Alias the right property
2018-03-20 16:41:18 -07:00
Michael Lange
8e9fe5df01
Deployments should only be watched when the job type supports deployments
2018-03-20 16:23:03 -07:00
Michael Lange
31a30f5805
Merge pull request #3989 from hashicorp/f-ui-read-job-summary-from-list-view
...
UI: Read job summary from Jobs.List
2018-03-16 12:37:05 -07:00
Michael Lange
23cfbb9c27
Ensure the task group is present whenever an allocation row is rendered
2018-03-15 14:03:14 -07:00
Michael Lange
c8b3e91d4a
Update job row to no longer watch job-summary or reload the job
...
Now that job summary is pushed into the store from the list request
and the task group count is derived from the summary, the detailed
job information is no longer needed for a job row.
2018-03-15 10:48:37 -07:00
Michael Lange
ab69c2806c
Use the job-summary information available from the jobs list
2018-03-15 10:28:34 -07:00
Michael Lange
d6fd741e16
Read task name off of the state rather than the task
...
It's possible for the task (derived from the job API response)
is nil, or has a nil name field.
Using the task state instead ensures a name every time.
2018-03-14 16:39:42 -07:00
Michael Lange
5c1c0db1c3
Make task page breadcrumbs extend the allocation breadcrumbs
2018-03-13 16:36:26 -07:00
Michael Lange
53ee4d72a5
Make allocation pages extend the job breadcrumb trail
2018-03-13 16:36:26 -07:00
Michael Lange
d9287d1f40
Fix a bug where job links didn't always include the namespace QP
2018-03-13 16:34:01 -07:00
Michael Lange
0d9b94ab10
QueryParams primitive ported with a helper
...
This QueryParams object is defined in Ember source, but it isn't
public, which means there is no out of the box way to construct
the query params arg for LinkTo in JavaScript
2018-03-13 16:34:01 -07:00
Michael Lange
23e7a7924f
Only show the placement failures section if there is a blocked eval
2018-03-08 14:14:55 -08:00
Michael Lange
29f1d9948e
Merge pull request #3936 from hashicorp/f-ui-polling
...
UI: Live updating views
2018-03-08 13:27:02 -08:00
Michael Lange
04681d5622
Better define mixin contracts
2018-03-08 11:15:43 -08:00
Michael Lange
24c8690cb0
Fix a bug where namespace filter is incorrect for the jobs list
2018-03-08 10:40:31 -08:00
Michael Lange
0cfa36d839
Don't let aborted requests redirect to error
2018-03-08 10:40:31 -08:00
Michael Lange
314f1ea436
Change from the setupController hook to the new startWatchers hook
2018-03-08 10:40:31 -08:00
Michael Lange
98d425fdcf
Toggle polling in components when switching away from the tab
2018-03-08 10:40:31 -08:00
Michael Lange
50f67d8ee6
New mixins for managing tab visibility effects
2018-03-08 10:40:31 -08:00
Michael Lange
2282f3243a
Use willTransition instead of deactivate to cancel requests
...
deactivate happens _after_ the new route's model hook, which
results in the possibility of canceling new requests right
after they are made rather than existing open connections
2018-03-05 09:32:05 -08:00
Michael Lange
83df67a8ab
Watch node and related allocations on the client detail page
2018-03-05 09:32:04 -08:00
Michael Lange
e54cf51460
Move node watching to the index page
...
It doesn't need to impact the entire route hierarchy
2018-03-05 09:32:04 -08:00
Michael Lange
5363f32d33
Watch the allocation on the allocation and task pages
2018-03-05 09:32:04 -08:00
Michael Lange
c201d3ae8f
Watch job, job-summary, and job-allocs on the task group page
2018-03-05 09:32:04 -08:00
Michael Lange
a79c0aa853
Move jobs polling from jobs to jobs.index
...
It's only necessary for the list view, not the entire route hierarchy
2018-03-05 09:32:04 -08:00
Michael Lange
b1125c1a1f
Add polling to the deployments page
2018-03-05 09:32:04 -08:00
Michael Lange
8b0ad9f2fb
Move job watchers to job.index
...
They are only for the overview page, not the whole hierarchy
2018-03-05 09:32:04 -08:00
Michael Lange
053cf6d4f1
Cancel a watch request before making an identical one
2018-03-05 09:32:04 -08:00
Michael Lange
2b6f07c4c3
Watch job versions
2018-03-05 09:32:03 -08:00
Michael Lange
c883280661
Fix preexisting bugs that only surfaced once live updating started
2018-03-05 09:32:03 -08:00
Michael Lange
0750f353a8
Go through the expected normalization paths when watching relationships
2018-03-05 09:32:03 -08:00
Michael Lange
2e825a8d22
Watch nodes and allocs on the nodes list page
2018-03-05 09:32:03 -08:00
Michael Lange
4b581dc04d
Address headers and ID bugs
2018-03-02 16:28:39 -08:00
Michael Lange
bbe646b131
Set slices after merging the selection
2018-03-02 16:21:37 -08:00
Michael Lange
7c27d1486b
Json viewer isn't side effect free, so use a copy
2018-03-02 16:21:37 -08:00
Michael Lange
80c8db559b
Tests for watching and canceling requests
2018-03-02 16:21:37 -08:00
Michael Lange
553c69cc32
Fix existing tests
2018-03-02 16:21:36 -08:00
Michael Lange
2634b36044
Generalized solution for removing records in the local store
...
When the findAll response from the server no longer has them.
2018-03-02 16:21:36 -08:00
Michael Lange
1ab5b8b3e4
Cancel watch tasks when appropriate
2018-03-02 16:21:36 -08:00
Michael Lange
962c763aa6
Watch properties cancel long poll requests
2018-03-02 16:21:36 -08:00
Michael Lange
01a83b5bee
Track xhrs in the watchable adapter and expose cancellation methods
2018-03-02 16:21:36 -08:00
Michael Lange
d5424fec57
Remove stale records from the store for findHasMany requests
2018-03-02 16:21:35 -08:00
Michael Lange
5a21a5ddbf
Watch for summary changes in job-row
2018-03-02 16:21:35 -08:00
Michael Lange
1f7f78823e
Watch all records on the jobs list page
2018-03-02 16:21:35 -08:00
Michael Lange
34872543f9
Remove records from the store when they are no longer in array responses
...
Ember Data doesn't do this by default, instead opting to be as
non-destructive as possible. However, this is desired behavior.
2018-03-02 16:21:35 -08:00
Michael Lange
5f10940c92
Blocking query support for findAll requests
2018-03-02 16:21:35 -08:00
Michael Lange
87e32af4ea
Make the throttle time configurable
2018-03-02 16:21:35 -08:00
Michael Lange
6b1fab696e
Add a watchAll computed property macro
2018-03-02 16:21:34 -08:00
Michael Lange
d51da0fa62
Fix distribution-bar bugs found with live data
...
- Key data using datum label
(when something goes from number, to zero, to number again)
- Retain active and inactive classes across data updates
2018-03-02 16:21:34 -08:00
Michael Lange
8566a8cd25
Move watch tasks into a utils file
2018-03-02 16:21:34 -08:00
Michael Lange
55f90cf7f7
Prototype watching resources
...
- Service to manage X-Nomad-Index values
- Adapter method for reloading relationships with additional params
- Pattern for watching models and model relationships using EC
2018-03-02 16:21:34 -08:00
Michael Lange
bace0fedef
Re-render chart whenever data changes
2018-03-02 16:21:13 -08:00
Michael Lange
e7796ccaee
Refactor job summary to a relationship
...
Now that blocking queries are going to be in play, We can no longer
pretend the two requests are one, since they have independent nomad
indices.
2018-03-02 16:21:13 -08:00
Michael Lange
a18771278f
Merge pull request #3908 from hashicorp/f-ui-route-client-requests-through-server
...
UI: Take advantage of client request tunneling
2018-03-02 15:58:27 -08:00
Michael Lange
a503fbe73c
In the event the server also times out, show an error message
2018-02-27 13:38:31 -08:00
Michael Lange
16daba97e1
Cleanup following review
2018-02-26 16:35:41 -08:00
Michael Lange
dc72ac2bc7
Fallback to using the nomad server for log streaming
...
Only when the client isn't accessible
2018-02-26 12:23:47 -08:00
Michael Lange
470b8131bd
Get client stats through the server agent
2018-02-26 12:23:47 -08:00
Michael Lange
2fcd9b3cb6
Refactor node meta table
...
- Use existing serializer and components
- Add acceptance test
- Add empty state
2018-02-06 18:56:49 -08:00
Or Tzabary
cb1193b9a5
Meta params table in Client view
2018-02-06 18:04:57 -08:00
Michael Lange
2563e04a6d
Inject system so namespace shows up on job detail components
2018-02-06 10:53:53 -08:00
Michael Lange
9f9597c50c
Integration test for periodic job force launch
2018-02-06 10:53:53 -08:00
Michael Lange
f864fb3f2a
Tests for the summary job page part
2018-02-06 10:53:53 -08:00
Michael Lange
3d9ed6e57e
Integration tests for the body job part
2018-02-06 10:53:52 -08:00
Michael Lange
40c8149520
Trim the parent job prefix off the child job names when displaying them
2018-02-06 10:53:52 -08:00
Michael Lange
1f5e9998e9
State periodic or parameterized as the job type when applicable
2018-02-06 10:53:52 -08:00
Michael Lange
64b99276ca
Clean up force launch button
2018-02-06 10:53:51 -08:00
Michael Lange
09eeb49786
Differentiate between no search matches and no allocs on task group page
2018-02-06 10:53:51 -08:00
Michael Lange
abcfda9911
Add ability to force a periodic job launch
2018-02-06 10:53:51 -08:00
Michael Lange
732c61baf9
For now, the system job is identical to the service job
2018-02-06 10:53:51 -08:00
Michael Lange
a820ea7b13
Payload details for the parameterized child job detail page
2018-02-06 10:53:51 -08:00
Michael Lange
aa1b9674e8
Elastic mode for cli window component
2018-02-06 10:53:51 -08:00
Michael Lange
89a19fbe38
Breadcrumbs for the periodic child job page
2018-02-06 10:53:50 -08:00
Michael Lange
4f8a59a56c
Bring payload in from the job api response
2018-02-06 10:53:50 -08:00
Michael Lange
0d4a245f7c
Paginated and sortable table for job launches/children jobs
2018-02-06 10:53:50 -08:00
Michael Lange
995d07efc2
New job page components for parent jobs and batch jobs
2018-02-06 10:53:50 -08:00
Michael Lange
0e173f5da5
Fleshing out job page parts and differences
2018-02-06 10:53:50 -08:00
Michael Lange
6492611e39
Recreate the service job detail page using job part components
2018-02-06 10:53:50 -08:00
Michael Lange
25d9004d3a
Deconstruct the existing job detail page into common parts
...
This is to later compose job detail page variations
2018-02-06 10:53:49 -08:00
Michael Lange
1845ccd456
Handle the difference between parameterized on single and list responses
2018-02-05 20:13:58 -08:00
Michael Lange
a4deea08af
Computed a template type for a job
...
This is a composite of scheduler type, batch variations, and children v.
template
2018-02-05 20:13:58 -08:00
Michael Lange
67cee01f11
Use the children summary instead of alloc summary when applicable
2018-02-05 20:13:58 -08:00
Michael Lange
d8bd9dec77
Specialized children-status-bar variant of the allocation-status-bar
2018-02-05 20:13:58 -08:00
Michael Lange
c3fe28219b
Model the parent/child relationship in jobs
2018-02-05 20:13:58 -08:00
Michael Lange
633c9599dc
Filter child jobs out of the root jobs list
2018-02-05 20:13:58 -08:00
Michael Lange
b5c7c5f3ce
Merge pull request #3777 from johncowen/f-ui-api-task-events-messages
...
UI: Make task-events use the `message` from the API rather than hardcoded
2018-02-05 18:36:41 -08:00
John Cowen
98bd72a44e
Remove `vaultError`, `failedSibling` and `messagePassthru`
...
1. `vaultError` and `failedSibling` are safe to remove see
https://github.com/hashicorp/nomad/blob/64e9cf9/nomad/structs/structs.go#L3979-L3986
2018-01-26 13:37:20 +00:00
John Cowen
c7c465fb78
Make task-events use the `message` from the API rather than hardcoded
...
The api has changed to send through a message for task-events. Use that
instead of rendering a message from within js dependent on the task
event type
2018-01-19 15:38:57 +00:00
John Cowen
abaae90be7
Address PR feedback
...
1. Extra whitespace
2. Remove redundant code
3. Remove redundant markup from test
4. placement-failure should be used as an inline component
5. Prefer `assign` polyfill
6. Use new `@ember' org style imports
2018-01-19 13:59:19 +00:00
John Cowen
56890fbc6b
Add more assertions for basic message checking
2018-01-19 13:59:19 +00:00
John Cowen
9b0715ac44
Add in data-test attrs to hook into, decide on test case granularity
2018-01-19 13:59:19 +00:00
John Cowen
1f9a2064c6
Move cleanWhitespace to utils, readd data-test attribute for PF's
...
1. cleanWhitespace > /test/utils/clean-whitespace.js
2. Missd the data-test attribute for placement failures in previous
conflict
2018-01-19 13:59:19 +00:00
John Cowen
7865038c6e
Move placement failures to a component, begin separate integration tests
...
1. Simple move of placement-failures template code to a component
2. Start adding integration tests - hit `inc` surprise
2018-01-19 13:59:19 +00:00
Michael Lange
20eebaeda1
Add breadcrumbs to the styleguide
2018-01-17 09:04:01 -08:00
Michael Lange
79ebf291e8
Reorganize the styleguide using components for sections
2018-01-17 09:04:01 -08:00
Michael Lange
c9ae29682c
Add boxed-section component to the styleguide
2018-01-17 09:04:00 -08:00
Michael Lange
d2a26a6745
Add basic elements to the styleguide
2018-01-17 09:04:00 -08:00
Michael Lange
a0b2433f42
Add jumbo distribution bar to the styleguide
2018-01-17 09:04:00 -08:00
Michael Lange
5e02fc49b3
Move distribution bar styleguide material to a component
2018-01-17 09:04:00 -08:00
Michael Lange
124d8de8d8
Move button styleguide material to a component
2018-01-17 09:04:00 -08:00
Michael Lange
6a258b20d6
Fix syntax highlighting in the styleguide
2018-01-17 09:04:00 -08:00
Michael Lange
1cb8aeeba8
Fix a class name bug in the distribution bar
2018-01-17 09:04:00 -08:00
Michael Lange
c9837ec9f6
A new place to put styles only the styleguide uses
2018-01-17 09:04:00 -08:00
Michael Lange
c408b4ecc4
Run prettier on all files
...
Since prettier updated, some files have out of date formatting.
2018-01-17 09:04:00 -08:00
Michael Lange
45f9214c2c
Use ember-test-selectors for integration tests
2018-01-17 09:03:59 -08:00
Michael Lange
76cd94a54e
Use data-test- selectors in acceptance tests
2018-01-17 09:03:59 -08:00
Michael Lange
875936ba0d
Strengthen the .tag override selector
...
In 0.5.2, Bulma excludes the body element from the selector to work around
an issue with Wordpress.
2018-01-17 09:03:59 -08:00
Michael Lange
02028e29c2
Remap $info to $blue
...
Bulma defaults $info to $cyan in 0.6.0
2018-01-17 09:03:59 -08:00
Michael Lange
0a4fb3a16b
Specify color overrides in navbar
...
Bulma 0.5.2 introduced color modifiers for navbar
2018-01-17 09:03:59 -08:00
Michael Lange
ed756ce602
Replace nav with navbar
...
Bulma introduced navbar while deprecating nav in 0.4.3
Bulma removed deprecated nav in 0.6.0
2018-01-17 09:03:59 -08:00
Michael Lange
e4ddfafe9d
Replace custom breadcrumbs CSS with new Bulma provided CSS
2018-01-17 09:03:59 -08:00
Michael Lange
99ead2e390
Update variable names
2018-01-17 09:03:58 -08:00
Michael Lange
5f767fe29e
Default to 100% wide tables
...
Bulma 0.5.0 makes tables auto by default and adds the
full-width modifier.
2018-01-17 09:03:58 -08:00
Michael Lange
450a2a8d75
Shuffle around styles to better organize around net new code and bulma overrides
2018-01-17 09:03:58 -08:00
Michael Lange
d918c81c76
Remove the MODEL_FACTORY_INJECTIONS cruft
2018-01-17 09:02:05 -08:00
Michael Lange
1107798da6
Use the new ember modules imports
...
Generated with a codemode:
https://github.com/ember-cli/ember-modules-codemod
2018-01-17 09:02:04 -08:00
Michael Lange
3136c5db18
Update the reason why the router service is still not used
2018-01-17 09:02:04 -08:00
Michael Lange
87670753e5
Never use native fetch when mirage is enabled
...
Unfortunately, Mirage/Pretender don't support fetch
2018-01-17 09:02:04 -08:00
Michael Lange
9d505d1db0
Disambiguate what to do with the child task for the task logger
...
linked tasks are killed when the parent task is killed.
2018-01-17 09:02:04 -08:00
Michael Lange
b0aab1f23e
Don't warn intentional errors in tests
...
It's too noisy
2018-01-17 09:02:04 -08:00
Michael Lange
c15b54a299
Don't dot twice after an @each
2018-01-17 09:02:03 -08:00
Michael Lange
9cf71202ce
Never fetch a job with null as the namespace
2018-01-17 09:02:03 -08:00
Michael Schurter
7a77fc69ce
Include credentials in fetch requests
...
Fixes #3701
Relevant spec section:
https://fetch.spec.whatwg.org/#concept-request-credentials-mode
2018-01-08 12:18:03 -08:00
Michael Lange
c1efbabce6
Merge pull request #3631 from hashicorp/b-ui-expand-definition
...
UI Show full job definition by default
2017-12-07 14:42:01 -08:00
Michael Lange
bfaf81df31
Merge pull request #3607 from hashicorp/f-ui-modify-time-over-modify-index
...
UI Use ModifyTime instead of ModifyIndex in allocation lists
2017-12-07 14:25:28 -08:00
Michael Lange
aeddd4d717
Expand the entire job definition by default
2017-12-07 14:06:51 -08:00
Michael Lange
a2b9c2ee60
Merge pull request #3621 from hashicorp/b-ui-timezones
...
UI: Drop timezones from timestamps
2017-12-06 14:16:08 -08:00
Michael Lange
305b058a85
Merge pull request #3623 from hashicorp/f-ui-warn-uncaught-exceptions
...
UI: Warn uncaught exceptions to console
2017-12-06 14:11:22 -08:00
Michael Lange
a833248a9d
Make sure the code element within a cli-window takes the full height
2017-12-06 13:36:18 -08:00
Michael Lange
3b6a084a1d
Warn errors in prod
2017-12-06 10:33:03 -08:00
Michael Lange
54cb23c577
Use ModifyTime instead of ModifyIndex
2017-12-06 10:17:12 -08:00
Michael Lange
4a88d3338c
Remove UTC timezone tag
2017-12-05 19:12:18 -08:00
Michael Lange
956e967ffd
Acceptance tests for evaluations
2017-11-29 20:12:45 -08:00
Michael Lange
bd7a474c28
Be clear about what the placment failures number next to task groups is
2017-11-29 20:12:12 -08:00
Michael Lange
4451265b79
List placement failures on the job detail page
2017-11-29 20:12:12 -08:00
Michael Lange
d1277ac933
Add a table of evaluations to the job detail page
2017-11-29 20:12:12 -08:00
Michael Lange
4e3b58a24a
Associate jobs, task groups, and evaluations
2017-11-29 20:12:12 -08:00
Michael Lange
8240f99769
Models evaluation data
2017-11-29 20:12:12 -08:00
Michael Lange
f747cc79e4
Revert "UI Placement failures""
...
This reverts commits
141ecd8d9170f56c8302b5c776532e6d287a40e3
d2d838c2de08aac716a9431d9720b5c12bb19ba1
8099db433641429816e8479c6d23116269f744c0
86262b3ceff607627a9c9e0e25eb81b9b5ee739c
eb4104ec528982e0ee6ae9a05fb0460e53139f3f
0e0e23e238017815bdb6dcfbc056275b3deaacca
6d45658d77fb4c40760a63cced71b74757356e48
b52a8176e85b9c6f13ec012f7fce2ec3df1c8751
2017-11-29 20:03:39 -08:00
Michael Lange
961926880a
Acceptance tests for evaluations
2017-11-29 19:46:28 -08:00
Michael Lange
3b184b974b
Be clear about what the placment failures number next to task groups is
2017-11-29 16:30:33 -08:00
Michael Lange
3a1652ba83
List placement failures on the job detail page
2017-11-29 16:30:33 -08:00
Michael Lange
1d5b67b9bf
Add a table of evaluations to the job detail page
2017-11-29 16:30:33 -08:00
Michael Lange
d434a62563
Associate jobs, task groups, and evaluations
2017-11-29 16:30:33 -08:00
Michael Lange
6be9d7e919
Models evaluation data
2017-11-29 16:30:33 -08:00
Michael Lange
e051b1f34b
Explain the magical logging constant
2017-11-21 15:05:28 -08:00
Michael Lange
73969cd6ab
Move the stream support check to the stream logger
2017-11-21 14:57:19 -08:00
Michael Lange
3e8e3880aa
Use the b64 log format to track offsets for pause/play support
2017-11-21 11:22:42 -08:00
Michael Lange
b3d53a3569
Use offset numbers in the polling mechanism
2017-11-21 11:22:42 -08:00
Michael Lange
061de462c6
Integration tests for the task-log component
2017-11-21 11:22:42 -08:00
Michael Lange
ac1855f37c
Rename allocation-log to task-log
2017-11-21 11:22:42 -08:00
Michael Lange
1e1a697841
Acceptance tests for task logs
2017-11-21 11:22:42 -08:00
Michael Lange
ba7245247a
Prevent using fetch or ReadableStream in tests
...
Until they can be mocked, they can't be used
2017-11-21 11:22:42 -08:00
Michael Lange
82bf67b630
Microscopic refactor for style reasons
2017-11-21 11:22:42 -08:00
Michael Lange
53de626709
Let the log component fill all available height
2017-11-21 11:22:42 -08:00
Michael Lange
d394b7e648
Updated styles for the cli-window component
2017-11-21 11:22:42 -08:00
Michael Lange
7c3f688ad6
Move logging logic from the controller to a component
2017-11-21 11:22:42 -08:00
Michael Lange
fc581163d6
First pass at the logs page
...
Just verifying the log code works
2017-11-21 11:22:42 -08:00
Michael Lange
4293772203
Log class for interfacing with log APIs
...
Supports:
- Reading the head of a log
- Reading the tail of a log
- Following a log in one of two ways:
- Streaming the HTTP request (using fetch res.getReader)
- Polling the log endpoint (using EC timeouts)
2017-11-21 11:22:41 -08:00
Michael Lange
52b81d8fa7
Provides a slim TextDecoder polyfill for Edge
2017-11-21 11:22:41 -08:00
Michael Lange
dc5159292a
Add link to the task logs page
2017-11-21 11:22:41 -08:00
Michael Lange
d7df5712f9
Prefer native fetch
2017-11-21 11:22:41 -08:00
Michael Lange
a02f32fc81
Guard against null values
2017-11-21 11:22:41 -08:00
Michael Lange
71bc408f6c
Remold the allocation detail and task detail pages
...
Now that there is a task detail page, some of the content from
the allocation detail page is better suited there.
2017-11-14 11:08:51 -08:00
Michael Lange
9c58c30496
Update allocation detail page to look like job and node
2017-11-14 11:05:29 -08:00
Michael Lange
6a7bbe8afa
Create a new task route hierarchy
...
Drilling into a task from an allocation transitions to the task
heirarchy.
2017-11-14 11:04:40 -08:00
Michael Lange
ff69512ff3
Rename nodes routes to client routes
2017-10-27 18:39:04 -07:00
Michael Lange
fb2abbe0bc
Change app copy to say 'clients' instead of 'nodes'
2017-10-27 18:14:46 -07:00
Michael Lange
af870eeb32
Merge pull request #3428 from hashicorp/b-ui-missed-the-deployment-allocs
...
Add modified and version headers to deployment allocation table
2017-10-25 10:31:20 -07:00
Michael Lange
3503137dd2
Update the existing empty state messages to no longer mention tokens
...
There is no longer a way that these messages could show and tokens be the problem
2017-10-24 16:41:11 -07:00
Michael Lange
a6a34fbba0
Apply route-specific 403 handling to jobs, nodes, and servers
2017-10-24 16:41:11 -07:00
Michael Lange
225817583f
Common code for handling 403s in routes
2017-10-24 16:40:27 -07:00
Michael Lange
fce7440f34
Stop gracefully handling findAll 403s in the adapter
2017-10-24 16:40:27 -07:00
Michael Lange
53211f9175
Merge pull request #3439 from hashicorp/b-ui-hide-deployments-tab-based-on-type
...
Don't show the deployments tab for non-service jobs
2017-10-24 16:39:47 -07:00
Michael Lange
37c1b0a707
Merge pull request #3437 from hashicorp/f-ui-sort-server-tags
...
Sort server tags
2017-10-24 16:39:23 -07:00
Michael Lange
007cafac63
Don't show the deployments tab for non-service jobs
...
They can't have deployments, so the link makes no sense.
2017-10-24 12:35:29 -07:00
Michael Lange
ea58519840
Sort server tags
2017-10-24 12:04:08 -07:00
Michael Lange
7abf621441
On namespace change on a job detail page, redirect to /jobs
...
And reload jobs for the new namespace.
2017-10-23 17:42:36 -07:00
Michael Lange
ea88e59ae0
Make sure to treat the namespace Name as the ID
2017-10-23 17:42:36 -07:00
Michael Lange
ff4df58e6d
Address a couple asynchronicity issues
2017-10-23 17:42:36 -07:00
Michael Lange
eb59f76601
Update all job links
2017-10-23 17:42:36 -07:00
Michael Lange
d967a9eb30
Redo the logic around showing namespaces
...
Don't show namespaces if the only namespace is `default`
2017-10-23 17:42:36 -07:00
Michael Lange
afcfba0910
Treat namespace and job name as a composite primary key
2017-10-23 17:42:36 -07:00
Michael Lange
8eeacebe67
Don't scroll to top on transition in tests
...
It's mega annoying
2017-10-23 17:42:36 -07:00
Michael Lange
19572cfb0f
Allow 501s on namespaces because they are necessary for job IDs
2017-10-23 17:42:35 -07:00
Michael Lange
a475d59513
Switch from href-to to link-to for QP persistence
...
See this issue: https://github.com/intercom/ember-href-to/issues/62
2017-10-23 17:42:35 -07:00
Michael Lange
a4b7b58dd5
Move the namespace query param up the route hierarchy
...
This makes it active on all job routes
2017-10-23 17:42:35 -07:00
Michael Lange
899e8fa371
Make sure to include the namespace qp on all job related resources
2017-10-23 17:42:35 -07:00
Michael Lange
8958d1a480
All job requests need to be made with the namespace query param
2017-10-23 17:42:35 -07:00
Michael Lange
3d3617019f
Add the new alloc row headers to the deployment allocations table
2017-10-19 17:35:58 -07:00
Michael Lange
5f73c5d392
Handle the undefined TotalTicks case
2017-10-19 17:35:58 -07:00
Michael Lange
44acb58f8c
Handle the not a number case
2017-10-19 17:35:58 -07:00
Michael Lange
05c714967a
Merge pull request #3423 from hashicorp/b-ui-never-return-null-from-headers
...
Never return null for adapter headers
2017-10-19 12:23:10 -07:00
Michael Lange
9e37ba846a
Merge pull request #3424 from hashicorp/b-ui-job-version-for-node-allocs
...
Expect JobVersion in one of two places
2017-10-19 12:21:10 -07:00
Michael Lange
cf95033351
Expect JobVersion in one of two places
2017-10-19 10:52:05 -07:00
Michael Lange
b693ff1886
Don't rely on CpuStats.Percent
...
Just do the math client-side with TotalTicks and Reserved
2017-10-19 10:44:52 -07:00
Michael Lange
40748c8923
Never return null for adapter headers
...
Ember Data checks strictly against undefined:
https://github.com/emberjs/data/blob/master/addon/adapters/rest.js#L1128
2017-10-19 10:10:01 -07:00
Michael Lange
6f584acb09
Merge pull request #3416 from hashicorp/b-ui-provide-acl-token-on-client-requests
...
Provide ACL token on client requests
2017-10-18 20:08:28 -07:00
Michael Lange
79c836d734
Merge pull request #3412 from hashicorp/b-ui-disable-fuzzy-search
...
Disable fuzzy search
2017-10-18 20:08:15 -07:00
Michael Lange
189403c5b9
Add the acl token as a header to client requests
2017-10-18 19:48:17 -07:00
Michael Lange
19b2ac4858
Remove fuse as a dependency
2017-10-18 19:45:12 -07:00
Michael Lange
d448f888b8
Merge pull request #3410 from hashicorp/f-ui-add-job-version-to-allocs-table
...
Add job version to allocation tables
2017-10-18 19:38:42 -07:00
Michael Lange
dc20fc88b9
Unload all records when a token is set or cleared
...
This guarantees no privileged data is shown to unprivileged credentials
2017-10-18 16:42:08 -07:00
Michael Lange
635263b8aa
Disable fuzzy search
...
It doesn't work well for highly precise values, or small datasets, or prefixes.
Which are our three use cases.
2017-10-18 12:52:24 -07:00
Michael Lange
8c6c54ff07
Add job version to allocation tables
2017-10-18 12:29:33 -07:00
Michael Lange
f07c222274
Always provide a valid value for transform
2017-10-18 11:45:02 -07:00
Michael Lange
3d93398eae
Don't double render, also don't render infinitely
...
See https://github.com/emberjs/ember.js/issues/13948
2017-10-18 11:45:02 -07:00
Michael Lange
094de84c98
Use the right footer pagination styles on task group page
2017-10-18 11:45:02 -07:00
Michael Lange
7c3402d400
Fix an issue where allocation rows can have a state change in the same frame as a render
2017-10-18 11:45:02 -07:00
Michael Lange
77cf33472f
Make ModifyIndex the default sort property for alloc tables
2017-10-18 11:45:02 -07:00
Michael Lange
f842d009a4
Add ModifyIndex as a sortable column for alloc tables
2017-10-18 11:45:02 -07:00
Michael Lange
a10466a68d
Sort allocation by status type, not simply alphanumeric
2017-10-18 11:45:01 -07:00
Michael Lange
352cf6dc77
Tests (and bug fixes!) for the format-bytes helper
2017-10-17 10:17:42 -07:00
Michael Lange
b8d13e3229
Show real usage numbers as tooltips
2017-10-17 10:17:42 -07:00
Michael Lange
726f3a75e9
Fix the memory usage math
...
1. Use RSS, not Cache (shoulda read the source)
2. Convert bytes to megabytes before doing division
2017-10-17 10:17:42 -07:00
Michael Lange
7780dfff17
New helper for human-formatting bytes
2017-10-17 10:17:42 -07:00
Michael Lange
967d3a2e8e
In dev mode, mask the local node port to 4200
...
This allows for local development with the client end points for the node
running on localhost.
2017-10-17 10:17:41 -07:00
Michael Lange
175acde8b6
Order keys consistently for enhanced readability
2017-10-16 13:27:52 -07:00
Michael Lange
85f66ffa94
Use /acl/token/self instead of /acl/token/:accessor_id
2017-10-16 13:27:52 -07:00
Michael Lange
f7feebb1ad
Redo acceptance testing for ACL tokens
2017-10-16 13:27:52 -07:00
Michael Lange
d177cf90c3
Redo the tokens page to be a form that validates a token and lists policies
2017-10-16 13:27:51 -07:00
Michael Lange
040e3fec10
Data modeling for tokens and policies
2017-10-16 13:27:51 -07:00
Michael Lange
4a35f3c5a5
Handle 403s gracefully
...
- When a list 403s, treat it as if it were empty
- When a single resource 403s, redirect to an application error page
that has a backdoor link to the tokens page
2017-10-12 17:40:49 -07:00
Michael Lange
f6f024235e
Handle the case where hash.Members is undefined
2017-10-12 17:40:04 -07:00
Michael Lange
1f6ce06744
Specialized error for 403s that links to the ACLs page
2017-10-12 17:24:32 -07:00
Michael Lange
f081bf57ec
Merge pull request #3358 from hashicorp/f-ui-namespaces
...
UI for Namespaces (enterprise only)
2017-10-12 17:22:15 -07:00
Michael Lange
be0920d3ca
Allow users to escape error pages with the back button
2017-10-12 12:35:00 -07:00
Michael Lange
bdbc4dfec7
Add a generic catch-all error message
2017-10-12 12:34:10 -07:00
Michael Lange
b270b76228
Removes extraneous search query param from the servers list page
2017-10-11 15:48:46 -07:00
Michael Lange
418fcedc13
Remove extraneous search query param from the job index page
2017-10-11 15:30:49 -07:00
Michael Lange
5c1d103253
Sync the active namespace as a query param on the jobs list page
2017-10-11 14:06:46 -07:00
Michael Lange
aabd56a92d
Custom alpha sort with default always on top
2017-10-11 14:06:46 -07:00
Michael Lange
61b988fbb8
Gracefully handle the 501 case
...
Enterprise endpoints return a 501 in the open source build. 5xx
errors throw by default, so handle this one since it's expected
for things such as namespaces.
2017-10-11 14:06:46 -07:00
Michael Lange
2340504da8
Replace simple dropdown namespace switcher with ember-power-select
2017-10-11 13:45:03 -07:00
Michael Lange
ef55cb910f
Make namespace a relationship of job
2017-10-11 13:45:03 -07:00
Michael Lange
7e0d526c10
Refresh the jobs model on namespace change
2017-10-11 13:45:03 -07:00
Michael Lange
b43b0ba6a4
Add a namespace switcher to the gutter menu
2017-10-11 13:45:03 -07:00
Michael Lange
11f699f8da
Support non-link menu items
2017-10-11 13:45:03 -07:00
Michael Lange
b3312ac429
Consider the namespace query param as required for findAll
2017-10-11 13:45:03 -07:00
Michael Lange
3a0d292337
Add namespaces and active namespace to the system service
2017-10-11 13:45:03 -07:00
Michael Lange
4481e04d43
New namespaces model
2017-10-11 13:45:03 -07:00
Michael Lange
3bb0a9779c
Make sure to qualify requests made outside of adapters
2017-10-11 13:45:03 -07:00
Michael Lange
9d5e1d06d2
Throw errors that cause a redirect to make debugging easier
2017-10-11 13:45:03 -07:00
Michael Lange
4e606e435d
Fixes issue regarding allocation rows
...
Sometimes the job name and/or task group name wouldn't show up.
2017-10-05 18:01:19 -07:00
Michael Lange
0941c7bec1
Merge pull request #3323 from hashicorp/f-ui-loading-states
...
UI Loading states
2017-10-05 18:00:51 -07:00
Michael Lange
16c92fc1bb
Merge pull request #3321 from hashicorp/f-ui-error-states
...
Better error state for allocation stats failure
2017-10-05 17:51:15 -07:00
Michael Lange
e19740ce33
Simple catch-all route for 404s on pages
2017-10-05 14:39:38 -07:00
Michael Lange
ca0b297d47
Handle allocation 404s
2017-10-05 14:39:37 -07:00
Michael Lange
9d9d66b1a7
Handle 404s for agents
2017-10-05 14:39:37 -07:00
Michael Lange
50a5bf4332
Handle 404s on nodes
2017-10-05 14:39:37 -07:00
Michael Lange
35f198d787
Handle 404s on jobs
2017-10-05 14:39:37 -07:00
Michael Lange
af9f76aae5
Style error pages
2017-10-05 14:39:37 -07:00
Michael Lange
fc5fb7bde9
Handle errors in the application route
...
This is the only way to preserve the URL in all cases.
2017-10-05 14:39:06 -07:00
Michael Lange
877cbe6fbc
Add a loading state to job information on allocation row.
...
This information is already loaded when traversing to an alloc row from
a job, but not when traversing to an alloc row from a node.
2017-10-03 17:18:33 -07:00
Michael Lange
0cc2c4267e
Always reload all jobs
...
Ember tries to be clever by showing cached jobs instead of a loading spinner
in the event that a user starts on nodes, loads a couple jobs through
allocation relationships, then visits jobs.
2017-10-03 17:17:45 -07:00
Michael Lange
74fce03d4d
Simple loading state for job details in a job row
2017-10-03 16:24:30 -07:00
Michael Lange
e16fe35539
Loading templates in places
2017-10-03 16:20:45 -07:00
Michael Lange
a08d2b5512
Better error state for allocation stats
2017-10-03 15:55:10 -07:00
Michael Lange
ba34cff0bd
New tooltip scss component
2017-10-03 15:55:10 -07:00
Michael Lange
89b7c3ae70
New loading spinner
...
Courtesy of SpinKit: https://github.com/tobiasahlin/SpinKit
2017-10-03 15:53:46 -07:00
Michael Lange
2b8d39ff5e
Add new icon helper and the first icon: warning
2017-10-03 10:54:22 -07:00
Michael Lange
60f4cb8a0a
Empty state for allocations search on task group detail
2017-10-02 12:44:07 -07:00
Michael Lange
c05a09ce33
Empty states for servers
2017-09-29 19:20:28 -07:00
Michael Lange
973e9afb09
Empty states for clients
2017-09-29 18:33:57 -07:00
Michael Lange
315b2ea9d6
Add empty states to the job list page
2017-09-29 17:41:29 -07:00
Michael Lange
ab530d760a
Expose the token service in all templates for convenience
2017-09-29 17:41:29 -07:00
Michael Lange
365706c9f5
Merge pull request #3287 from hashicorp/b-ui-firefox-styles
...
Fix style discrepancies in Firefox
2017-09-29 11:38:50 -07:00
Michael Lange
c9220969f9
Merge pull request #3280 from hashicorp/b-ui-links-in-tables
...
Links in table rows should get click priority over table rows
2017-09-29 09:37:18 -07:00
Michael Lange
867f336012
Align the spacer between right-hand nav items
...
Firefox doesn't assume vertical centering in this case like chrome and
safari do.
2017-09-26 17:25:55 -07:00
Michael Lange
2d1b489cf2
Use an absolute positioning for narrow chart
...
translateY(-50%) doesn't work on svg elements in firefox, apparently?
2017-09-26 17:18:52 -07:00
Michael Lange
4d9c430a87
Rerender the distribution chart when the window resizes
2017-09-26 17:18:22 -07:00
Michael Lange
0c5ec93e7d
Scroll to the top of the page on transition. Like a normal website.
2017-09-26 16:43:34 -07:00
Michael Lange
491f4ff27d
Fix the links in table rows bug
...
Click events were greedily redirecting to the resource pages instead
of first yielding to the anchor tag clicked if an anchor tag was in
fact clicked.
2017-09-26 11:59:42 -07:00
Michael Lange
819fceeac5
Migrate tests over to native helpers as much as possible
2017-09-26 11:59:41 -07:00
Alex Dadgar
e5ec915ac3
sync
2017-09-19 10:08:23 -05:00