mirror of
https://github.com/chidiwilliams/buzz.git
synced 2024-06-29 13:10:26 +02:00
31 lines
922 B
Python
31 lines
922 B
Python
|
|
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
|