[Workbench] Error when a collection with no name is selected as input to a pipeline component.
#1 Updated by Radhika Chippada over 6 years ago
I selected qr1hi-4zz18-gi71q9r5pwb5voh as input to a pipeline instance (qr1hi-d1hrv-chpg85rdt1vvjcg) and I see error when I click on OK in the chooser dialog. It appears that it is failing while setting the selection_name on a collection with no name.
#<NoMethodError: undefined method `+' for nil:NilClass>
/home/radhika/arvados/apps/workbench/app/controllers/pipeline_instances_controller.rb:89:in `block (2 levels) in update'
/home/radhika/arvados/apps/workbench/app/controllers/pipeline_instances_controller.rb:65:in `block in update'
#8 Updated by Brett Smith over 6 years ago
Everything in the branch looks good. Unfortunately, the new fixture confuses an API server test:
[ 53/297] Arvados::V1::CollectionsControllerTest#test_search_collections_with_'any'_operator = 0.03 s 1) Failure: Arvados::V1::CollectionsControllerTest#test_search_collections_with_'any'_operator [/home/brett/repos/arvados/services/api/test/functional/arvados/v1/collections_controller_test.rb:354]: <2> expected but was <3>.
This test should probably be modified so it's less brittle when new collections are added.
#10 Updated by Brett Smith over 6 years ago
Radhika Chippada wrote:
Brett: thanks for noticing this. I added a new collection fixture to be used exclusively by this test. All API and workbench tests passed.
I like the strategy in c5fd3fb6, but I'm a little concerned the portable data hash of the fixture doesn't accurately reflect the checksum of the manifest. My personal experience has been that having fixtures that reflect real data as closely as possible helps make sure the tests check how things will work in production.
If you're OK changing the portable data hash to match the checksum (5bd9c1ad0bc8c7f34be170a7b7b39089), along with the search term to match, I think this is good to merge. Thanks.