Esempio n. 1
0
def master(package_json):
    from bandersnatch.master import Master

    class FakeReader:
        async def read(self, *args):
            return b""

    class FakeAiohttpClient:
        headers = {"X-PYPI-LAST-SERIAL": "1"}

        async def __aenter__(self):
            return self

        async def __aexit__(self, *args):
            pass

        @property
        def content(self, *args):
            return FakeReader()

        async def json(self, *args):
            return package_json

    master = Master("https://pypi.example.com")
    master.rpc = mock.Mock()
    master.session = asynctest.MagicMock()
    master.session.get = asynctest.MagicMock(return_value=FakeAiohttpClient())
    master.session.request = asynctest.MagicMock(
        return_value=FakeAiohttpClient())
    return master
Esempio n. 2
0
def master(package_json: Dict[str, Any]) -> "Master":
    from bandersnatch.master import Master

    class FakeReader:
        async def read(self, *args: Any) -> bytes:
            return b""

    class FakeAiohttpClient:
        headers = {"X-PYPI-LAST-SERIAL": "1"}

        async def __aenter__(self) -> "FakeAiohttpClient":
            return self

        async def __aexit__(self, *args: Any) -> None:
            pass

        @property
        def content(self) -> "FakeReader":
            return FakeReader()

        async def json(self, *args: Any) -> Dict[str, Any]:
            return package_json

    def session_side_effect(*args: Any, **kwargs: Any) -> Any:
        if args[0].startswith("https://not-working.example.com"):
            raise AssertionError("Requested for expected not-working URL")
        else:
            return FakeAiohttpClient()

    master = Master("https://pypi.example.com")
    master.rpc = mock.Mock()  # type: ignore
    master.session = mock.MagicMock()
    master.session.get.side_effect = session_side_effect
    master.session.request.side_effect = session_side_effect
    return master
Esempio n. 3
0
def master(package_json: Dict[str, Any]) -> "Master":
    from bandersnatch.master import Master

    class FakeReader:
        async def read(self, *args: Any) -> bytes:
            return b""

    class FakeAiohttpClient:
        headers = {"X-PYPI-LAST-SERIAL": "1"}

        async def __aenter__(self) -> "FakeAiohttpClient":
            return self

        async def __aexit__(self, *args: Any) -> None:
            pass

        @property
        def content(self) -> "FakeReader":
            return FakeReader()

        async def json(self, *args: Any) -> Dict[str, Any]:
            return package_json

    master = Master("https://pypi.example.com")
    master.rpc = mock.Mock()  # type: ignore
    master.session = mock.MagicMock()
    master.session.get = mock.MagicMock(return_value=FakeAiohttpClient())
    master.session.request = mock.MagicMock(return_value=FakeAiohttpClient())
    return master
Esempio n. 4
0
def master(requests):
    from bandersnatch.master import Master
    master = Master('https://pypi.example.com')
    master.rpc = mock.Mock()
    master.session = mock.Mock()
    master.session.get = requests
    return master
Esempio n. 5
0
def master(requests):
    from bandersnatch.master import Master

    master = Master("https://pypi.example.com")
    master.rpc = mock.Mock()
    master.session = mock.Mock()
    master.session.get = requests
    return master
Esempio n. 6
0
def master():
    from bandersnatch.master import Master

    class FakeReader:
        async def read(self, *args):
            return b""

    class FakeAiohttpClient:
        headers = {"X-PYPI-LAST-SERIAL": "1"}

        async def __aenter__(self):
            return self

        async def __aexit__(self, *args):
            pass

        @property
        def content(self, *args):
            return FakeReader()

        async def json(self, *args):
            return {
                "info": {
                    "name": "foo",
                    "version": "0.1"
                },
                "last_serial": 654_321,
                "releases": {
                    "0.1": [
                        {
                            "url":
                            "https://pypi.example.com/packages/any/f/foo/foo.zip",
                            "filename": "foo.zip",
                            "digests": {
                                "md5":
                                "6bd3ddc295176f4dca196b5eb2c4d858",
                                "sha256":
                                ("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
                                 ),
                            },
                            "md5_digest": "b6bcb391b040c4468262706faf9d3cce",
                        },
                        {
                            "url":
                            "https://pypi.example.com/packages/2.7/f/foo/foo.whl",
                            "filename": "foo.whl",
                            "digests": {
                                "md5":
                                "6bd3ddc295176f4dca196b5eb2c4d858",
                                "sha256":
                                ("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
                                 ),
                            },
                            "md5_digest": "6bd3ddc295176f4dca196b5eb2c4d858",
                        },
                    ]
                },
            }

    master = Master("https://pypi.example.com")
    master.rpc = mock.Mock()
    master.session = asynctest.MagicMock()
    master.session.get = asynctest.MagicMock(return_value=FakeAiohttpClient())
    master.session.request = asynctest.MagicMock(
        return_value=FakeAiohttpClient())
    return master