Added libs
This commit is contained in:
78
fspn/test.py
Normal file
78
fspn/test.py
Normal file
@@ -0,0 +1,78 @@
|
||||
import os, sys
|
||||
root_dir = os.path.normpath(__file__.split("libs")[0])
|
||||
sys.path.append(root_dir)
|
||||
|
||||
from libs.fspn.protocol.connection import Connection, EVENTS
|
||||
from libs.fspn.utils import sha256_util, aes_util, ecdh_util, ecdsa_util
|
||||
from libs.fspn.utils.wrapper_util import singleton, threaded
|
||||
import base64, time
|
||||
|
||||
class UserData:
|
||||
def __init__(self):
|
||||
self.proof_of_work = None
|
||||
|
||||
class Pmc:
|
||||
def __init__(self):
|
||||
self.verifying_key, self.signing_key = ecdsa_util.create_keys(base64.b64decode("I0x1Y2FzR2FicmllbFZhekRvc1NhbnRvc0luYWNpbyE="))
|
||||
|
||||
def get(self, user) -> UserData:
|
||||
user_data = UserData()
|
||||
user_data.proof_of_work = "eYnU*@"
|
||||
return user_data
|
||||
|
||||
# Returns a request_id. Callback receives str:request_id str:signature
|
||||
def sign(self, data, user, callback) -> str:
|
||||
self.send_callback("test", callback, data)
|
||||
return "test"
|
||||
|
||||
def send_callback(self, request_id, callback, data):
|
||||
signature = ecdsa_util.sign_message(data, self.signing_key)
|
||||
signature = base64.b64encode(signature).decode()
|
||||
callback(request_id, signature)
|
||||
|
||||
|
||||
class Test:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def test(self):
|
||||
pmc = Pmc()
|
||||
|
||||
c1 = Connection("A4DZSk+TlR+4w39MbiIAQbti+N0H1QlJEhRH2DI6Iubj", pmc)
|
||||
c2 = Connection("A4DZSk+TlR+4w39MbiIAQbti+N0H1QlJEhRH2DI6Iubj", pmc)
|
||||
|
||||
p1= 5676
|
||||
p2 = 5686
|
||||
c1.connect(("127.0.0.1", p1), ("127.0.0.1", p2))
|
||||
c2.connect(("127.0.0.1", p2), ("127.0.0.1", p1))
|
||||
|
||||
c1.subscribe_event(EVENTS.ON_MESSAGE, self.on_message_1)
|
||||
c2.subscribe_event(EVENTS.ON_MESSAGE, self.on_message_2)
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
c1.send_message("Testing", True)
|
||||
c1.send_binary(data=b"Test", meta={"test":"test"}, encrypted=True)
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
c1.close_connection()
|
||||
c2.close_connection()
|
||||
|
||||
def on_message_1(self, event):
|
||||
print("C1 got message: ",event.__dict__)
|
||||
|
||||
def on_message_2(self, event):
|
||||
print("C2 got message: ",event.__dict__)
|
||||
|
||||
import logging
|
||||
import sys
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.DEBUG,
|
||||
format='[%(levelname)s] %(asctime)s - %(message)s',
|
||||
stream=sys.stdout
|
||||
)
|
||||
|
||||
t = Test()
|
||||
t.test()
|
||||
Reference in New Issue
Block a user