forked from singnet/snet-sdk-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Pavel Yagunov
committed
Jun 3, 2024
1 parent
5ed2365
commit daf22d1
Showing
1 changed file
with
85 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,98 +1,95 @@ | ||
from snet import sdk | ||
from snet.sdk.service_client import ServiceClient | ||
|
||
|
||
def verify_when_no_open_channel(service_client: ServiceClient): | ||
channels = service_client.load_open_channels() | ||
assert len(channels) == 0 | ||
|
||
|
||
def make_first_free_call(service_client: ServiceClient): | ||
result = service_client.call_rpc("mul", "Numbers", a=20, b=4) | ||
assert result.value == 80.0 | ||
|
||
|
||
def make_second_free_call(service_client: ServiceClient): | ||
result = service_client.call_rpc("mul", "Numbers", a=20, b=5) | ||
assert result.value == 100.0 | ||
|
||
|
||
def open_first_channel(service_client: ServiceClient): | ||
channel = service_client.open_channel(123456, 33333) | ||
assert channel.channel_id == 0 | ||
assert channel.state['nonce'] == 0 | ||
assert channel.state['last_signed_amount'] == 0 | ||
|
||
|
||
def first_call_to_service_after_opening_first_channel(service_client: ServiceClient): | ||
result = service_client.call_rpc("mul", "Numbers", a=20, b=3) | ||
assert result.value == 60.0 | ||
|
||
|
||
def verify_channel_state_after_opening_first_channel_and_first_call_to_service(service_client: ServiceClient): | ||
service_client.update_channel_states() | ||
channels = service_client.load_open_channels() | ||
assert channels[0].channel_id == 0 | ||
assert channels[0].state['nonce'] == 0 | ||
assert channels[0].state['last_signed_amount'] == 1000 | ||
|
||
import unittest | ||
|
||
def second_call_to_service_after_opening_first_channel(service_client: ServiceClient): | ||
result = service_client.call_rpc("mul", "Numbers", a=20, b=3) | ||
assert result.value == 60.0 | ||
|
||
|
||
def verify_channel_state_after_opening_first_channel_and_second_call_to_service(service_client: ServiceClient): | ||
service_client.update_channel_states() | ||
channels = service_client.load_open_channels() | ||
assert channels[0].channel_id == 0 | ||
assert channels[0].state['nonce'] == 0 | ||
assert channels[0].state['last_signed_amount'] == 2000 | ||
|
||
|
||
def open_second_channel(service_client: ServiceClient): | ||
channel = service_client.open_channel(1234321, 123456) | ||
assert channel.channel_id == 1 | ||
assert channel.state['nonce'] == 0 | ||
assert channel.state['last_signed_amount'] == 0 | ||
|
||
|
||
def verify_number_of_channel_after_opening_second_channel(service_client: ServiceClient): | ||
service_client.update_channel_states() | ||
channels = service_client.load_open_channels() | ||
assert channels[0].channel_id == 0 | ||
assert channels[0].state['nonce'] == 0 | ||
assert channels[0].state['last_signed_amount'] == 2000 | ||
assert channels[1].channel_id == 1 | ||
assert channels[1].state['nonce'] == 0 | ||
assert channels[1].state['last_signed_amount'] == 0 | ||
|
||
|
||
def first_call_to_service_after_opening_second_channel(service_client: ServiceClient): | ||
result = service_client.call_rpc("mul", "Numbers", a=20, b=3) | ||
assert result.value == 60.0 | ||
|
||
|
||
def verify_channel_state_after_opening_second_channel_and_first_call_to_service(service_client: ServiceClient): | ||
service_client.update_channel_states() | ||
channels = service_client.load_open_channels() | ||
assert channels[0].channel_id == 0 | ||
assert channels[0].state['nonce'] == 0 | ||
assert channels[0].state['last_signed_amount'] == 3000 | ||
assert channels[1].channel_id == 1 | ||
assert channels[1].state['nonce'] == 0 | ||
assert channels[1].state['last_signed_amount'] == 0 | ||
from snet import sdk | ||
|
||
|
||
def test_sdk(): | ||
class TestSDKClient(unittest.TestCase): | ||
def setUp(self): | ||
self.service_client = get_service_client() | ||
|
||
# TODO update/replace/remove tests that are commented out | ||
|
||
# def test_verify_when_no_open_channel(self): | ||
# channels = self.service_client.load_open_channels() | ||
# self.assertEqual(0, len(channels)) | ||
|
||
def test_make_first_free_call(self): | ||
result = self.service_client.call_rpc("mul", "Numbers", a=20, b=4) | ||
self.assertEqual(80.0, result.value) | ||
|
||
# def test_make_second_free_call(self): | ||
# result = self.service_client.call_rpc("mul", "Numbers", a=20, b=5) | ||
# self.assertEqual(100.0, result.value) | ||
|
||
# def test_open_first_channel(self): | ||
# channel = self.service_client.open_channel(123456, 33333) | ||
# self.assertEqual(0, channel.channel_id) | ||
# self.assertEqual(0, channel.state['nonce']) | ||
# self.assertEqual(0, channel.state['last_signed_amount']) | ||
|
||
# def test_first_call_to_service_after_opening_first_channel(self): | ||
# result = self.service_client.call_rpc("mul", "Numbers", a=20, b=3) | ||
# self.assertEqual(60.0, result.value) | ||
|
||
# def test_verify_channel_state_after_opening_first_channel_and_first_call_to_service(self): | ||
# self.service_client.update_channel_states() | ||
# channels = self.service_client.load_open_channels() | ||
# self.assertEqual(0, channels[0].channel_id) | ||
# self.assertEqual(0, channels[0].state['nonce']) | ||
# self.assertEqual(1000, channels[0].state['last_signed_amount']) | ||
|
||
# def test_second_call_to_service_after_opening_first_channel(self): | ||
# result = self.service_client.call_rpc("mul", "Numbers", a=20, b=3) | ||
# self.assertEqual(60.0, result.value) | ||
|
||
# def test_verify_channel_state_after_opening_first_channel_and_second_call_to_service(self): | ||
# self.service_client.update_channel_states() | ||
# channels = self.service_client.load_open_channels() | ||
# self.assertEqual(0, channels[0].channel_id) | ||
# self.assertEqual(0, channels[0].state['nonce']) | ||
# self.assertEqual(2000, channels[0].state['last_signed_amount']) | ||
|
||
# def test_open_second_channel(self): | ||
# channel = self.service_client.open_channel(1234321, 123456) | ||
# self.assertEqual(1, channel.channel_id) | ||
# self.assertEqual(0, channel.state['nonce']) | ||
# self.assertEqual(0, channel.state['last_signed_amount']) | ||
|
||
# def test_verify_number_of_channel_after_opening_second_channel(self): | ||
# self.service_client.update_channel_states() | ||
# channels = self.service_client.load_open_channels() | ||
# self.assertEqual(0, channels[0].channel_id) | ||
# self.assertEqual(0, channels[0].state['nonce']) | ||
# self.assertEqual(2000, channels[0].state['last_signed_amount']) | ||
# self.assertEqual(1, channels[1].channel_id) | ||
# self.assertEqual(0, channels[1].state['nonce']) | ||
# self.assertEqual(0, channels[1].state['last_signed_amount']) | ||
|
||
# def test_first_call_to_service_after_opening_second_channel(self): | ||
# result = self.service_client.call_rpc("mul", "Numbers", a=20, b=3) | ||
# self.assertEqual(60.0, result.value) | ||
|
||
# def test_verify_channel_state_after_opening_second_channel_and_first_call_to_service(self): | ||
# self.service_client.update_channel_states() | ||
# channels = self.service_client.load_open_channels() | ||
# self.assertEqual(0, channels[0].channel_id) | ||
# self.assertEqual(0, channels[0].state['nonce']) | ||
# self.assertEqual(3000, channels[0].state['last_signed_amount']) | ||
# self.assertEqual(1, channels[1].channel_id) | ||
# self.assertEqual(0, channels[1].state['nonce']) | ||
# self.assertEqual(0, channels[1].state['last_signed_amount']) | ||
|
||
|
||
def get_service_client(): | ||
org_id = "26072b8b6a0e448180f8c0e702ab6d2f" | ||
service_id = "Exampleservice" | ||
group_name="default_group" | ||
group_name = "default_group" | ||
|
||
# TODO remove test keys from repo | ||
config = { | ||
"private_key": "51ec611f164a078a13dba33e5afefcd62c8460545b2d48177a27443971482b4a", | ||
"eth_rpc_endpoint": "https://sepolia.infura.io/v3/09027f4a13e841d48dbfefc67e7685d5", | ||
"email":"[email protected]", | ||
"email": "[email protected]", | ||
# "free_call_auth_token-bin":"f5533eb0f01f0d45239c11b411bdfd4221fd3b125e4250db1f7bc044466108bc10ce95ab62ae224b6578b68d0ce337b4ec36e4b9dfbe6653e04973107813cbc01c", | ||
# "free-call-token-expiry-block":19690819, | ||
"concurrency": False, | ||
|
@@ -104,21 +101,8 @@ def test_sdk(): | |
|
||
snet_sdk = sdk.SnetSDK(config) | ||
service_client = snet_sdk.create_service_client(org_id, service_id, group_name) | ||
|
||
|
||
make_first_free_call(service_client) | ||
make_second_free_call(service_client) | ||
verify_when_no_open_channel(service_client) | ||
open_first_channel(service_client) | ||
first_call_to_service_after_opening_first_channel(service_client) | ||
verify_channel_state_after_opening_first_channel_and_first_call_to_service(service_client) | ||
second_call_to_service_after_opening_first_channel(service_client) | ||
verify_channel_state_after_opening_first_channel_and_second_call_to_service(service_client) | ||
open_second_channel(service_client) | ||
verify_number_of_channel_after_opening_second_channel(service_client) | ||
first_call_to_service_after_opening_second_channel(service_client) | ||
verify_channel_state_after_opening_second_channel_and_first_call_to_service(service_client) | ||
return service_client | ||
|
||
|
||
if __name__ == '__main__': | ||
test_sdk() | ||
unittest.main() |