Skip to content

test(distros): Convert test_ifconfig.py from unittest to pytest#6517

Merged
blackboxsw merged 2 commits into
canonical:mainfrom
csemanish12:pytest-ifconfig-migration
Oct 21, 2025
Merged

test(distros): Convert test_ifconfig.py from unittest to pytest#6517
blackboxsw merged 2 commits into
canonical:mainfrom
csemanish12:pytest-ifconfig-migration

Conversation

@csemanish12
Copy link
Copy Markdown
Contributor

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

  • Removed TestCase inheritance
  • Refactored tests to use pytest fixtures instead of unittest setUp methods
  • updated tests to receive fixtures as function arguments
  • Maintained all original test functionality

Related: #6427

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

  - Removed TestCase inheritance
  - Refactored tests to use pytest fixtures instead of unittest setUp methods
  - updated tests to receive fixtures as function arguments
  - Maintained all original test functionality

  Related: canonical#6427
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 @csemanish12. A couple of minor nits and let's land this.

def test_parse_freebsd(self):

@pytest.fixture
def ifs_text_freebsd_cidr():
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 please drop the text -> txt to keep things consistent for all fixture names.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

def test_is_physical(self, ifs_txt_openbsd):
"""assert enc0 is not physical"""
ifs = Ifconfig().parse(self.ifs_txt)
ifs = Ifconfig().parse(ifs_txt_openbsd)
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.

I realize it's not part of this PR. But, while we are here, can we please correct this docstring above?
"""assert is not physical""" Changed to """assert vio0 is physical"""

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Sure. I have updated the PR.

  - removed text "txt" from fixture names
  - fixed doc string for test_is_physical test

  Related canonical#6427
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 updates.

@blackboxsw blackboxsw merged commit 9a78efc into canonical:main Oct 21, 2025
21 checks passed
blackboxsw pushed a commit to blackboxsw/cloud-init that referenced this pull request Dec 12, 2025
…nical#6517)

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

- Removed TestCase inheritance
- Refactored tests to use pytest fixtures instead of unittest setUp methods
- updated tests to receive fixtures as function arguments
- Maintained all original test functionality

Related: canonical#6427
holmanb pushed a commit that referenced this pull request Dec 18, 2025
Refactored tests/unittests/distros/test_ifconfig.py to use pytest instead of
unittest.TestCase as part of the pytest migration effort.

- Removed TestCase inheritance
- Refactored tests to use pytest fixtures instead of unittest setUp methods
- updated tests to receive fixtures as function arguments
- Maintained all original test functionality

Related: #6427
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