Ejemplo n.º 1
0
def basicUnitTest():
    loop = asyncio.set_event_loop(TestLoopEx())

    serverProtocol = MyServerProtocol()
    clientProtocol = MyClientProtocol(loop)

    # calling transportToServer’s write method will route the data directly to server’s data_received method
    #transportToServer = MockTransportToProtocol(serverProtocol)
    #transportToClient = MockTransportToProtocol(clientProtocol)

    transportToServer = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient = MockTransportToProtocol(myProtocol=serverProtocol)

    # when setRemoteTransport is called, it writes data to the transport's protocol
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)

    # serverProtocol.connection_made(transportToClient)
    # clientProtocol.connection_made(transportToServer)

    clientProtocol.connection_made(transportToServer)
    serverProtocol.connection_made(transportToClient)

    # try to send a pkt with clientID = 1
    clientProtocol.sendRequest(1)

    # try to send something not packet
    try:
        serverProtocol.data_received('Test')
    except TypeError:
        print(TypeError)
Ejemplo n.º 2
0
def basicUnitTest():
    clientProtocol = MyProtocolClient("hello", TestLoopEx())
    serverProtocol = MyProtocolServer()
    transportToServer = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient = MockTransportToProtocol(myProtocol=serverProtocol)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)

    serverProtocol.connection_made(transportToClient)
    clientProtocol.connection_made(transportToServer)
Ejemplo n.º 3
0
def basicUnitTest():
    clientProtocol = MyProtocolClient("hello", TestLoopEx())
    serverProtocol = MyProtocolServer()
    transportToServer = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient = MockTransportToProtocol(myProtocol=serverProtocol)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)

    serverProtocol.connection_made(transportToClient)
    clientProtocol.connection_made(transportToServer)
