def test_latest_version_highest(self):
        project = Project.objects.get(slug='read-the-docs')

        data = get_version_compare_data(project)
        self.assertEqual(data['is_highest'], True)

        version = project.versions.get(slug=LATEST)
        data = get_version_compare_data(project, version)
        self.assertEqual(data['is_highest'], True)
    def test_highest_version_over_branches(self):
        Version.objects.create(
            project=self.pip,
            verbose_name='2.0.0',
            identifier='2.0.0',
            type=BRANCH,
            active=True,
        )

        version = Version.objects.create(
            project=self.pip,
            verbose_name='1.0.0',
            identifier='1.0.0',
            type=TAG,
            active=True,
        )

        base_version = self.pip.versions.get(slug='0.8.1')
        valid_data = {
            'project': 'Version 1.0.0 of Pip ({})'.format(version.pk),
            'url': '/dashboard/pip/version/1.0.0/',
            'slug': '1.0.0',
            'version': '1.0.0',
            'is_highest': False,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)
    def test_highest_version_over_branches(self):
        Version.objects.create(
            project=self.pip,
            verbose_name='2.0.0',
            identifier='2.0.0',
            type=BRANCH,
            active=True,
        )

        version = Version.objects.create(
            project=self.pip,
            verbose_name='1.0.0',
            identifier='1.0.0',
            type=TAG,
            active=True,
        )

        base_version = self.pip.versions.get(slug='0.8.1')
        valid_data = {
            'project': 'Version 1.0.0 of Pip ({})'.format(version.pk),
            'url': '/dashboard/pip/version/1.0.0/',
            'slug': '1.0.0',
            'version': '1.0.0',
            'is_highest': False,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)
示例#4
0
 def version_compare(self, request, project_slug, base=None, **kwargs):
     project = get_object_or_404(Project, slug=project_slug)
     if base and base != LATEST:
         try:
             base_version = project.versions.get(slug=base)
         except (Version.DoesNotExist, TypeError):
             base_version = None
     else:
         base_version = None
     ret_val = get_version_compare_data(project, base_version)
     return self.create_response(request, ret_val)
 def test_highest_version_from_lower(self):
     base_version = self.pip.versions.get(slug='0.8')
     valid_data = {
         'project': 'Version 0.8.1 of Pip (19)',
         'url': '/dashboard/pip/version/0.8.1/',
         'slug': '0.8.1',
         'version': '0.8.1',
         'is_highest': False,
     }
     returned_data = get_version_compare_data(self.pip, base_version)
     self.assertDictEqual(valid_data, returned_data)
 def test_highest_version_from_lower(self):
     base_version = self.pip.versions.get(slug='0.8')
     valid_data = {
         'project': 'Version 0.8.1 of Pip (19)',
         'url': '/dashboard/pip/version/0.8.1/',
         'slug': '0.8.1',
         'version': '0.8.1',
         'is_highest': False,
     }
     returned_data = get_version_compare_data(self.pip, base_version)
     self.assertDictEqual(valid_data, returned_data)
    def test_highest_version_without_tags(self):
        self.pip.versions.filter(type=TAG).update(type=BRANCH)

        base_version = self.pip.versions.get(slug='0.8.1')
        valid_data = {
            'project': 'Version 0.8.1 of Pip (19)',
            'url': '/dashboard/pip/version/0.8.1/',
            'slug': '0.8.1',
            'version': '0.8.1',
            'is_highest': True,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)

        base_version = self.pip.versions.get(slug='0.8')
        valid_data = {
            'project': 'Version 0.8.1 of Pip (19)',
            'url': '/dashboard/pip/version/0.8.1/',
            'slug': '0.8.1',
            'version': '0.8.1',
            'is_highest': False,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)

        version = Version.objects.create(
            project=self.pip,
            verbose_name='2.0.0',
            identifier='2.0.0',
            type=BRANCH,
            active=True,
        )
        valid_data = {
            'project': 'Version 2.0.0 of Pip ({})'.format(version.pk),
            'url': '/dashboard/pip/version/2.0.0/',
            'slug': '2.0.0',
            'version': '2.0.0',
            'is_highest': False,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)
    def test_highest_version_without_tags(self):
        self.pip.versions.filter(type=TAG).update(type=BRANCH)

        base_version = self.pip.versions.get(slug='0.8.1')
        valid_data = {
            'project': 'Version 0.8.1 of Pip (19)',
            'url': '/dashboard/pip/version/0.8.1/',
            'slug': '0.8.1',
            'version': '0.8.1',
            'is_highest': True,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)

        base_version = self.pip.versions.get(slug='0.8')
        valid_data = {
            'project': 'Version 0.8.1 of Pip (19)',
            'url': '/dashboard/pip/version/0.8.1/',
            'slug': '0.8.1',
            'version': '0.8.1',
            'is_highest': False,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)

        version = Version.objects.create(
            project=self.pip,
            verbose_name='2.0.0',
            identifier='2.0.0',
            type=BRANCH,
            active=True,
        )
        valid_data = {
            'project': 'Version 2.0.0 of Pip ({})'.format(version.pk),
            'url': '/dashboard/pip/version/2.0.0/',
            'slug': '2.0.0',
            'version': '2.0.0',
            'is_highest': False,
        }
        returned_data = get_version_compare_data(self.pip, base_version)
        self.assertDictEqual(valid_data, returned_data)
 def test_highest_version_from_latest(self):
     Version.objects.create_latest(project=self.pip)
     base_version = self.pip.versions.get(slug=LATEST)
     valid_data = {
         'project': 'Version 0.8.1 of Pip (19)',
         'url': '/dashboard/pip/version/0.8.1/',
         'slug': '0.8.1',
         'version': '0.8.1',
         'is_highest': True,
     }
     returned_data = get_version_compare_data(self.pip, base_version)
     self.assertDictEqual(valid_data, returned_data)
 def test_highest_version_from_latest(self):
     Version.objects.create_latest(project=self.pip)
     base_version = self.pip.versions.get(slug=LATEST)
     valid_data = {
         'project': 'Version 0.8.1 of Pip (19)',
         'url': '/dashboard/pip/version/0.8.1/',
         'slug': '0.8.1',
         'version': '0.8.1',
         'is_highest': True,
     }
     returned_data = get_version_compare_data(self.pip, base_version)
     self.assertDictEqual(valid_data, returned_data)
    def test_not_highest(self):
        project = Project.objects.get(slug='read-the-docs')
        version = project.versions.get(slug='0.2.1')

        data = get_version_compare_data(project, version)
        self.assertEqual(data['is_highest'], False)