Min RK
89e6c2110e
add hub.routespec
...
this is the routespec for sending requests to the hub
It is [host]/prefix/ (not /hub/) so it receives all
requests, not just those destined for the hub
2018-07-03 12:05:21 +02:00
Min RK
31807929cb
update test expectations for proxy state
...
expect app.base_url instead of unconditional ‘/‘
2018-06-27 12:46:13 +02:00
Min RK
cc49df8147
Merge pull request #1852 from summerswallow-whi/service-info
...
Attach an info field to the service
2018-05-28 14:57:10 +02:00
Min RK
319e8a1062
update service models in tests
2018-05-28 14:09:44 +02:00
Min RK
1a080c4261
test retrieving a token with auth in the body
2018-05-04 17:22:47 +02:00
Richard Darst
2344d696ca
API: pass 'server_state' through to admin clients only
...
- This will allow, for example, cull_idle_servers to be more
intelligent when culling servers.
- This is only given to admin API users, because we don't know if all
spawners expect their state to be made available to users.
2018-04-24 16:52:18 +03:00
Min RK
bd816310cb
Merge pull request #1817 from minrk/server-model
...
Always include server sub-models in user api requests
2018-04-24 14:12:58 +02:00
Min RK
4401cdc16a
Always have .servers
model on users
...
rather than only when named_servers is enabled.
Put new-in-0.9 state there, rather than continuing to add server fields to top-level user model.
2018-04-24 11:35:15 +02:00
Carol Willing
de4c9c1463
mark some api tests as slow
2018-04-23 15:31:00 -07:00
Min RK
b1840e8be7
use relationships everywhere
...
in order to use sqlalchemy's expire_on_commit=False optimization,
we need to make sure that objects are kept up to date.
This means we cannot rely on ForeignKey ondelete/onupdate behavior,
we must use sqlalchemy's local relationship cascades
The main key here is that we must use relationships to set foreign-key relations,
e.g. APIToken.user = user instead of APIToken.user_id = user.id.
It also means that we cannot use passive_deletes,
which allows sqlalchemy to defer to the database's more efficient ON DELETE behavior.
This makes deletions more expensive in particular,
but should improve db performance overall.
2018-04-23 12:53:38 +02:00
Min RK
97bdf4811c
update expected default token note
2018-04-20 15:34:52 +02:00
Min RK
976fa9c907
update default note for API-requested tokens
2018-04-20 15:34:52 +02:00
Min RK
f7f0b72776
retrieve tokens by id in REST API, not full token in URL
2018-04-20 15:34:52 +02:00
Min RK
251289fc05
add new token management to REST API
...
- list tokens
- create new tokens
- delete tokens
2018-04-20 15:34:52 +02:00
Min RK
e0c0d03c5f
define client_id in oauth token test
2018-04-13 21:52:17 +02:00
Min RK
b6d9f89518
typo in test_multi_groups
...
add multiple groups, not users
2018-04-13 21:01:48 +02:00
Carol Willing
cbf2b8cb78
Merge pull request #1790 from minrk/409-conflict
...
raise 409 conflict on duplicate actions
2018-04-13 10:29:52 -07:00
Carol Willing
b8b57843a6
Merge pull request #1771 from minrk/progress
...
Progress on spawn-pending page
2018-04-12 16:16:37 -07:00
Min RK
c08148266a
raise 409 conflict on duplicate actions
...
Makes it easier for upstream clients to retry failed actions and ignore failure due to duplicate transactions
2018-04-11 10:52:05 +02:00
Min RK
a6a2d04c46
Merge pull request #1768 from sangramga/master
...
Added Post groups API in group list handlers
2018-04-10 13:11:05 +02:00
Min RK
307ad636dc
test spawner failure mid-progress
2018-04-09 14:46:08 +02:00
Min RK
6d6e48f434
test native async generator on Python 3.6
2018-04-09 13:03:29 +02:00
Min RK
d30e62a205
test spawn progress
2018-04-09 11:39:07 +02:00
sangramga
4663edd8a7
removed comments
2018-04-07 13:09:12 +05:30
Min RK
97cdb1a5d8
handle progress_url in user model tests
2018-04-05 11:46:47 +02:00
Min RK
1abd3217aa
always run test_auth_api with 'admin' user
...
avoids inconsistent subsequent state based on db behavior
2018-04-03 15:24:10 +02:00
Min RK
d0360d5c98
update tests with new user models
...
add normalize_user and fill_user utilities
2018-04-03 15:24:08 +02:00
sangramga
52d7dacbaa
post groups api added
...
Added post groups list api
Added test for Multi groups post API
Added Post multiple groups API
2018-03-31 16:20:51 +05:30
Tim Head
5b9f51417f
Fix permission check when handing out auth state
2018-03-27 10:02:59 +02:00
Tim Head
7a91f89474
Use user's token for auth when using API
2018-03-27 10:02:59 +02:00
Tim Head
bf7afa16e5
Remove auth state from user's self handler
2018-03-27 10:02:59 +02:00
Tim Head
0d57baae82
Modify user API wrt auth_state
...
A user can not get their own auth state via the REST API. Only admins
can fetch and update the auth state this way.
2018-03-27 10:02:59 +02:00
Tim Head
2582f0bbe6
Modify auth_state API test to use mocked crypto
2018-03-27 10:02:59 +02:00
Tim Head
1ee993c664
Add ability to modify auth_state via the REST API
2018-03-27 10:02:59 +02:00
Tim Head
542c20065f
Reduce the number of endpoints that expose auth_state
2018-03-27 10:02:59 +02:00
Tim Head
39f663d03c
Expose auth_state via user API
2018-03-27 10:02:59 +02:00
Min RK
704b172887
update tests to reflect that login no longer implies spawn
2018-03-21 10:51:49 +01:00
Min RK
3614a0e368
move get_self test after get_users
...
to avoid changing expected state
2018-03-13 10:03:01 +01:00
Min RK
0421497b1e
remove web.authenticated from /api/user handler
...
which prevents it from being used with oauth tokens
2018-03-13 10:03:01 +01:00
Min RK
c7c41cd761
remove bad yield in test_api
2018-03-12 18:32:00 +01:00
Min RK
015df7e060
unify mocking of tornado_settings
...
ensures that everywhere we access settings, it's the same dict
and not a copy
2018-03-12 14:23:00 +01:00
Min RK
e2591e8e36
fix user construction in add_user test function
...
ensures same construction is used as the real app
2018-03-12 14:23:00 +01:00
Min RK
89ba97f413
exercise more token API cases
...
separate parametrize cases for clarity
2017-08-30 14:38:00 +02:00
Min RK
8e3553462c
exercise start/stop race conditions
...
this doesn’t cover all the edge cases of each possible stage for the races, but it gets the basics covered.
2017-08-26 11:57:05 -04:00
Min RK
329781023f
use futures to avoid races on slow spawners
...
trigger events by hand so that performance can't cause races
2017-08-03 11:45:29 +02:00
Min RK
684afed3f1
restore user.running property
...
it was made a method for handing named_servers,
but that made things way more complicated and replaced a boolean flag with a callable,
which would behave unexpectedly but without error if a boolean flag was expected.
Spawners have properties for dealing with this now, so use spawners
Restore `user.running` as an alias for `user.spawner.ready`
2017-08-03 11:09:27 +02:00
Min RK
a19a94b2c2
test active_server_limit
2017-08-03 10:52:32 +02:00
Min RK
f49606dff6
add user.count_active_users
...
produces summary of active/pending/ready spawner counts
Avoids brittle bookkeeping of running counts,
computing the value upon request.
For 10k users this is still only a few milliseconds, which seems worth it
2017-08-01 17:00:45 +02:00
Min RK
88268bd76f
test spawn_pending_count
...
make sure to cover various cases of spawn failure
so that failed spawns don't leak pending-spawn counts
2017-07-31 12:39:06 +02:00
Min RK
638f980281
fix race waiting for slow spawners
...
wait for `.running` instead of `._spawn_pending`,
since we now have `._proxy_pending` as well to wait for.
2017-07-27 11:46:33 +02:00