First partially working implementation
This commit is contained in:
48
ssb/tests/test_feed.py
Normal file
48
ssb/tests/test_feed.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from base64 import b64decode
|
||||
from collections import OrderedDict
|
||||
|
||||
import pytest
|
||||
|
||||
from ssb.keys import KeyPair, Message
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def keypair():
|
||||
secret = b64decode('Mz2qkNOP2K6upnqibWrR+z8pVUI1ReA1MLc7QMtF2qQ=')
|
||||
return KeyPair(secret)
|
||||
|
||||
|
||||
def test_keypair():
|
||||
secret = b64decode('Mz2qkNOP2K6upnqibWrR+z8pVUI1ReA1MLc7QMtF2qQ=')
|
||||
kp = KeyPair(secret)
|
||||
assert bytes(kp.private_key) == secret
|
||||
assert bytes(kp.public_key) == b64decode('I/4cyN/jPBbDsikbHzAEvmaYlaJK33lW3UhWjNXjyrU=')
|
||||
assert kp.tag == '@I/4cyN/jPBbDsikbHzAEvmaYlaJK33lW3UhWjNXjyrU=.ed25519'
|
||||
|
||||
|
||||
def test_message(keypair):
|
||||
m1 = Message(keypair, OrderedDict([
|
||||
('type', 'about'),
|
||||
('about', keypair.tag),
|
||||
('name', 'neo'),
|
||||
('description', 'The Chosen One')
|
||||
]), timestamp=1495706260190)
|
||||
assert m1.timestamp == 1495706260190
|
||||
assert m1.previous is None
|
||||
assert m1.sequence == 1
|
||||
assert m1.signature == \
|
||||
'lPsQ9P10OgeyH6u0unFgiI2wV/RQ7Q2x2ebxnXYCzsJ055TBMXphRADTKhOMS2EkUxXQ9k3amj5fnWPudGxwBQ==.sig.ed25519'
|
||||
assert m1.key == '%xRDqws/TrQmOd4aEwZ32jdLhP873ZKjIgHlggPR0eoo=.sha256'
|
||||
|
||||
m2 = Message(keypair, OrderedDict([
|
||||
('type', 'about'),
|
||||
('about', keypair.tag),
|
||||
('name', 'morpheus'),
|
||||
('description', 'Dude with big jaw')
|
||||
]), previous=m1, timestamp=1495706447426)
|
||||
assert m2.timestamp == 1495706447426
|
||||
assert m2.previous is m1
|
||||
assert m2.sequence == 2
|
||||
assert m2.signature == \
|
||||
'3SY85LX6/ppOfP4SbfwZbKfd6DccbLRiB13pwpzbSK0nU52OEJxOqcJ2Uensr6RkrWztWLIq90sNOn1zRAoOAw==.sig.ed25519'
|
||||
assert m2.key == '%nx13uks5GUwuKJC49PfYGMS/1pgGTtwwdWT7kbVaroM=.sha256'
|
17
ssb/tests/test_shs.py
Normal file
17
ssb/tests/test_shs.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import hashlib
|
||||
|
||||
import pytest
|
||||
from nacl.public import PrivateKey
|
||||
|
||||
from ssb.shs import SecretHandShake
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def appkey():
|
||||
return hashlib.sha256(b'app_key').digest()
|
||||
|
||||
|
||||
def test_client_challenge(appkey):
|
||||
pk = PrivateKey.generate()
|
||||
shs = SecretHandShake(pk, application_key=appkey)
|
||||
assert shs.client_challenge
|
Reference in New Issue
Block a user