Ejemplo n.º 1
0
    def test_list_only_dev_packages(self):
        devpi_listing = [
            'http://localhost:2414/user/index1/+f/70e/3bc67b3194143/delete_me-0.2-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/313/8642d2b43a764/delete_me-0.2.tar.gz',
            'http://localhost:2414/user/index1/+f/bab/f9b37c9d0d192/delete_me-0.2a1.tar.gz',
            'http://localhost:2414/user/index1/+f/e8e/d9cfe14d2ef65/delete_me-0.2a1-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/842/84d1283874110/delete_me-0.2.dev2.tar.gz',
            'http://localhost:2414/user/index1/+f/636/95eef6ac86c76/delete_me-0.2.dev2-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/c22/cdec16d5ddc3a/delete_me-0.1-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/45b/301745c6d8bbf/delete_me-0.1.tar.gz',
        ]
        expected_packages = {
            'user/index1': {Package(devpi_listing[5])},
        }

        devpi_client = Mock(spec=DevpiCommandWrapper)
        devpi_client.user = '******'
        devpi_client.url = 'http://localhost:2414/user/index1'
        devpi_client.list_indices.return_value = ['user/index1']
        devpi_client.list.return_value = devpi_listing

        actual_packages = list_packages_by_index(devpi_client,
                                                 'user',
                                                 'delete_me',
                                                 only_dev=True,
                                                 version_filter=None)
        self.assertDictEqual(expected_packages, actual_packages)
Ejemplo n.º 2
0
    def test_list_packages_filters(self):
        """
        The package list must be stripped from inherited packages and [*redirected] messages
        """
        devpi_listing = [
            '*redirected: http://localhost:2414/user/index2/delete_me',
            'http://localhost:2414/user/index2/+f/70e/3bc67b3194143/delete_me-0.2-py2.py3-none-any.whl',
            'http://localhost:2414/user/index2/+f/313/8642d2b43a764/delete_me-0.2.tar.gz',
            'http://localhost:2414/other_user/index1/+f/70e/3bc67b3194143/delete_me-0.2-py2.py3-none-any.whl',
            'http://localhost:2414/other_user/index1/+f/313/8642d2b43a764/delete_me-0.2.tar.gz'
        ]
        expected_packages = {'user/index2': {Package(devpi_listing[1])}}

        devpi_client = Mock(spec=DevpiCommandWrapper)
        devpi_client.user = '******'
        devpi_client.url = 'http://localhost:2414/user/index2'
        devpi_client.list_indices.return_value = ['user/index2']
        devpi_client.list.return_value = devpi_listing

        actual_packages = list_packages_by_index(devpi_client,
                                                 'user',
                                                 'delete_me',
                                                 only_dev=False,
                                                 version_filter=None)
        self.assertDictEqual(expected_packages, actual_packages)

        devpi_client.list.assert_called_once_with(
            '--index', 'user/index2', '--all', 'delete_me'
        )  # `--all` is important as otherwise not all packages will be returned
Ejemplo n.º 3
0
    def test_list_packages_filters(self):
        """
        The package list must be stripped from inherited packages and [*redirected] messages
        """
        devpi_listing = [
            '*redirected: http://localhost:2414/user/index2/delete_me',
            'http://localhost:2414/user/index2/+f/70e/3bc67b3194143/delete_me-0.2-py2.py3-none-any.whl',
            'http://localhost:2414/user/index2/+f/313/8642d2b43a764/delete_me-0.2.tar.gz',
            'http://localhost:2414/other_user/index1/+f/70e/3bc67b3194143/delete_me-0.2-py2.py3-none-any.whl',
            'http://localhost:2414/other_user/index1/+f/313/8642d2b43a764/delete_me-0.2.tar.gz'
        ]
        expected_packages = {
            'user/index2': {Package(devpi_listing[1])}
        }

        devpi_client = Mock(spec=DevpiCommandWrapper)
        devpi_client.user = '******'
        devpi_client.url = 'http://localhost:2414/user/index2'
        devpi_client.list_indices.return_value = ['user/index2']
        devpi_client.list.return_value = devpi_listing

        actual_packages = list_packages_by_index(devpi_client, 'user', 'delete_me', only_dev=False, version_filter=None)
        self.assertDictEqual(expected_packages, actual_packages)

        devpi_client.list.assert_called_once_with('--index', 'user/index2', '--all', 'delete_me')  # `--all` is important as otherwise not all packages will be returned