Ejemplo n.º 4
0
def basicUnitTest():
    asyncio.set_event_loop(TestLoopEx())
    client = ClientProtocol()
    server = ServerProtocol()
    transportToServer = MockTransportToProtocol(myProtocol=client)
    transportToClient = MockTransportToProtocol(myProtocol=server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    client.connection_made(transportToServer)
    server.connection_made(transportToClient)
    client.sendpkt1(b"ABC123", b"EN.601.644", True)
Ejemplo n.º 5
0
def basicUnitTest():
    # Build a MockConnection between Client and Server
    set_event_loop(TestLoopEx())
    client = ClientProtocol()  #sending data from the protocol
    server = ServerProtocol()
    transportToServer = MockTransportToProtocol(myProtocol=client)
    transportToClient = MockTransportToProtocol(myProtocol=server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    server.connection_made(transportToClient)
    client.connection_made(transportToServer)
    client.Login("wwz", "hellowwz")
Ejemplo n.º 6
0
def UnitTest1():
    set_event_loop(TestLoopEx())
    clientProtocol = EchoClientProtocol()
    serverProtocol = EchoServerProtocol()
    transportToServer = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient = MockTransportToProtocol(myProtocol=serverProtocol)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    clientProtocol.connection_made(transportToServer)
    serverProtocol.connection_made(transportToClient)

    clientProtocol.SetIdentityInfo(123, "Alex", "2017alex")
    clientProtocol.SendLoginRequest()
Ejemplo n.º 7
0
 def test_connection(self):
     asyncio.set_event_loop(TestLoopEx())
     testData = RequestFlip()
     testData.headOrTail = True
     testData.numFlips = 1000
     client = CoinClientProtocol(testData)
     server = CoinServerProtocol()
     transportToServer = MockTransportToProtocol(myProtocol=server)
     transportToClient = MockTransportToProtocol(myProtocol=client)
     transportToServer.setRemoteTransport(transportToClient)
     transportToClient.setRemoteTransport(transportToServer)
     client.connection_made(transportToServer)
     server.connection_made(transportToClient)
Ejemplo n.º 8
0
def basicUnitTest():
    asyncio.set_event_loop(TestLoopEx())
    server = MoviesServer()
    client = MoviesClient()
    transportToServer = MockTransportToProtocol(myProtocol=client)
    transportToClient = MockTransportToProtocol(myProtocol=server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    server.connection_made(transportToClient)
    client.connection_made(transportToServer)
    client.requestMovieInfo("frozen", "genre")
    assert MoviesClient.str == "Comedy"
    assert MoviesServer.str == "genre"
Ejemplo n.º 9
0
def basic_unit_test():
    set_event_loop(TestLoopEx())
    client = ClientProtocol("harry", "123456", "*****@*****.**")
    server = ServerProtocol()

    transport_to_server = MockTransportToProtocol(client)
    transport_to_client = MockTransportToProtocol(server)
    transport_to_server.setRemoteTransport(transport_to_client)
    transport_to_client.setRemoteTransport(transport_to_server)
    client.connection_made(transport_to_server)
    server.connection_made(transport_to_client)

    client.sign_up()
Ejemplo n.º 10
0
def basicUnitTest():

    loop = TestLoopEx()
    asyncio.set_event_loop(loop)
    Server = ServerProtocol()
    Client = ClientProtocol()

    transportToServer = MockTransportToProtocol(myProtocol=Client)
    transportToClient = MockTransportToProtocol(myProtocol=Server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)

    Server.connection_made(transportToClient)
    Client.first_packet('111','POP')
    Client.connection_made(transportToServer)
Ejemplo n.º 11
0
def BasicUnitTest():
    set_event_loop(TestLoopEx())
    client = IoTClientProtocol()
    server = IoTServerProtocol()
    transportToServer = MockTransportToProtocol(myProtocol=client)
    transportToClient = MockTransportToProtocol(myProtocol=server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)

    client.connection_made(transportToServer)
    server.connection_made(transportToClient)

    client.GetDeviceList()
    server.DeviceList()
    client.ModifyDevice()
    server.Respond()
Ejemplo n.º 12
0
def UnitTest():

    loop = TestLoopEx()
    asyncio.set_event_loop(loop)

    Server = MyServer()
    Client = MyClient()

    transportToServer = MockTransportToProtocol(myProtocol=Client)
    transportToClient = MockTransportToProtocol(myProtocol=Server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)

    Server.connection_made(transportToClient)
    Client.Initial_Packet()
    Client.connection_made(transportToServer)
Ejemplo n.º 13
0
def basicUnitTest():
    loop = asyncio.set_event_loop(TestLoopEx())
    client = ClientProtocol(loop)
    server = ServerProtocol()
    transportToServer = MockTransportToProtocol(myProtocol=client)
    transportToClient = MockTransportToProtocol(myProtocol=server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    server.connection_made(transportToClient)
    client.connection_made(transportToServer)

    loginWithUsername = LogInWithUsername()
    getUserProfile = GetUserProfleWithID()
    client.loginStart(loginWithUsername, getUserProfile)

    assert client.state == 1
    assert server.state == 1
Ejemplo n.º 14
0
def basicUnitTest():
    asyncio.set_event_loop(TestLoopEx())
    client=MyClientProtocol()
    server=MyServerProtocol()
    transportToServer=MockTransportToProtocol(myProtocol = client)
    transportToClient=MockTransportToProtocol(myProtocol = server)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    server.connection_made(transportToClient)
    client.connection_made(transportToServer)
    pktCR = ConnectionRequest()
    #pktCR2 = ConnectionRequest()
    #pktCR3 = ConnectionRequest()
    print("Start test. The packet is sent.")
    client.send(pktCR)
    #client.send(pktCR2)
    #client.send(pktCR3)
    print("Test End")
Ejemplo n.º 15
0
def basicUnitTest():
    print(
        "WARNING: Since most of the data only exist in transmission, this unit test will use printing method to show if the code works"
    )
    print("")
    asyncio.set_event_loop(TestLoopEx())
    clientName = "peter"
    tableNumber = 14
    stockList = {
        "Appetizers": {
            "Buffalo Fried Cauliflower": 43,
            "Triple Dipper": 37
        },
        "Sandwiches": {
            "Bacon Avocado Chicken": 96,
            "Buffalo Chicken Ranch": 23,
            "Grilled Chicken": 3
        },
        "Salads_and_Soups": {
            "Santa Fe Crisper Salad": 54,
            "Margherita Flatbread Salad": 42,
            "Margherita Flatbread Salad with Chicken": 32,
            "House Salad": 35
        },
        "Desert": {
            "Triple Berry Crumble Cake": 1
        }
    }
    menu = {
        "Appetizers": ["Buffalo Fried Cauliflower", "Triple Dipper"],
        "Sandwiches":
        ["Bacon Avocado Chicken", "Buffalo Chicken Ranch", "Grilled Chicken"],
        "Salads_and_Soups": [
            "Santa Fe Crisper Salad", "Margherita Flatbread Salad",
            "Margherita Flatbread Salad with Chicken", "House Salad"
        ],
        "Desert": ["Triple Berry Crumble Cake"]
    }
    client = playground.getConnector().create_playground_server(
        lambda: CustomerClientProtocol(clientName, tableNumber), 101)
    server = playground.getConnector().create_playground_connection(
        lambda: RestaurantServerProtocol(stockList, menu), "20174.1.1.1", 101)
    # client = CustomerClientProtocol(clientName, tableNumber)
    # server = RestaurantServerProtocol(stockList, menu)
    transportToServer = MockTransportToProtocol(server)
    transportToClient = MockTransportToProtocol(client)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    client.connection_made(transportToServer)
    server.connection_made(transportToClient)
    print(
        "======================================================================"
    )
    print("Submission: Testing sending menu...")
    client.requestMenu()
    assert menu.keys() == client.receivedMenu.keys()
    for key in menu.keys():
        assert menu[key] == client.receivedMenu[key]
        assert client.receivedMenu[key] == server.originalMenu[key]
    assert client.status == client.SEND_ORDER
    assert server.status == server.WAITING_ORDER
    print(
        "======================================================================"
    )
    print("Submission: Testing sending order from Client...")

    print("1) Testing normal orders...(should success)")
    ordered = {
        "Bacon Avocado Chicken": 1,
        "Buffalo Chicken Ranch": 2,
        "Buffalo Fried Cauliflower": 1
    }
    client.sendOrder(ordered)
    assert client.status == client.WAITING
    assert server.status == server.WAITING
    print(" ")
    print(
        "2) Testing ordering dishes that does not exist in menu...(should fail)"
    )
    client.requestMenu()
    ordered = {
        "Bacon Avocado Chicken": 1,
        "Buffalo Chicken Ranch": 2,
        "Buffalo Fried Cauliflower": 1,
        "Something not exist1": 10,
        "Something not exist3": 12
    }
    client.sendOrder(ordered)
    print(" ")
    print("3) Testing ordering dishes that are out of stock...(should fail)")
    client.requestMenu()
    ordered = {
        "Bacon Avocado Chicken": 1,
        "Buffalo Chicken Ranch": 2,
        "Triple Berry Crumble Cake": 3,
        "Grilled Chicken": 4
    }
    client.sendOrder(ordered)
    print(" ")
    print(
        "4) Testing ordering dishes that are both not exist and out of stock...(should fail)"
    )
    client.requestMenu()
    ordered = {
        "Bacon Avocado Chicken": 1,
        "Buffalo Chicken Ranch": 2,
        "Triple Berry Crumble Cake": 3,
        "Grilled Chicken": 4,
        "Something not exist1": 10,
        "Something not exist3": 12
    }
    client.sendOrder(ordered)
    print(" ")
    print("5) Testing ordering nothing")
    client.requestMenu()
    client.sendOrder({})
    print(
        "======================================================================"
    )
Ejemplo n.º 16
0
def basicUnitTest():
    packet1 = RequestCountry()
    packet1Bytes = packet1.__serialize__()
    packet1a = RequestCountry.Deserialize(packet1Bytes)
    assert packet1 == packet1a

    packet2 = Question()
    packet2.country = "Japan"
    packet2.id = 1
    packet2Bytes = packet2.__serialize__()
    packet2a = Question.Deserialize(packet2Bytes)
    assert packet2 == packet2a

    packet3 = Answer()
    packet3.capital = "Tokyo"
    packet3.id = 1
    packet3Bytes = packet3.__serialize__()
    packet3a = Answer.Deserialize(packet3Bytes)
    assert packet3 == packet3a

    packet4 = Result()
    packet4.passfail = True
    packet4.id = 1
    packet4Bytes = packet4.__serialize__()
    packet4a = Result.Deserialize(packet4Bytes)
    assert packet4 == packet4a

    asyncio.set_event_loop(TestLoopEx())

    clientProtocol = StudentClient()
    serverProtocol = QuizServer()

    transportToServer = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient = MockTransportToProtocol(myProtocol=serverProtocol)
    transportToServer.setRemoteTransport(transportToClient)
    transportToClient.setRemoteTransport(transportToServer)
    clientProtocol.connection_made(transportToServer)
    serverProtocol.connection_made(transportToClient)

    # client sends first packet
    clientProtocol.request(stdInCallback)

    transportToClient.close()
    transportToServer.close()

    print()

    transportToServer2 = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient2 = MockTransportToProtocol(myProtocol=serverProtocol)

    transportToServer2.setRemoteTransport(transportToClient)
    transportToClient2.setRemoteTransport(transportToServer)

    clientProtocol.connection_made(transportToServer2)
    serverProtocol.connection_made(transportToClient2)

    # server receives wrong packet
    serverProtocol.data_received(packet3Bytes)

    print()

    transportToServer3 = MockTransportToProtocol(myProtocol=clientProtocol)
    transportToClient3 = MockTransportToProtocol(myProtocol=serverProtocol)

    transportToServer3.setRemoteTransport(transportToClient)
    transportToClient3.setRemoteTransport(transportToServer)

    clientProtocol.connection_made(transportToServer3)
    serverProtocol.connection_made(transportToClient3)

    # client receives wrong packet
    clientProtocol.data_received(packet4Bytes)