cohit's picture
Upload folder using huggingface_hub
0827183 verified
from asyncio import Semaphore
from typing import List
from uuid import UUID, uuid4
import aiounittest
from botframework.streaming.payload_transport import PayloadSender
from botframework.streaming.payloads import HeaderSerializer
from botframework.streaming.payloads.models import Header
from botframework.streaming.transport import TransportSenderBase
class MockTransportSender(TransportSenderBase):
def __init__(self):
super().__init__()
self.send_called = Semaphore(0)
async def send(self, buffer: List[int], offset: int, count: int) -> int:
# Assert
if count == 48: # Header
print("Validating Header...")
header = HeaderSerializer.deserialize(buffer, offset, count)
assert header.type == "A"
assert header.payload_length == 3
assert header.end
else: # Payload
print("Validating Payload...")
assert count == 3
self.send_called.release()
return count
def close(self):
pass
class TestPayloadSender(aiounittest.AsyncTestCase):
async def test_send(self):
# Arrange
sut = PayloadSender()
sender = MockTransportSender()
sut.connect(sender)
header_id: UUID = uuid4()
header = Header(type="A", id=header_id, end=True)
header.payload_length = 3
payload = [1, 2, 3]
async def mock_sent_callback(callback_header: Header):
print(
f"{callback_header.type}.{callback_header.payload_length}.{callback_header.id}.{callback_header.end}"
)
# Act
sut.send_payload(
header, payload, is_length_known=True, sent_callback=mock_sent_callback
)
# Assert
await sender.send_called.acquire()
await sut.disconnect()