def test_open(self, _request): res = mock.MagicMock(spec=Struct) res.__enter__.return_value = StringIO(SIMPLE_METADATA) _request.side_effect = [res, requests.exceptions.HTTPError] repo = HttpRepository("http://foo.com/repo") with repo.open("maven-metadata.xml") as fh: assert SIMPLE_METADATA == fh.read() self.assertRaises(MissingPathError, repo.open, "some/path")