Skip to content

Commit 26eb908

Browse files
committed
Fix tests and null checks
1 parent 06ddcda commit 26eb908

25 files changed

Lines changed: 74 additions & 36 deletions

lightspark/__tests__/test_serialization.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,19 @@
55

66
class TestSerialization:
77
def test_serialize_deserialize_invoice_data(self):
8-
serialized = '{"__typename": "InvoiceData", "invoice_data_encoded_payment_request":"lnbcrt34170n1pj5vdn4pp56jhw0672v566u4rvl333v8hwwuvavvu9gx4a2mqag4pkrvm0hwkqhp5xaz278y6cejcvpqnndl4wfq3slgthjduwlfksg778aevn23v2pdscqzpgxqyz5vqsp5ee5jezfvjqvvz7hfwta3ekk8hs6dq36szkgp40qh7twa8upquxlq9qyyssqjg2slc95falxf2t67y0wu2w43qwfcvfflwl8tn4ppqw9tumwqxk36qkfct9p2w8c3yy2ld7c6nacy4ssv2gl6qyqfpmhl4jmarnjf8cpvjlxek","invoice_data_bitcoin_network":"REGTEST","invoice_data_payment_hash":"d4aee7ebca6535ae546cfc63161eee7719d6338541abd56c1d454361b36fbbac","invoice_data_amount":{"currency_amount_original_value":3417,"currency_amount_original_unit":"SATOSHI","currency_amount_preferred_currency_unit":"USD","currency_amount_preferred_currency_value_rounded":118,"currency_amount_preferred_currency_value_approx":118.89352818371607},"invoice_data_created_at":"2023-11-04T12:17:57Z","invoice_data_expires_at":"2023-11-05T12:17:57Z","invoice_data_memo":null,"invoice_data_destination":{"graph_node_id":"GraphNode:0189a572-6dba-cf00-0000-ac0908d34ea6","graph_node_created_at":"2023-07-30T06:18:07.162759Z","graph_node_updated_at":"2023-11-04T12:01:04.015414Z","graph_node_alias":"ls_test_vSViIQitob_SE","graph_node_bitcoin_network":"REGTEST","graph_node_color":"#3399ff","graph_node_conductivity":null,"graph_node_display_name":"ls_test_vSViIQitob_SE","graph_node_public_key":"02253935a5703a6f0429081e08d2defce0faa15f4d75305302284751d53a4e0608", "__typename":"GraphNode"}}'
8+
serialized = '{"__typename": "InvoiceData", "invoice_data_encoded_payment_request":"lnbcrt34170n1pj5vdn4pp56jhw0672v566u4rvl333v8hwwuvavvu9gx4a2mqag4pkrvm0hwkqhp5xaz278y6cejcvpqnndl4wfq3slgthjduwlfksg778aevn23v2pdscqzpgxqyz5vqsp5ee5jezfvjqvvz7hfwta3ekk8hs6dq36szkgp40qh7twa8upquxlq9qyyssqjg2slc95falxf2t67y0wu2w43qwfcvfflwl8tn4ppqw9tumwqxk36qkfct9p2w8c3yy2ld7c6nacy4ssv2gl6qyqfpmhl4jmarnjf8cpvjlxek","invoice_data_bitcoin_network":"REGTEST","invoice_data_payment_hash":"d4aee7ebca6535ae546cfc63161eee7719d6338541abd56c1d454361b36fbbac","invoice_data_amount":{"currency_amount_original_value":3417,"currency_amount_original_unit":"SATOSHI","currency_amount_preferred_currency_unit":"USD","currency_amount_preferred_currency_value_rounded":118,"currency_amount_preferred_currency_value_approx":118.89352818371607},"invoice_data_created_at":"2023-11-04T12:17:57+00:00","invoice_data_expires_at":"2023-11-05T12:17:57+00:00","invoice_data_memo":null,"invoice_data_destination":{"graph_node_id":"GraphNode:0189a572-6dba-cf00-0000-ac0908d34ea6","graph_node_created_at":"2023-07-30T06:18:07.162759+00:00","graph_node_updated_at":"2023-11-04T12:01:04.015414+00:00","graph_node_alias":"ls_test_vSViIQitob_SE","graph_node_bitcoin_network":"REGTEST","graph_node_color":"#3399ff","graph_node_conductivity":null,"graph_node_display_name":"ls_test_vSViIQitob_SE","graph_node_public_key":"02253935a5703a6f0429081e08d2defce0faa15f4d75305302284751d53a4e0608", "__typename":"GraphNode"}}'
99
deserialized = InvoiceData_from_json(None, json.loads(serialized))
1010
reserialized = deserialized.to_json()
11-
# TODO(Jeremy): Fix this assertion by making iso format consistent w.r.t. trailing Z.
12-
# assert reserialized == json.loads(serialized)
11+
assert reserialized == json.loads(serialized)
1312

