Skip to content

test(distros): Convert test_user_data_normalize.py from unittest to pytest#6518

Merged
blackboxsw merged 3 commits into
canonical:mainfrom
csemanish12:pytest-userdata-migration
Oct 22, 2025
Merged

test(distros): Convert test_user_data_normalize.py from unittest to pytest#6518
blackboxsw merged 3 commits into
canonical:mainfrom
csemanish12:pytest-userdata-migration

Conversation

@csemanish12
Copy link
Copy Markdown
Contributor

Refactored tests/unittests/distros/test_user_data_normalize.py to use pytest instead of unittest.TestCase as part of the pytest migration effort.

  • Removed unittest.TestCase inheritance and setUp method
  • Added pytest.mark.parametrize for repetitive user simple dict tests
  • Replaced self.assert* calls with simple assert statements
  • Maintained all original test functionality

Related: #6427

Refactored tests/unittests/distros/test_user_data_normalize.py to use pytest instead of unittest.TestCase as part of the pytest migration effort.

  - Removed unittest.TestCase inheritance and `setUp` method
  - Added pytest.mark.parametrize for repetitive user simple dict tests
  - Replaced self.assert* calls with simple assert statements
  - Maintained all original test functionality

 Related: canonical#6427
  - Replaced `assert True == value` with `assert value`
  - fixed incorrect assert "zetta", users with assert "zetta" in users
Copy link
Copy Markdown
Collaborator

@blackboxsw blackboxsw left a comment

Choose a reason for hiding this comment

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

Thank you for the addtiional contribution. @csemanish12, a couple of minor nits and let's merge this.

Comment on lines +196 to +197
assert users["bob"]["blah"]
assert users["bob"]["default"]
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Let's be strict about boolean assertions to avoid passing on unexpected truthy values.

Suggested change
assert users["bob"]["blah"]
assert users["bob"]["default"]
assert users["bob"]["blah"] is True
assert users["bob"]["default"] is True

== users["bob"]["groups"]
)
self.assertEqual(True, users["bob"]["default"])
assert users["bob"]["default"]
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
assert users["bob"]["default"]
assert users["bob"]["default"] is True

Copy link
Copy Markdown
Collaborator

@blackboxsw blackboxsw left a comment

Choose a reason for hiding this comment

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

Looks good to me. Good work. Thanks again.

@blackboxsw blackboxsw merged commit 586ff7e into canonical:main Oct 22, 2025
21 checks passed
blackboxsw pushed a commit to blackboxsw/cloud-init that referenced this pull request Dec 12, 2025
…ytest (canonical#6518)

Refactored tests/unittests/distros/test_user_data_normalize.py
to use pytest instead of unittest.TestCase as part of the pytest
migration effort.

- Removed unittest.TestCase inheritance and `setUp` method
- Added pytest.mark.parametrize for repetitive user simple dict tests
- Replaced self.assert* calls with simple assert statements
- Maintained all original test functionality

Related: canonical#6427

* Fix assertions for pytest style
  - Replaced `assert True == value` with `assert value`
  - fixed incorrect assert "zetta", users with assert "zetta" in users

* test: Be strict about boolean assertions to avoid passing unexpected truthy values
holmanb pushed a commit that referenced this pull request Dec 18, 2025
…ytest (#6518)

Refactored tests/unittests/distros/test_user_data_normalize.py
to use pytest instead of unittest.TestCase as part of the pytest
migration effort.

- Removed unittest.TestCase inheritance and `setUp` method
- Added pytest.mark.parametrize for repetitive user simple dict tests
- Replaced self.assert* calls with simple assert statements
- Maintained all original test functionality

Related: #6427

* Fix assertions for pytest style
  - Replaced `assert True == value` with `assert value`
  - fixed incorrect assert "zetta", users with assert "zetta" in users

* test: Be strict about boolean assertions to avoid passing unexpected truthy values
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants