Ejemplo n.º 1
0
    def test_smart_merge_with_other_release(self):
        # Given
        from papaye.factories.root import repository_root_factory
        from papaye.models import Package, Release, ReleaseFile
        from papaye.proxy import smart_merge
        release1 = factories.ReleaseFactory(
            version='1.5',
            filename='pyramid-1.5.tar.gz',
            md5_digest='12345',
            package__name='pyramid',
        )
        release2 = factories.ReleaseFactory(
            version='1.6',
            filename='pyramid-1.6.tar.gz',
            md5_digest='12345',
            package__name='pyramid',
        )
        package1 = release1.package
        package2 = release2.package

        # When
        result = smart_merge(package1, package2)

        # Then
        assert isinstance(result, Package)
        assert len(list(result.root)) == 1
        assert len(list(result)) == 2
        assert repository_root_factory(self.request) is not result.root
        result = smart_merge(package1, package2)
        assert isinstance(result, Package)
        assert len(list(result)) == 2
        assert repository_root_factory(self.request) is not result.root
Ejemplo n.º 2
0
    def test_smart_merge_with_other_release(self):
        from papaye.factories import repository_root_factory
        from papaye.models import Package, Release, ReleaseFile
        from papaye.proxy import smart_merge
        package1 = Package(name='pyramid')
        package1['1.5'] = Release(name='1.5', version='1.5', metadata={})
        package1['1.5']['pyramid-1.5.tar.gz'] = ReleaseFile(
            filename='pyramid-1.5.tar.gz',
            content=b'',
            md5_digest='12345'
        )

        package2 = Package(name='pyramid')
        package2['1.6'] = Release(name='1.6', version='1.6', metadata={})
        package2['1.6']['pyramid-1.6.tar.gz'] = ReleaseFile(
            filename='pyramid-1.6.tar.gz',
            content=b'',
            md5_digest='12345'
        )

        result = smart_merge(package1, package2)

        assert isinstance(result, Package)
        assert len(list(result.__parent__)) == 1
        assert len(list(result)) == 2
        assert repository_root_factory(self.request) is not result.__parent__

        result = smart_merge(package1, package2)

        assert isinstance(result, Package)
        assert len(list(result)) == 2
        assert repository_root_factory(self.request) is not result.__parent__
Ejemplo n.º 3
0
    def test_smart_merge_dont_update_existing_release_file(self):
        from papaye.models import Package, Release, ReleaseFile, Root
        from papaye.proxy import smart_merge
        package1 = Package(name='pyramid')
        package1['1.5'] = Release(version='1.5', metadata={})
        package1['1.5']['pyramid-1.5.tar.gz'] = ReleaseFile(
            filename='pyramid-1.5.tar.gz',
            content=b'a existing content',
            md5_digest='12345'
        )

        package2 = Package(name='pyramid')
        package2['1.5'] = Release(version='1.5', metadata={})
        package2['1.5']['pyramid-1.5.tar.gz'] = ReleaseFile(
            filename='pyramid-1.5.tar.gz',
            content=b'a new content',
            md5_digest='12345'
        )
        root = Root(name='root')

        result = smart_merge(package1, package2, root=root)

        assert isinstance(result, Package)
        assert len(list(result)) == 1
        assert len(list(result['1.5'])) == 1
        assert result.__parent__ is root
Ejemplo n.º 4
0
    def test_smart_merge_with_none_remote_package(self):
        from papaye.models import Package, Release, ReleaseFile, Root
        from papaye.proxy import smart_merge
        package = Package(name='pyramid')
        package['1.5'] = Release(version='1.5', metadata={})
        package['1.5']['pyramid-1.5.whl'] = ReleaseFile(
            filename='pyramid-1.5.whl',
            content=b'',
            md5_digest='12345'
        )
        root = Root(name='root')

        result = smart_merge(package, None, root=root)

        assert isinstance(result, Package)
        assert len(list(result)) == 1
        assert len(list(result['1.5'])) == 1
        assert result.__parent__ is root
Ejemplo n.º 5
0
    def test_smart_merge_with_other_package(self):
        from papaye.models import Package, Release, ReleaseFile
        from papaye.proxy import smart_merge
        release1 = factories.ReleaseFactory(
            version='1.5',
            filename='pyramid-1.5.tar.gz',
            md5_digest='12345',
            package__name='pyramid',
        )
        release2 = factories.ReleaseFactory(
            version='1.6',
            filename='pyramid-1.6.tar.gz',
            md5_digest='12345',
            package__name='pyramid',
        )
        package1 = release1.package
        package2 = release2.package

        result = smart_merge(package1, package2)

        assert isinstance(result, Package)
        assert len(list(result.root)) == 1
        assert result.__name__ == 'pyramid'