コード例 #1
0
    def test_cheese_response(self):
        message = Message()
        message.set_packet(Message.CHEESE)
        message.set_packet_type(Message.RESPONSE)
        data = {
            "transactions": [{
                "input":
                [("110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db",
                  0)],
                "wallet": [
                    "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db01",
                    "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db02",
                    "00000000000000000000000000000000000000000000000000000000000000000"
                ],
                "amount": [10, 10, 0],
                "signature": [
                    "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9d"
                ]
            }, {
                "input":
                [("110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db",
                  0)],
                "wallet": [
                    "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db01",
                    "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db02",
                    "00000000000000000000000000000000000000000000000000000000000000000"
                ],
                "amount": [10, 10, 0],
                "signature": [
                    "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9d"
                ]
            }],
            "nonce":
            123456789
        }

        message.set_data(data)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(
            string, "CHEESE RESPONSE " +
            "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db"
            +
            " 0 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db01 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db02"
            +
            " 00000000000000000000000000000000000000000000000000000000000000000"
            +
            " 10 10 0 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9d "
            +
            "110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db"
            +
            " 0 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db01 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db02"
            +
            " 00000000000000000000000000000000000000000000000000000000000000000"
            +
            " 10 10 0 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9d 123456789\r\n"
        )
コード例 #2
0
    def test_transaction_error(self):
        message = Message()
        message.set_packet(Message.TRANSACTION)
        message.set_packet_type(Message.ERROR)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "TRANSACTION ERROR\r\n")
コード例 #3
0
    def test_transaction_request(self):
        message = Message()
        message.set_packet(Message.TRANSACTION)
        message.set_packet_type(Message.REQUEST)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "TRANSACTION REQUEST\r\n")
コード例 #4
0
    def test_list_error(self):
        message = Message()
        message.set_packet(Message.LIST)
        message.set_packet_type(Message.ERROR)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "LIST ERROR\r\n")
コード例 #5
0
    def test_cheese_error(self):
        message = Message()
        message.set_packet(Message.CHEESE)
        message.set_packet_type(Message.ERROR)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "CHEESE ERROR\r\n")
コード例 #6
0
    def test_list_request(self):
        message = Message()
        message.set_packet(Message.LIST)
        message.set_packet_type(Message.REQUEST)
        message.set_data(1234)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "LIST REQUEST 1234\r\n")
コード例 #7
0
    def test_member_report(self):
        message = Message()
        message.set_packet(Message.MEMBER)
        message.set_packet_type(Message.REPORT)
        message.set_data(("192.168.1.1", 2))

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "MEMBER REPORT 192.168.1.1 2\r\n")
コード例 #8
0
    def test_cheese_request(self):
        message = Message()
        message.set_packet(Message.CHEESE)
        message.set_packet_type(Message.REQUEST)
        message.set_data("af4721920")

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(string, "CHEESE REQUEST af4721920\r\n")
コード例 #9
0
    def test_list_response(self):
        message = Message()
        message.set_packet(Message.LIST)
        message.set_packet_type(Message.RESPONSE)
        message.set_data([("192.168.1.1", 2), ("127.0.0.0.1", 1234)])

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(
            string, "LIST RESPONSE 192.168.1.1 2 " + "127.0.0.0.1 1234\r\n")
コード例 #10
0
    def send(self, message):
        """
        We send a object Message through the network
        """
        # We parse the message object
        writer = MessageWriter(message)
        string = writer.write()
        string = string.encode()

        # and we try to send the request
        try:
            self.socket.sendall(string)
            print("Debug: "+str(self.socket.getpeername())+" <----- "
                  + str(string))
        except socket.error:
            self.close()
コード例 #11
0
    def test_transaction_response(self):
        message = Message()
        message.set_packet(Message.TRANSACTION)
        message.set_packet_type(Message.RESPONSE)
        data = {
            "input": [("110812f67fa1e1f0117f6f3d70241c1a4" +
                       "2a7b07711a93c2477cc516d9042f9db", 0)],
            "wallet": [
                "110812f67fa1e1f0117f6f3d70241c1a" +
                "42a7b07711a93c2477cc516d9042f9db01",
                "110812f67fa1e1f0117f6f3d70241c1a42" +
                "a7b07711a93c2477cc516d9042f9db02",
                "0000000000000000000000000000000000" +
                "0000000000000000000000000000000"
            ],
            "amount": [10, 10, 0],
            "signature": [
                "110812f67fa1e1f0117f6f3d70241" +
                "c1a42a7b07711a93c2477cc516d9042f9d"
            ]
        }
        message.set_data(data)

        writer = MessageWriter(message)
        string = writer.write()

        self.assertEqual(
            string,
            "TRANSACTION RESPONSE 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db"
            +
            " 0 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db01 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db02"
            +
            " 00000000000000000000000000000000000000000000000000000000000000000"
            +
            " 10 10 0 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9d\r\n"
        )