From a46fce5c3bfdf6b5a7fcc817309970156bcdc5b8 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Wed, 27 Jul 2022 16:07:17 -0300 Subject: [PATCH] 19297: Adds tests exposing the bug. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- .../functional/arvados/v1/filters_test.rb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/services/api/test/functional/arvados/v1/filters_test.rb b/services/api/test/functional/arvados/v1/filters_test.rb index dd8eeaa7be..7eac477716 100644 --- a/services/api/test/functional/arvados/v1/filters_test.rb +++ b/services/api/test/functional/arvados/v1/filters_test.rb @@ -236,6 +236,48 @@ class Arvados::V1::FiltersTest < ActionController::TestCase json_response['errors'].join(' ')) end + test "groups contents with properties filter succeeds on objects with properties field" do + @controller = Arvados::V1::GroupsController.new + authorize_with :admin + get :contents, params: { + filters: [ + ['properties', 'exists', 'foo'], + ['uuid', 'is_a', ["arvados#group","arvados#collection","arvados#containerRequest"]], + ] + } + assert_response 200 + assert json_response['items'].length == 0 + end + + # Tests bug #19297 + test "groups contents with properties filter succeeds on some objects with properties field" do + @controller = Arvados::V1::GroupsController.new + authorize_with :admin + get :contents, params: { + filters: [ + ['properties', 'exists', 'foo'], + ['uuid', 'is_a', ["arvados#group","arvados#workflow"]], + ] + } + assert_response 200 + assert json_response['items'].length == 0 + end + + # Tests bug #19297 + test "groups contents with properties filter fails on objects without properties field" do + @controller = Arvados::V1::GroupsController.new + authorize_with :admin + get :contents, params: { + filters: [ + ['properties', 'exists', 'foo'], + ['uuid', 'is_a', ["arvados#workflow"]], + ], + limit: 1 + } + assert_response 422 + assert_match(/Invalid attribute 'properties' for operator 'exists'.*on object type Workflow/, json_response['errors'].join(' ')) + end + test "replication_desired = 2" do @controller = Arvados::V1::CollectionsController.new authorize_with :admin -- 2.30.2