1413
deserialized_again = InvoiceData_from_json(None, reserialized)
1514
assert deserialized_again == deserialized
1615

1716
def test_serialize_deserialize_graph_node(self):
18-
serialized = '{"graph_node_id":"GraphNode:0189a572-6dba-cf00-0000-ac0908d34ea6","graph_node_created_at":"2023-07-30T06:18:07.162759Z","graph_node_updated_at":"2023-11-04T12:01:04.015414Z","graph_node_alias":"ls_test_vSViIQitob_SE","graph_node_bitcoin_network":"REGTEST","graph_node_color":"#3399ff","graph_node_conductivity":null,"graph_node_display_name":"ls_test_vSViIQitob_SE","graph_node_public_key":"02253935a5703a6f0429081e08d2defce0faa15f4d75305302284751d53a4e0608", "__typename":"GraphNode"}'
17+
serialized = '{"graph_node_id":"GraphNode:0189a572-6dba-cf00-0000-ac0908d34ea6","graph_node_created_at":"2023-07-30T06:18:07.162759+00:00","graph_node_updated_at":"2023-11-04T12:01:04.015414+00:00","graph_node_alias":"ls_test_vSViIQitob_SE","graph_node_bitcoin_network":"REGTEST","graph_node_color":"#3399ff","graph_node_conductivity":null,"graph_node_display_name":"ls_test_vSViIQitob_SE","graph_node_public_key":"02253935a5703a6f0429081e08d2defce0faa15f4d75305302284751d53a4e0608", "__typename":"GraphNode"}'
1918
deserialized = Node_from_json(None, json.loads(serialized))
2019
reserialized = deserialized.to_json()
21-
# TODO(Jeremy): Fix this assertion by making iso format consistent w.r.t. trailing Z.
22-
# assert reserialized == json.loads(serialized)
20+
assert reserialized == json.loads(serialized)
2321

2422
deserialized_again = Node_from_json(None, reserialized)
2523
assert deserialized_again == deserialized

lightspark/objects/ApiToken.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def to_json(self) -> Mapping[str, Any]:
4444
"api_token_updated_at": self.updated_at.isoformat(),
4545
"api_token_client_id": self.client_id,
4646
"api_token_name": self.name,
47-
"api_token_permissions": [e.to_json() for e in self.permissions],
47+
"api_token_permissions": [e.value for e in self.permissions],
4848
}
4949

5050

lightspark/objects/Channel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def to_json(self) -> Mapping[str, Any]:
187187
"channel_total_balance": self.total_balance.to_json()
188188
if self.total_balance
189189
else None,
190-
"channel_status": self.status.value,
190+
"channel_status": self.status.value if self.status else None,
191191
"channel_estimated_force_closure_wait_minutes": self.estimated_force_closure_wait_minutes,
192192
"channel_commit_fee": self.commit_fee.to_json()
193193
if self.commit_fee

lightspark/objects/ChannelClosingTransaction.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ def to_json(self) -> Mapping[str, Any]:
6969
"channel_closing_transaction_created_at": self.created_at.isoformat(),
7070
"channel_closing_transaction_updated_at": self.updated_at.isoformat(),
7171
"channel_closing_transaction_status": self.status.value,
72-
"channel_closing_transaction_resolved_at": self.resolved_at.isoformat(),
72+
"channel_closing_transaction_resolved_at": self.resolved_at.isoformat()
73+
if self.resolved_at
74+
else None,
7375
"channel_closing_transaction_amount": self.amount.to_json(),
7476
"channel_closing_transaction_transaction_hash": self.transaction_hash,
7577
"channel_closing_transaction_fees": self.fees.to_json()

