Project

General

Profile

Bug #20274

Filter fixtures for plugins are created with many resource_types

Added by Daniel Lobato Garcia about 2 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Category:
Tests
Target version:
Difficulty:
Triaged:
Bugzilla link:
Team Backlog:
Fixed in Releases:
Found in Releases:

Description

Filters cannot have many resource_types - each filter needs to have its own resource type, e.g: one filter does not accommodate permissions for "Host" and "DiscoveredHost".
This is enforced by a validator in the model, but our fixtures are able to completely skip it. The result is that plugins have Filters with multiple resource types. This has not been a problem until recently, as we added a test that checks that the db filter cache can be recreated (CacheManagerTest). On plugins, this test fails to pass as fixtures are wrongly created.

Associated revisions

Revision be92dc95 (diff)
Added by Daniel Lobato Garcia about 2 years ago

Fixes #20274 - Filter fixtures have many resource_types

Filters cannot have many resource_types - each filter needs to have its
own resource type, e.g: one filter does not accommodate permissions for
"Host" and "DiscoveredHost".

This is enforced by a validator in the model, but our fixtures are able
to completely skip it. The result is that plugins have Filters with
multiple resource types.

This has not been a problem until recently, as we added a test that
checks that the db filter cache can be recreated (CacheManagerTest).
On plugins, this test fails to pass as fixtures are
wrongly created.

To reproduce, make sure your test DB is either Postgres or MySQL, add a
plugin (like foreman_discovery), and try to run the CacheManagerTest

Revision 536e1298 (diff)
Added by Daniel Lobato Garcia about 2 years ago

Fixes #20274 - Filter fixtures have many resource_types

Filters cannot have many resource_types - each filter needs to have its
own resource type, e.g: one filter does not accommodate permissions for
"Host" and "DiscoveredHost".

This is enforced by a validator in the model, but our fixtures are able
to completely skip it. The result is that plugins have Filters with
multiple resource types.

This has not been a problem until recently, as we added a test that
checks that the db filter cache can be recreated (CacheManagerTest).
On plugins, this test fails to pass as fixtures are
wrongly created.

To reproduce, make sure your test DB is either Postgres or MySQL, add a
plugin (like foreman_discovery), and try to run the CacheManagerTest

(cherry picked from commit be92dc95928c289a76bab84c3b03862a29a480db)

History

#1 Updated by The Foreman Bot about 2 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Daniel Lobato Garcia
  • Pull request https://github.com/theforeman/foreman/pull/4657 added

#2 Updated by Daniel Lobato Garcia about 2 years ago

  • Legacy Backlogs Release (now unused) set to 276

#3 Updated by Anonymous about 2 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF