import json from typing import Optional from PyQt6.QtCore import QByteArray, QObject, QSize, Qt, pyqtSignal from PyQt6.QtNetwork import QNetworkAccessManager, QNetworkReply class MockNetworkReply(QNetworkReply): def __init__(self, data: object, _: Optional[QObject] = None) -> None: self.data = data def readAll(self) -> 'QByteArray': return QByteArray(json.dumps(self.data).encode('utf-8')) def error(self) -> 'QNetworkReply.NetworkError': return QNetworkReply.NetworkError.NoError class MockNetworkAccessManager(QNetworkAccessManager): finished = pyqtSignal(object) reply: MockNetworkReply def __init__(self, reply: MockNetworkReply, parent: Optional[QObject] = None) -> None: super().__init__(parent) self.reply = reply def get(self, _: 'QNetworkRequest') -> 'QNetworkReply': self.finished.emit(self.reply) return self.reply