lightspark/objects/ChannelOpeningTransaction.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ def to_json(self) -> Mapping[str, Any]:
6969
"channel_opening_transaction_created_at": self.created_at.isoformat(),
7070
"channel_opening_transaction_updated_at": self.updated_at.isoformat(),
7171
"channel_opening_transaction_status": self.status.value,
72-
"channel_opening_transaction_resolved_at": self.resolved_at.isoformat(),
72+
"channel_opening_transaction_resolved_at": self.resolved_at.isoformat()
73+
if self.resolved_at
74+
else None,
7375
"channel_opening_transaction_amount": self.amount.to_json(),
7476
"channel_opening_transaction_transaction_hash": self.transaction_hash,
7577
"channel_opening_transaction_fees": self.fees.to_json()

lightspark/objects/CreateApiTokenInput.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ class CreateApiTokenInput:
1919
def to_json(self) -> Mapping[str, Any]:
2020
return {
2121
"create_api_token_input_name": self.name,
22-
"create_api_token_input_permissions": [
23-
e.to_json() for e in self.permissions
24-
],
22+
"create_api_token_input_permissions": [e.value for e in self.permissions],
2523
}
2624

2725

lightspark/objects/CreateInvoiceInput.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ def to_json(self) -> Mapping[str, Any]:
2929
"create_invoice_input_node_id": self.node_id,
3030
"create_invoice_input_amount_msats": self.amount_msats,
3131
"create_invoice_input_memo": self.memo,
32-
"create_invoice_input_invoice_type": self.invoice_type.value,
32+
"create_invoice_input_invoice_type": self.invoice_type.value
33+
if self.invoice_type
34+
else None,
3335
"create_invoice_input_expiry_secs": self.expiry_secs,
3436
}
3537

lightspark/objects/CreateTestModeInvoiceInput.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ def to_json(self) -> Mapping[str, Any]:
2424
"create_test_mode_invoice_input_local_node_id": self.local_node_id,
2525
"create_test_mode_invoice_input_amount_msats": self.amount_msats,
2626
"create_test_mode_invoice_input_memo": self.memo,
27-
"create_test_mode_invoice_input_invoice_type": self.invoice_type.value,
27+
"create_test_mode_invoice_input_invoice_type": self.invoice_type.value
28+
if self.invoice_type
29+
else None,
2830
}
2931

3032

lightspark/objects/Deposit.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ def to_json(self) -> Mapping[str, Any]:
6969
"deposit_created_at": self.created_at.isoformat(),
7070
"deposit_updated_at": self.updated_at.isoformat(),
7171
"deposit_status": self.status.value,
72-
"deposit_resolved_at": self.resolved_at.isoformat(),
72+
"deposit_resolved_at": self.resolved_at.isoformat()
73+
if self.resolved_at
74+
else None,
7375
"deposit_amount": self.amount.to_json(),
7476
"deposit_transaction_hash": self.transaction_hash,
7577
"deposit_fees": self.fees.to_json() if self.fees else None,

lightspark/objects/IncomingPayment.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,9 @@ def to_json(self) -> Mapping[str, Any]:
122122
"incoming_payment_created_at": self.created_at.isoformat(),
123123
"incoming_payment_updated_at": self.updated_at.isoformat(),
124124
"incoming_payment_status": self.status.value,
125-
"incoming_payment_resolved_at": self.resolved_at.isoformat(),
125+
"incoming_payment_resolved_at": self.resolved_at.isoformat()
126+
if self.resolved_at
127+
else None,
126128
"incoming_payment_amount": self.amount.to_json(),
127129
"incoming_payment_transaction_hash": self.transaction_hash,
128130
"incoming_payment_destination": {"id": self.destination_id},

0 commit comments

Comments
 (0)