Tom Clegg [Fri, 6 Feb 2015 22:30:31 +0000 (17:30 -0500)]
Merge branch '3021-leave-api-running' refs #3021
Peter Amstutz [Fri, 6 Feb 2015 18:34:43 +0000 (13:34 -0500)]
3021: Bugfix for arvados_fuse.TagsDirectory to correctly merge tag list updates
with existing TagsDirectory entries.
Tom Clegg [Fri, 6 Feb 2015 17:46:57 +0000 (12:46 -0500)]
3021: Use bind(0.0.0.0, 0) instead of grep /proc/net/tcp to find a port number.
Brett Smith [Fri, 6 Feb 2015 17:00:41 +0000 (12:00 -0500)]
Relax version limit of python-daemon dependencies.
We imposed this limit in
9c2e673ba96ba5d11e56a4aba67157e64dfe01e2.
The issues seem to be ironed out as of version 2.0.4. See:
* <http://lists.alioth.debian.org/pipermail/python-daemon-devel/2015-January/000114.html>
* <https://bitbucket.org/pypa/setuptools/issue/338/__future__-imports-are-not-effective-in>
No issue #.
Tom Clegg [Fri, 6 Feb 2015 05:04:29 +0000 (00:04 -0500)]
3021: Merge branch 'master' into 3021-leave-api-running
Conflicts:
sdk/python/tests/test_websockets.py
Tom Clegg [Fri, 6 Feb 2015 04:59:35 +0000 (23:59 -0500)]
3021: We use passenger in dev and test environments, too.
Tom Clegg [Fri, 6 Feb 2015 01:37:48 +0000 (20:37 -0500)]
3021: Make sure any unexpected openssl output ends up on stderr.
Tom Clegg [Thu, 5 Feb 2015 23:31:12 +0000 (18:31 -0500)]
3021: Reduce race potential by resetting database after fuse unmounts.
Tom Clegg [Thu, 5 Feb 2015 23:12:22 +0000 (18:12 -0500)]
3021: Remove unused variable.
Tom Clegg [Thu, 5 Feb 2015 22:37:32 +0000 (17:37 -0500)]
3021: Use kwargs to pass options through make_mount(). Dry up FuseTagsUpdateTest.
Brett Smith [Thu, 5 Feb 2015 22:14:03 +0000 (17:14 -0500)]
Merge branch '5141-workbench-numeric-inputs-wip'
Closes #5141, #5143.
Brett Smith [Thu, 5 Feb 2015 21:18:00 +0000 (16:18 -0500)]
5141: Workbench permits float values for number pipeline inputs.
Previously, when a pipeline input had the number dataclass, we
rendered the input form with type=number. However, the Arvados number
dataclass is meant to allow all numeric types. The HTML 5 number
input type only permits integers.
Unfortunately, X-Editable does not have any built-in validation for a
broader range of numeric types. This commit simply removes any
validation.
Tom Clegg [Thu, 5 Feb 2015 22:02:45 +0000 (17:02 -0500)]
3021: Give up earlier if ARVADOS_TEST_API_HOST is set but reset() fails.
Tom Clegg [Thu, 5 Feb 2015 22:02:16 +0000 (17:02 -0500)]
3021: Reset env vars in any reset(), not just in start().
Tom Clegg [Thu, 5 Feb 2015 21:22:34 +0000 (16:22 -0500)]
Avoid optional disk cache usage if it is owned by a different user. refs #2659.
Brett Smith [Thu, 5 Feb 2015 21:43:29 +0000 (16:43 -0500)]
5135: Workbench consistently orders modal buttons.
Primary buttons should be first from the right, following Bootstrap
conventions and Tom's edict. Closes #5135.
Tom Clegg [Thu, 5 Feb 2015 21:29:27 +0000 (16:29 -0500)]
3021: Set env var to empty string instead of removing it. Unsetenv isn't worth introducing a dependency on Go 1.4.
Tom Clegg [Thu, 5 Feb 2015 18:16:53 +0000 (13:16 -0500)]
Merge branch '4472-save-partial-output' closes #4472
Tom Clegg [Thu, 5 Feb 2015 02:28:52 +0000 (21:28 -0500)]
3021: In start(), if a stale server is already running (but we can't reset() it), kill it.
Tom Clegg [Thu, 5 Feb 2015 02:27:17 +0000 (21:27 -0500)]
3021: Check whether a randomly selected port is available before using it.
Tom Clegg [Thu, 5 Feb 2015 02:25:53 +0000 (21:25 -0500)]
3021: Don't worry about env vars, run_test_server.py does that.
Tom Clegg [Wed, 4 Feb 2015 22:35:26 +0000 (17:35 -0500)]
3021: Fix use of inaccessible global in atexit handler.
Tom Clegg [Wed, 4 Feb 2015 22:28:29 +0000 (17:28 -0500)]
3021: Remove ARVADOS_KEEP_PROXY support. (If you need to interfere
with the discovery mechanism from out-of-process, use some combination
of HTTP_PROXY, NO_PROXY, and a generic proxy server.)
Tom Clegg [Wed, 4 Feb 2015 22:15:53 +0000 (17:15 -0500)]
3021: Set up a proxy-only keepclient manually, instead of communicating with global/env vars.
Tom Clegg [Wed, 4 Feb 2015 22:13:25 +0000 (17:13 -0500)]
3021: Tidy up (and document) the choice of exactly which server we expect to run/reset/stop.
Tom Clegg [Wed, 4 Feb 2015 22:11:57 +0000 (17:11 -0500)]
3021: Fix misspelled variable.
Tom Clegg [Wed, 4 Feb 2015 19:00:43 +0000 (14:00 -0500)]
Merge branch '2659-anonymous-share-projects' refs #2659
Tom Clegg [Wed, 4 Feb 2015 17:36:32 +0000 (12:36 -0500)]
2659: Use a partial instead of a switch block for the not-so-generic "create object" button. Don't show one at /jobs or /collections.
Tom Clegg [Wed, 4 Feb 2015 17:01:35 +0000 (12:01 -0500)]
2659: Use assert_operator to help debug unreliable test.
Tom Clegg [Wed, 4 Feb 2015 16:24:05 +0000 (11:24 -0500)]
2659: Split skip_around_filter back into two separate cases.
063c546 was misguided here.
Brett Smith [Wed, 4 Feb 2015 14:59:31 +0000 (09:59 -0500)]
5131: Document run-command's escape sequences.
Refs #5131.
Radhika Chippada [Wed, 4 Feb 2015 14:22:05 +0000 (09:22 -0500)]
2659: Do not turn on anonymous config by default in test mode; instead make the tests set it as needed.
Also convert some of the simple integration tests into controller tests.
Radhika Chippada [Wed, 4 Feb 2015 05:00:16 +0000 (00:00 -0500)]
2659: add publicly accessible pipeline instance and template to the list of objects to be expected in the project.
Radhika Chippada [Wed, 4 Feb 2015 03:23:52 +0000 (22:23 -0500)]
Merge branch '2659-anonymous-share-projects' of git.curoverse.com:arvados into 2659-anonymous-share-projects
Radhika Chippada [Wed, 4 Feb 2015 03:23:16 +0000 (22:23 -0500)]
Merge branch 'master' of git.curoverse.com:arvados into 2659-anonymous-share-projects
Tom Clegg [Wed, 4 Feb 2015 03:13:15 +0000 (22:13 -0500)]
2659: Fix up chicken-and-egg conditions in seed setup.
Tom Clegg [Wed, 4 Feb 2015 03:12:06 +0000 (22:12 -0500)]
2659: Fix infinite recursion while creating system_user.
Radhika Chippada [Wed, 4 Feb 2015 00:32:24 +0000 (19:32 -0500)]
Merge branch '2659-anonymous-share-projects' of git.curoverse.com:arvados into 2659-anonymous-share-projects
Radhika Chippada [Wed, 4 Feb 2015 00:31:01 +0000 (19:31 -0500)]
2659: tests do not "assume" that anonymous configuration is enabled.
Tom Clegg [Wed, 4 Feb 2015 00:24:33 +0000 (19:24 -0500)]
2659: Token fail during download is 404 when anon token is enabled, 302 otherwise.
Tom Clegg [Tue, 3 Feb 2015 23:22:03 +0000 (18:22 -0500)]
2659: Fix anonymous token test.
Radhika Chippada [Tue, 3 Feb 2015 23:20:41 +0000 (18:20 -0500)]
2659: add test cases where anonymous config is turned off for collections, jobs, pipeline instances, templates, and projects controller show method.
Tom Clegg [Tue, 3 Feb 2015 23:19:31 +0000 (18:19 -0500)]
2659: Add separate test for "run pipeline" notification when anonymous token is configured, skip it for now.
Tom Clegg [Tue, 3 Feb 2015 22:22:53 +0000 (17:22 -0500)]
2659: Do not ask to skip_around_filter(only:...) and skip_around_filter(if:...) for the same filter, because that doesn't work.
Tom Clegg [Tue, 3 Feb 2015 21:33:18 +0000 (16:33 -0500)]
2659: Check anon config at runtime instead of boot time in skip_before_filter. This makes it possible for test cases to toggle behavior by changing configuration on the fly.
Brett Smith [Tue, 3 Feb 2015 20:48:32 +0000 (15:48 -0500)]
Merge branch '5131-run-command-consume-backslashes-wip'
Closes #5131, #5132.
Brett Smith [Tue, 3 Feb 2015 20:40:10 +0000 (15:40 -0500)]
5131: run-command consumes escape backslashes.
run-command has long recognized backslashes to inhibit
substitution, but it was leaving those backslashes in the string,
which could lead to incorrect commands. This commit makes sure
they're removed after they're parsed.
Tom Clegg [Tue, 3 Feb 2015 20:24:24 +0000 (15:24 -0500)]
2659: Remove obsolete "don't create jobs in workbench" rule.
Tom Clegg [Tue, 3 Feb 2015 19:57:28 +0000 (14:57 -0500)]
2659: Update test to match changed error message.
Tom Clegg [Tue, 3 Feb 2015 19:56:41 +0000 (14:56 -0500)]
2659: Remove obsolete "don't create collections in workbench" rule.
Tom Clegg [Tue, 3 Feb 2015 19:28:00 +0000 (14:28 -0500)]
2659: Back out unneeded condition. Fix up whitespace.
Tom Clegg [Tue, 3 Feb 2015 19:27:10 +0000 (14:27 -0500)]
2659: Toggle features according to editable? and creatable? instead of current_user.is_active. Fix up whitespace.
Tom Clegg [Tue, 3 Feb 2015 19:14:43 +0000 (14:14 -0500)]
2659: Fix indentation.
Tom Clegg [Tue, 3 Feb 2015 19:13:52 +0000 (14:13 -0500)]
2659: Use Collection.creatable? to toggle selection actions.
Tom Clegg [Tue, 3 Feb 2015 18:56:32 +0000 (13:56 -0500)]
2659: Reload seeds (system_user et al.) after cache is cleared. Be more careful about errors while creating seeds.
Brett Smith [Tue, 3 Feb 2015 18:41:31 +0000 (13:41 -0500)]
5087: API server uses a crunch-job with bugfix.
Refs #5087.
Tom Clegg [Tue, 3 Feb 2015 18:34:34 +0000 (13:34 -0500)]
2659: Set group_class=role on anonymous group, change name to "Anonymous users".
Tom Clegg [Tue, 3 Feb 2015 16:44:51 +0000 (11:44 -0500)]
2659: Fix crash in /users/current when not logged in.
Tom Clegg [Tue, 3 Feb 2015 16:18:56 +0000 (11:18 -0500)]
2659: Fix up 404 page.
Tom Clegg [Tue, 3 Feb 2015 15:40:13 +0000 (10:40 -0500)]
2659: Fix crashes when current_user is nil.
Tom Clegg [Tue, 3 Feb 2015 15:29:42 +0000 (10:29 -0500)]
2659: Send anonymous token as a reader token with all requests.
Radhika Chippada [Tue, 3 Feb 2015 15:20:45 +0000 (10:20 -0500)]
2659: Finally understood the mystery behind the "anonymous tests are failing when run with all other tests".
There is a permission link fixture for anonymous group. I needed to create read permission link for anonymous user.
(Tom thinks) the groups permission cache may be getting out of sync somehow.
Radhika Chippada [Tue, 3 Feb 2015 13:33:29 +0000 (08:33 -0500)]
2659: Expect redirect to login page when show method is executed in jobs controller etc when no anonymous configuration is set.
Something is overriding the configured value from application.default.yml when the test is executed along with all other tests!
Radhika Chippada [Tue, 3 Feb 2015 13:08:09 +0000 (08:08 -0500)]
2659: fix test assertion
Radhika Chippada [Tue, 3 Feb 2015 12:00:30 +0000 (07:00 -0500)]
2659: enable anonymous user config in test environment.
Radhika Chippada [Tue, 3 Feb 2015 05:14:17 +0000 (00:14 -0500)]
2659: add a "you are not logged in" warning in 404 page.
Radhika Chippada [Tue, 3 Feb 2015 03:40:29 +0000 (22:40 -0500)]
Merge branch 'master' into 2659-anonymous-share-projects
Radhika Chippada [Tue, 3 Feb 2015 03:39:34 +0000 (22:39 -0500)]
2659: skip require_thread_api_token filter only when anonymous config enabled.
Radhika Chippada [Mon, 2 Feb 2015 23:23:16 +0000 (18:23 -0500)]
2659: Do not require login for project tab_counts method as well.
Remove anonymous login tests for /users and /groups pages since we are no longer doing session establishment for anonymous user login.
These are like any other un-shared pages and show login page to user.
Radhika Chippada [Mon, 2 Feb 2015 22:15:55 +0000 (17:15 -0500)]
2659: load @prov_svg outside of the 'if current_user' block so that an anonymous user can see the provenance graph when accessing publicly accessible collection.
Radhika Chippada [Mon, 2 Feb 2015 21:39:46 +0000 (16:39 -0500)]
2659: prevent nil exception when a content hash link is clicked by anonymous user
Radhika Chippada [Mon, 2 Feb 2015 20:50:29 +0000 (15:50 -0500)]
2659: anonymous token handling in api client updated
Radhika Chippada [Mon, 2 Feb 2015 20:20:22 +0000 (15:20 -0500)]
2659: no need for permit_anonymous_browsing_for_public_data filter; instead, directly use the anonymous token in arvados_api_client.
Radhika Chippada [Mon, 2 Feb 2015 20:06:31 +0000 (15:06 -0500)]
2659: is_anonymous helper method is not needed anymore.
Radhika Chippada [Mon, 2 Feb 2015 20:00:56 +0000 (15:00 -0500)]
2659: do not include "You are viewing public data" in topnav when anonymous user is accessing a shared project.
Ward Vandewege [Mon, 2 Feb 2015 19:50:02 +0000 (14:50 -0500)]
Documentation cleanup: CLI SDK:
- merge some information from the wiki.
- reorganize things a bit.
No issue #
Tom Clegg [Mon, 2 Feb 2015 19:36:46 +0000 (14:36 -0500)]
3021: Use `passenger stop` to shut down passenger. Restore database fixtures after running DatabaseCleaner-powered tests.
Radhika Chippada [Mon, 2 Feb 2015 19:30:21 +0000 (14:30 -0500)]
2659: instead of setting up a session as anonymous user, just use anonymous token to serve publicly accessible resources.
Radhika Chippada [Mon, 2 Feb 2015 13:46:44 +0000 (08:46 -0500)]
2659: add some more text assertions; several of the same tests are failing quite consistently when run with the entire test suite.
Radhika Chippada [Mon, 2 Feb 2015 12:08:28 +0000 (07:08 -0500)]
2659: remove most of the user-based tests since they are covered in other test files to make the test cases as minimal as possible.
Tom Clegg [Mon, 2 Feb 2015 08:41:27 +0000 (03:41 -0500)]
3021: gitignore **/vendor
Tom Clegg [Mon, 2 Feb 2015 08:10:56 +0000 (03:10 -0500)]
3021: Use run_test_server.py instead of the special workbench way of starting an API server.
Radhika Chippada [Mon, 2 Feb 2015 05:42:19 +0000 (00:42 -0500)]
2659: slightly improved test flows
Tom Clegg [Mon, 2 Feb 2015 01:13:48 +0000 (20:13 -0500)]
3021: Round up various implementations of "run test servers" into an arvadostest module. Update to work with new run_test_server.py.
* Get the API host, port, and admin token from the run_test_server.py
--auth output, instead of guessing localhost:3000 etc.
* Fix race condition in proxy TestPutAskGetForbidden: set up the
client first, then switch back to a real token for the server to
use, instead of hoping the server grabs its token before sleep(0.1)
returns and we sabotage the environment with a bogus one.
Tom Clegg [Mon, 2 Feb 2015 00:48:09 +0000 (19:48 -0500)]
3021: Refactor run_test_server.
* Always start API server with both https:// and wss:// enabled. Use
mocks to test the websocket-not-available case.
* Leave the API server running between tests; just hit reset() when
needed. Wait until exiting the process to stop the server.
* Do not use rake (tmp:cache:clear, db:test:load, db:fixtures:load) to
reset the API server's database before starting up a new
server. Instead, call /database/reset after starting it. (If that
doesn't work, crash instead of proceeding with undefined results.)
* If a parent process has already started an API server and put its
endpoint in ARVADOS_TEST_API_HOST, use that instead of starting a
new one, and leave it running at exit.
* Start servers on random port numbers, so [some] test suites can run
concurrently with others on a single host (assuming they're
configured to use different databases).
Radhika Chippada [Mon, 2 Feb 2015 05:11:33 +0000 (00:11 -0500)]
2659: add completed job fixture in publicly accessible project and test assertions for re-run job button for it.
Radhika Chippada [Mon, 2 Feb 2015 01:22:42 +0000 (20:22 -0500)]
2659: (1) Update link_to_if_arvados_object method to display an object name as link for User type only when the user is active.
Otherwise, an anonymous user will always see 404 when such a link is clicked.
(2) In the unlikely event of an anonymous user traversing to /users or /groups pages, there will be an 'Add a new xxx' link,
which is undesirable (even though they do eventually fail when accessed). Hence, hide them for inactive users.
(3) Add test assertions for both the updates.
Tom Clegg [Mon, 2 Feb 2015 00:21:02 +0000 (19:21 -0500)]
3021: Propagate unhandled exceptions back to the caller instead of returning None. Show a warning message only when falling back to polling.
Tom Clegg [Mon, 2 Feb 2015 00:15:51 +0000 (19:15 -0500)]
3021: Add comment about IPv4/IPv6 trap in websocket client.
Radhika Chippada [Sun, 1 Feb 2015 20:09:23 +0000 (15:09 -0500)]
2659: It appears that a job's log file is stored in a user's Home project, instead of the project in which the job originated from.
Due to this, when an anonymous user accesses the job from the publicly accessible project, the Log tab is failing.
Hence, display job -> Log tab for active users only.
Radhika Chippada [Sun, 1 Feb 2015 17:42:47 +0000 (12:42 -0500)]
2659: show job cancel button only when user is_active.
Radhika Chippada [Sun, 1 Feb 2015 17:15:46 +0000 (12:15 -0500)]
2659: more asserts in dashboard testing
Radhika Chippada [Sun, 1 Feb 2015 16:40:38 +0000 (11:40 -0500)]
2659: trailing white space
Radhika Chippada [Sun, 1 Feb 2015 16:38:45 +0000 (11:38 -0500)]
Merge branch 'master' into 2659-anonymous-share-projects
Radhika Chippada [Sun, 1 Feb 2015 16:30:40 +0000 (11:30 -0500)]
2659: Collection show_files shows selection dropdown (which has only create new collection from selected files option) when user is active.
Also, dashboard displays the 'Run a pipeline' selector for active users. Upated anonymous user test to verify dashboard access.
Brett Smith [Sun, 1 Feb 2015 16:22:42 +0000 (11:22 -0500)]
5037: Fix tearDown error handling in PySDK Websockets test.
I accidentally broke this in
51f9e6cb. That version would crash if
the test failed to assign self.ws. Refactor to be more robust in that
case. No issue #.
Radhika Chippada [Sun, 1 Feb 2015 04:01:31 +0000 (23:01 -0500)]
2659: hide job re-run button when user is inactive and add fixtures and tests for anonymous user to access tabs in publicly accessible project.
Radhika Chippada [Sat, 31 Jan 2015 22:42:41 +0000 (17:42 -0500)]
2659: show tab buttons, selection actions etc only when the current_user is_active to allow clean anonymous user experience.
Radhika Chippada [Sat, 31 Jan 2015 18:06:25 +0000 (13:06 -0500)]
2659: when an anonymous user is accessing public data, offer "Log in" button instead of "Log out" button.
Radhika Chippada [Sat, 31 Jan 2015 17:45:33 +0000 (12:45 -0500)]
2659: add text message "You are viewing public data" to top nav when anonymous user is accessing a public project. also add anonymous access tests.