radhika [Thu, 18 Jun 2015 02:04:10 +0000 (22:04 -0400)]
6277: since locators are added to multilevel_collection_1 fixture, the collection retrieved after an update will have
a signed manifest; hence, the test needs to compare the old manifest with the new one after stripping signatures.
radhika [Wed, 17 Jun 2015 23:06:00 +0000 (19:06 -0400)]
6277: rename the before_validation filter check_manifest_validity as log_invalid_manifest_format until we are ready to actually validate manifest formats.
radhika [Mon, 15 Jun 2015 19:02:23 +0000 (15:02 -0400)]
6277: Add check_manifest_validity before_filter in collection model; however, at the moment, this method always true after logging the validation error.
Capture the command's stderr and confirm that the error refers to
git. If it does, ignore the stderr and set a build tag. Otherwise,
propagate stderr and abort.
radhika [Fri, 12 Jun 2015 15:02:13 +0000 (11:02 -0400)]
6254: slight performance improvement where the can_login link is not retrieved and checked if the groups passed in are the same as those already saved.
radhika [Fri, 12 Jun 2015 14:51:26 +0000 (10:51 -0400)]
6254: add "groups" to user setup process; these comma separated groups entered in the popup will be saved as an array of groups property for the user's can_login link.
radhika [Fri, 12 Jun 2015 00:13:45 +0000 (20:13 -0400)]
6277: Add more restrictions to manifest format such as cannot start with '/' and end with '/' for file names,
as well as stream names and files names should not contain '//'.
Added the tests provided by Tom during review.
Nico Cesar [Tue, 9 Jun 2015 18:48:29 +0000 (14:48 -0400)]
qr1hi-automated-performance-suite is failing because the test doesnt give enough time for the page to render (now 50s makes the test past.). no issue #
Brett Smith [Wed, 3 Jun 2015 20:59:24 +0000 (16:59 -0400)]
5790: Improve Docker image listing in Python SDK.
* Always fetch all relevant Docker links.
* Support finding images by image hash.
* Show image hashes when listing images by name.
* Like Docker itself, when an image has multiple names and we're not
filtering by name, list each one.
* Better match the API server's priority logic:
* Ignore links to collections that aren't found.
* Links with an image_timestamp always have priority over those that
don't, regardless of their respective created_at timestamps.
The main motivation for this change is to make sure arv-copy gets the
right Docker image when copying a pipeline template recursively.
This implementation goes through some trouble to parse timestamps out
of each Docker link only once.
radhika [Tue, 9 Jun 2015 01:42:30 +0000 (21:42 -0400)]
6203: Use LOCATION_REGEXP from sdk; also add back updated each_manifest_locator method
with the same updates as munge method since this is simpler than the munge method. This
has seems further improved performance.
radhika [Mon, 8 Jun 2015 19:39:37 +0000 (15:39 -0400)]
6203: Use manifest.each_line and line.rstrip! instead of manifest.split("\n").
Performance was comparable in both cases; though each_line itself is twice as fast (we need to do strip, which eats away the gain).
radhika [Mon, 8 Jun 2015 18:32:42 +0000 (14:32 -0400)]
6203: further optimization of munge method; also, match[0].sub(/\+A[^+]*/, '') instead of split+append
resulted in another 2 seconds saving in each of create and update operations!
Tom Clegg [Thu, 4 Jun 2015 04:52:48 +0000 (00:52 -0400)]
6074: Use each instead of find_each, so our order() and limit() constraints are respected.
According to http://apidock.com/rails/ActiveRecord/Batches/find_each,
both order and limit are ignored.
The existing test "max_index_database_read does not interfere with
order" had two fatal bugs that prevented it from catching the
find_each problem:
1. It didn't select the 'name' column, so the 'name' order was
ignored. But the test passed because the name wasn't returned,
item['name'] was nil, and... nil !~ /pattern/ is true. Both
problems are fixed here.
(This explains why it seemed to find 15 names starting with
Collection_9, rather than just the 11 that exist (_9 and _90..99).)
2. It tested only that the returned results followed the requested
order, not that the order was followed when deciding what the limit
should be. All of the items_available were the same size, so _any_
order would have set the limit at 15 and passed the test.
The second problem is fixed by adding a separate test.
radhika [Thu, 4 Jun 2015 03:57:58 +0000 (23:57 -0400)]
6203: add trailing newline character in munge_manifest_locators method only when the original manifest ended with one; one of the unit tests did not like it otherwise.