Ejemplo n.º 1
0
 def test_dict_optional_fields_used(self):
     outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ]
     payment = paymentrequest.Payment("merchant_data", "transaction_hex", outputs, "memo")
     payment_ack = paymentrequest.PaymentACK(payment, 'memo')
     data = payment_ack.to_dict()
     self.assertTrue('payment' in data)
     self.assertTrue('memo' in data)
Ejemplo n.º 2
0
 def test_json_restoration_required(self):
     outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ]
     payment = paymentrequest.Payment("merchant_data", "transaction_hex", outputs)
     original = paymentrequest.PaymentACK(payment)
     json_value = original.to_json()
     restored = paymentrequest.PaymentACK.from_json(json_value)
     self.assertEqual(original.memo, restored.memo)
Ejemplo n.º 3
0
    def test_send_payment_success(self):
        outputs = [paymentrequest.Output(P2PKH_SCRIPT_HEX)]
        payment = paymentrequest.Payment("merchant_data", "transaction_hex",
                                         outputs)
        ack_memo = "ack_memo"
        payment_ack = paymentrequest.PaymentACK(payment, ack_memo)
        ack_json = payment_ack.to_json()

        class PaymentRequestTestable(paymentrequest.PaymentRequest):
            def _make_request(self, url, message):
                return TestPaymentRequest._FakeRequestResponse(
                    200, NotImplemented, ack_json)

        outputs = [paymentrequest.Output(P2PKH_SCRIPT_HEX)]
        creation_timestamp = int(time.time() + 100)
        expiration_timestamp = creation_timestamp + 100
        payment_request = PaymentRequestTestable(outputs, creation_timestamp,
                                                 expiration_timestamp, "memo",
                                                 "pay_url", "merchant_data")

        refund_address = _generate_address()
        response_status, response_message = payment_request.send_payment(
            TRANSACTION_HEX, refund_address)
        # The response was successful.
        self.assertTrue(response_status)
        # The ack memo is the response message.
        self.assertEqual(ack_memo, response_message)
Ejemplo n.º 4
0
 def test_json_restoration_all(self):
     payment = paymentrequest.Payment("merchant_data", "transaction_hex",
                                      "memo")
     original = paymentrequest.PaymentACK(payment)
     json_value = original.to_json()
     restored = paymentrequest.PaymentACK.from_json(json_value)
     self.assertEqual(original.payment.merchant_data,
                      restored.payment.merchant_data)
     self.assertEqual(original.payment.transaction_hex,
                      restored.payment.transaction_hex)
     self.assertEqual(original.payment.memo, restored.payment.memo)
     self.assertEqual(original.memo, restored.memo)
Ejemplo n.º 5
0
 def test_json_restoration_all(self):
     outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ]
     payment = paymentrequest.Payment("merchant_data", "transaction_hex", outputs, "memo")
     original = paymentrequest.PaymentACK(payment)
     json_value = original.to_json()
     restored = paymentrequest.PaymentACK.from_json(json_value)
     self.assertEqual(original.payment.merchant_data, restored.payment.merchant_data)
     self.assertEqual(original.payment.transaction_hex, restored.payment.transaction_hex)
     self.assertEqual(len(original.payment.refund_outputs),
                      len(restored.payment.refund_outputs))
     self.assertEqual(original.payment.refund_outputs[0].script,
                      restored.payment.refund_outputs[0].script)
     self.assertEqual(original.payment.memo, restored.payment.memo)
     self.assertEqual(original.memo, restored.memo)
Ejemplo n.º 6
0
 def test_json_restoration_required(self):
     payment = paymentrequest.Payment({}, "transaction_hex")
     original = paymentrequest.PaymentACK(payment)
     json_value = original.to_json()
     restored = paymentrequest.PaymentACK.from_json(json_value)
     self.assertEqual(original.memo, restored.memo)
Ejemplo n.º 7
0
 def test_dict_optional_fields_unused(self):
     payment = paymentrequest.Payment("merchant_data", "transaction_hex")
     payment_ack = paymentrequest.PaymentACK(payment)
     data = payment_ack.to_dict()
     self.assertTrue('payment' in data)
     self.assertFalse('memo' in data)