Peter Amstutz [Fri, 22 Aug 2014 12:48:01 +0000 (08:48 -0400)]
3036: Always select "id" column unless distinct = true. Include uuid =
portable_data_hash when requesting collection by uuid. Changed test fixture
"owned_by_aproject_with_no_name" to be a "human" instead of a "specimen"
because the human table has a "name" column required by projects_test.
Peter Amstutz [Thu, 21 Aug 2014 15:03:58 +0000 (11:03 -0400)]
3504: Fixed preload_links_for_objects to use @objects.to_a. Fix collections
page to restore link names. Remove obsolete tests for "persist" button. Tweak
pipeline instance tests.
Peter Amstutz [Wed, 20 Aug 2014 21:10:37 +0000 (17:10 -0400)]
3504: Use preload_links_for_objects in projects_controller. Use
self[:portable_data_hash] in collection.rb to avoid recursive definition of
.uuid and .portable_data_hash. Revert change to show_attributes. Removed
column from collections show_recent. Reverted python tests to correspond to
behavior of pre-3036 API server so test pass.
Brett Smith [Wed, 20 Aug 2014 13:46:49 +0000 (09:46 -0400)]
2800: Introduce TestCaseWithServers to Python SDK.
This is a subclass of unittest.TestCase. It looks for specific class
variables to launch supporting Arvados servers for subclass test
cases, taking care to adjust the environment and local Arvados
configuration to match. Put another away, this refactors a number of
similar setUpClass/tearDownClass methods throughout the SDK tests.
Brett Smith [Tue, 19 Aug 2014 14:17:57 +0000 (10:17 -0400)]
2800: Remove global state from KeepClient.
This commit makes it possible to build and use a KeepClient that isn't
influenced by changes in outside state. Changing the KeepClient based
on global state has been pushed up to the simple Keep class.
This commit changes the tests as little as possible to demonstrate
backward compatibility. Refactoring the tests to build KeepClients
directly will come in the future.
Tom Clegg [Wed, 20 Aug 2014 00:57:46 +0000 (20:57 -0400)]
3610: Move live log display into its own tab, avoid clobbering with tab reload.
* PipelineInstances#show gets a Log tab dedicated to the live log
window, rather than hiding it below the components table.
* Jobs#show uses its Log tab to show a live log window (instead of a
teaser) when the log is not yet finished/written to disk.
* In both cases, the live log window's tab pane intercepts and ignores
the arv:tab:reload event. (Previously, in addition to appending log
entries to the live window, websocket events would trigger a
"refresh all tabs" event, which would blow away the whole log viewer
anyway.)
* Behave sensibly when multiple lines of stderr arrive in a single
websocket update event.
* Stop displaying "update {pipeline-uuid}" messages that have no
additional content.
* Stop scrolling to bottom every time an ajax:complete fires
somewhere. (Previously, seeing anything above the last page of logs
was somewhere between annoying and impossible.)
Peter Amstutz [Tue, 19 Aug 2014 15:37:24 +0000 (11:37 -0400)]
3036: Fixed migration to migrate modified_by_client_uuid and
modified_by_user_uuid (because modified_by isn't a column, whoops). Also fills
in in useless updated_at column because it has a NOT NULL constraint.
Peter Amstutz [Tue, 19 Aug 2014 03:13:19 +0000 (23:13 -0400)]
3504: Fix collection page rendering to work with collections as regular uuids.
Render tags onn project page. Improve helper function for rendering links to
Arvados objects.
Peter Amstutz [Sat, 16 Aug 2014 02:37:59 +0000 (22:37 -0400)]
3036: Remove include_linked from project contents method because 'name' links
are obsolete. Remove tests related to include_linked. Fix docker image lookups.
Brett Smith [Thu, 14 Aug 2014 17:59:18 +0000 (13:59 -0400)]
3593: Another round of hardening Workbench's render_exception.
render_exception was counting on session[:user] to help render the
error page. We recently excised that, which is turning exceptions
into 500s. This commit restores the session user object, but uses it
only for error rendering, in keeping with the spirit of the previous
revert. This commit also defends against more possible failure cases
in render_exception, and adds a basic test for it.
Peter Amstutz [Fri, 15 Aug 2014 02:55:11 +0000 (22:55 -0400)]
3036: Adding pre-validation callback to set the portable_data_hash if necessay.
Added validation callback to check that portable_data_hash matches manifest_text.
Peter Amstutz [Thu, 14 Aug 2014 21:07:12 +0000 (17:07 -0400)]
3036: Split out logic to determine if a user is actually allowed to set the
uuid into validate_uuid. Fix docker/collection/job tests to use
portable_data_hash instead of uuid where appropriate.
Peter Amstutz [Thu, 14 Aug 2014 18:48:32 +0000 (14:48 -0400)]
3036: Removed special case normalize_collection_uuids. Removed special case
'name' links granting read permission. Renamed helper function
"collection_uuid" to "stripped_portable_data_hash" and moved to helpers
directory.