Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix GetOrCreateSerializerMixin not working with pulp_domain #6078

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gerrod3
Copy link
Contributor

@gerrod3 gerrod3 commented Nov 26, 2024

pulp_domain is not processed in model's serializer since the value is auto-set as a context var on request time. This helper method would run into serializer errors if pulp_domain was specified as a natural key (which you need to do when supporting domains).

@@ -108,3 +115,27 @@ def test_ignored_fields_no_side_effects():
initial_data = {"field1": 1, "csrfmiddlewaretoken": 2}
defined_fields = {"field1": 1}
validate_unknown_fields(initial_data, defined_fields)


class TestGetOrCreateSerializerMixin(TestCase):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you try if this creates valid pytest tests?

Suggested change
class TestGetOrCreateSerializerMixin(TestCase):
class TestGetOrCreateSerializerMixin():

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the setUp function may not be called with that name.
Also pytest really suggests to move to fixtures.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there some docs or examples of unit tests with fixtures that hit the database? I was basing my tests off examples in pulp_container.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, rewrote it the fixture way.

mdellweg
mdellweg previously approved these changes Nov 26, 2024
@@ -108,3 +115,27 @@ def test_ignored_fields_no_side_effects():
initial_data = {"field1": 1, "csrfmiddlewaretoken": 2}
defined_fields = {"field1": 1}
validate_unknown_fields(initial_data, defined_fields)


class TestGetOrCreateSerializerMixin(TestCase):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the setUp function may not be called with that name.
Also pytest really suggests to move to fixtures.

@dralley
Copy link
Contributor

dralley commented Nov 26, 2024

If we're backporting this, it would be nice to have an issue filed

@gerrod3
Copy link
Contributor Author

gerrod3 commented Nov 26, 2024

If we're backporting this, it would be nice to have an issue filed

Can this PR be the issue? Don't feel that we will get much benefit out of creating a duplicate issue that has no new information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants