File: packaging.py

package info (click to toggle)
django-downloadview 2.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 748 kB
  • sloc: python: 2,507; makefile: 187
file content (40 lines) | stat: -rw-r--r-- 1,429 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"""Tests around project's distribution and packaging."""

import importlib.metadata
import os
import unittest

tests_dir = os.path.dirname(os.path.abspath(__file__))
project_dir = os.path.dirname(tests_dir)
build_dir = os.path.join(project_dir, "var", "docs", "html")


class VersionTestCase(unittest.TestCase):
    """Various checks around project's version info."""

    def get_version(self):
        """Return django_downloadview.__version__."""
        from django_downloadview import __version__

        return __version__

    def test_version_present(self):
        """:PEP:`396` - django_downloadview has __version__ attribute."""
        try:
            self.get_version()
        except ImportError:
            self.fail("django_downloadview package has no __version__.")

    def test_version_match(self):
        """django_downloadview.__version__ matches importlib metadata."""
        distribution = importlib.metadata.distribution("django-downloadview")
        installed_version = distribution.version
        self.assertEqual(
            installed_version,
            self.get_version(),
            "Version mismatch: django_downloadview.__version__ "
            'is "%s" whereas importlib.metadata tells "%s". '
            "You may need to run ``make develop`` to update the "
            "installed version in development environment."
            % (self.get_version(), installed_version),
        )