def test_json_restoration_required(self): outputs = [paymentrequest.Output(P2PKH_SCRIPT_HEX)] 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)
def test_dict_optional_fields_used(self): outputs = [paymentrequest.Output(P2PKH_SCRIPT_HEX)] 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)
def test_json_restoration_required(self): outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ] original = paymentrequest.Payment("merchant_data", "transaction_hex", outputs) json_value = original.to_json() restored = paymentrequest.Payment.from_json(json_value) self.assertEqual(original.merchant_data, restored.merchant_data) self.assertEqual(original.transaction_hex, restored.transaction_hex) self.assertEqual(len(original.refund_outputs), len(restored.refund_outputs)) self.assertEqual(original.refund_outputs[0].script, restored.refund_outputs[0].script) self.assertEqual(original.memo, restored.memo)
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)
def test_json_restoration_all(self): outputs = [paymentrequest.Output(P2PKH_SCRIPT_HEX)] 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_hex, restored.payment.refund_outputs[0].script_hex) self.assertEqual(original.payment.memo, restored.payment.memo) self.assertEqual(original.memo, restored.memo)
def test_send_payment_success(self): outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ] 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) ] creation_timestamp = int(time.time() + 100) expiration_timestamp = creation_timestamp + 100 payment_request = PaymentRequestTestable( outputs, creation_timestamp, expiration_timestamp, "memo", "pay_url", "merchant_data") response_status, response_message = payment_request.send_payment( TRANSACTION_HEX) # The response was successful. self.assertTrue(response_status) # The ack memo is the response message. self.assertEqual(ack_memo, response_message)
def test_dict_optional_fields_used(self): payment = paymentrequest.Payment("merchant_data", "transaction_hex", "memo") data = payment.to_dict() self.assertTrue('merchantData' in data) self.assertTrue('memo' in data)
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)
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)