Ejemplo n.º 4
0
    def test_list_packages_on_specified_index(self):
        devpi_listing = [
            'http://dummy-server/user/eins/+f/70e/3bc67b3194143/dummy-1.0.tar.gz',
            'http://dummy-server/user/zwei/+f/70e/3bc67b3194144/dummy-2.0.tar.gz',
        ]
        expected_packages = {
            'user/eins': {Package(devpi_listing[0])},
        }

        devpi_client = Mock(spec=DevpiCommandWrapper)
        devpi_client.user = '******'
        devpi_client.list_indices.return_value = ['user/eins', 'user/zwei']
        devpi_client.list.side_effect = [[package] for package in devpi_listing]
        devpi_client.url = 'http://dummy-server/user'

        actual_packages = list_packages_by_index(devpi_client, 'user/eins', 'dummy', only_dev=False, version_filter=None)
        self.assertDictEqual(expected_packages, actual_packages)
Ejemplo n.º 5
0
    def test_list_packages_on_specified_index(self):
        devpi_listing = [
            'http://dummy-server/user/eins/+f/70e/3bc67b3194143/dummy-1.0.tar.gz',
            'http://dummy-server/user/zwei/+f/70e/3bc67b3194144/dummy-2.0.tar.gz',
        ]
        expected_packages = {
            'user/eins': {Package(devpi_listing[0])},
        }

        devpi_client = Mock(spec=DevpiCommandWrapper)
        devpi_client.user = '******'
        devpi_client.list_indices.return_value = ['user/eins', 'user/zwei']
        devpi_client.list.side_effect = [[package]
                                         for package in devpi_listing]
        devpi_client.url = 'http://dummy-server/user'

        actual_packages = list_packages_by_index(devpi_client,
                                                 'user/eins',
                                                 'dummy',
                                                 only_dev=False,
                                                 version_filter=None)
        self.assertDictEqual(expected_packages, actual_packages)
Ejemplo n.º 6
0
    def test_list_only_packages_matching_version_filter(self):
        devpi_listing = [
            'http://localhost:2414/user/index1/+f/70e/3bc67b3194143/delete_me-0.2-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/313/8642d2b43a764/delete_me-0.2.tar.gz',
            'http://localhost:2414/user/index1/+f/bab/f9b37c9d0d192/delete_me-0.2a1.tar.gz',
            'http://localhost:2414/user/index1/+f/e8e/d9cfe14d2ef65/delete_me-0.2a1-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/842/84d1283874110/delete_me-0.2.dev2.tar.gz',
            'http://localhost:2414/user/index1/+f/636/95eef6ac86c76/delete_me-0.2.dev2-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/c22/cdec16d5ddc3a/delete_me-0.1-py2.py3-none-any.whl',
            'http://localhost:2414/user/index1/+f/45b/301745c6d8bbf/delete_me-0.1.tar.gz',
        ]
        expected_packages = {
            'user/index1': {Package(devpi_listing[2])},
        }

        devpi_client = Mock(spec=DevpiCommandWrapper)
        devpi_client.user = '******'
        devpi_client.url = 'http://localhost:2414/user/index1'
        devpi_client.list_indices.return_value = ['user/index1']
        devpi_client.list.return_value = devpi_listing

        actual_packages = list_packages_by_index(devpi_client, 'user', 'delete_me', only_dev=False, version_filter=r'a\d+')
        self.assertDictEqual(expected_packages, actual_packages)