async def METHOD_NAME(self):
    expected = {"key": "val"}
    storage = mock.AsyncMock()
    storage.new_destination.return_value.download_bytes.return_value = json.dumps(
        expected
    ).encode("utf-8")
    src_path = "/test/path"
    ctx = self._get_work_context(storage)
    script = ctx.new_script()
    script.download_json(src_path, partial(self._on_download, expected))
    await script._before()
    await script._after()
    self._assert_src_path(script, src_path)
    assert self._on_download_executed