Bug #20274
Filter fixtures for plugins are created with many resource_types
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
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 over 5 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 over 5 years ago
- Legacy Backlogs Release (now unused) set to 276
#3
Updated by Anonymous over 5 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset be92dc95928c289a76bab84c3b03862a29a480db.
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