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
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
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
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
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
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