Skip to content

Refactor test suite to reduce duplication #532

Description

@bbhtt

Trying to get the coverage I added some duplication but some were present already before and can be refactored and unified.

  • setUp boilerplate
  • _find_by_filename duplicated
  • aiohttp.ClientSession mocking
  • new_version assertions. we could have an unified method of all the validation:
    def assertValidNewVersion(self, data, expected_url_regex=None):
        self.assertIsNotNone(data.new_version, f"Expected new_version for {data.filename}")
        self.assertIsNotNone(data.new_version.url)
        self.assertIsNotNone(data.new_version.version)
        

        if hasattr(data.new_version, 'size'):
            self.assertIsInstance(data.new_version.size, int)
            self.assertGreater(data.new_version.size, 0)
            

        if hasattr(data.new_version, 'checksum'):
            self.assertIsInstance(data.new_version.checksum, MultiDigest)
            self.assertNotEqual(
                data.new_version.checksum.sha256, 
                "0000000000000000000000000000000000000000000000000000000000000000"
            )
            
        if expected_url_regex:
            self.assertRegex(data.new_version.url, expected_url_regex)
  • _make_external_data duplication

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions