diff --git a/_ucoinpy_test/documents/test_block.py b/_ucoinpy_test/documents/test_block.py index 7eb4431974531c39f516f868cedd8bbb9d39e17c..856c0c45f0bfd7d0cbe5f7da08305438311c951d 100644 --- a/_ucoinpy_test/documents/test_block.py +++ b/_ucoinpy_test/documents/test_block.py @@ -115,7 +115,7 @@ class Test_Block: assert len(block.certifications) == 12 assert block.transactions == [] - def test_to_raw_from_signed_raw(self): + def test_toraw_fromsignedraw(self): block = Block.from_signed_raw(raw_block) rendered_raw = block.signed_raw() from_rendered_raw = Block.from_signed_raw(rendered_raw) @@ -139,7 +139,7 @@ class Test_Block: assert from_rendered_raw.certifications == [] assert from_rendered_raw.transactions == [] - def test_to_raw_from_signed_raw_zero(self): + def test_toraw_fromrawzero(self): block = Block.from_signed_raw(raw_block_zero) rendered_raw = block.signed_raw() from_rendered_raw = block.from_signed_raw(rendered_raw) diff --git a/_ucoinpy_test/documents/test_certification.py b/_ucoinpy_test/documents/test_certification.py index e2cf72781c57bdd2552aadddcf3302b0eb828d6f..5f0f90d1c3c431d641fcc866f7ee0e24dcb87dba 100644 --- a/_ucoinpy_test/documents/test_certification.py +++ b/_ucoinpy_test/documents/test_certification.py @@ -58,6 +58,3 @@ class Test_SelfCertification: assert cert.blocknumber == 0 assert cert.blockhash == blockhash assert cert.signatures[0] == "qn/XNJjaGIwfnR+wGrDME6YviCQbG+ywsQWnETlAsL6q7o3k1UhpR5ZTVY9dvejLKuC+1mUEXVTmH+8Ib55DBA==" - - - diff --git a/_ucoinpy_test/documents/test_membership.py b/_ucoinpy_test/documents/test_membership.py index 5cf246bbb4d48ef18e365dfa2af799b91e344501..ed4fdd7bbb045d83a8400fc8b379e0979a61535b 100644 --- a/_ucoinpy_test/documents/test_membership.py +++ b/_ucoinpy_test/documents/test_membership.py @@ -43,3 +43,17 @@ class Test_Membership: assert membership.uid == "cgeek" assert membership.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg==" assert membership.membership_type == 'IN' + + def test_fromraw_toraw(self): + membership = Membership.from_signed_raw(membership_raw) + rendered_membership = membership.signed_raw() + from_rendered_membership = Membership.from_signed_raw(rendered_membership) + assert from_rendered_membership.issuer == "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk" + assert from_rendered_membership.block_number == 0 + assert from_rendered_membership.block_hash == "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709" + assert from_rendered_membership.cert_ts == 1416335620 + assert from_rendered_membership.uid == "cgeek" + assert from_rendered_membership.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg==" + assert from_rendered_membership.membership_type == 'IN' + + diff --git a/_ucoinpy_test/documents/test_peer.py b/_ucoinpy_test/documents/test_peer.py index b9e62385163472a26cc078f2e13a5daafa8ba986..7461fbf172fb5b1dc5d5eff0378a2575c69cf219 100644 --- a/_ucoinpy_test/documents/test_peer.py +++ b/_ucoinpy_test/documents/test_peer.py @@ -43,3 +43,29 @@ class TestPeer: assert peer.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg==" + def test_fromraw_toraw(self): + peer = Peer.from_signed_raw(rawpeer) + rendered_peer = peer.signed_raw() + from_rendered_peer = Peer.from_signed_raw(rendered_peer) + + assert from_rendered_peer.currency == "beta_brousouf" + assert from_rendered_peer.pubkey == "HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY" + assert from_rendered_peer.blockid == "8-1922C324ABC4AF7EF7656734A31F5197888DDD52" + assert len(from_rendered_peer.endpoints) == 3 + assert type(from_rendered_peer.endpoints[0]) is BMAEndpoint + assert type(from_rendered_peer.endpoints[1]) is BMAEndpoint + assert type(from_rendered_peer.endpoints[2]) is UnknownEndpoint + + assert from_rendered_peer.endpoints[0].server == "some.dns.name" + assert from_rendered_peer.endpoints[0].ipv4 == "88.77.66.55" + assert from_rendered_peer.endpoints[0].ipv6 == "2001:0db8:0000:85a3:0000:0000:ac1f" + assert from_rendered_peer.endpoints[0].port == 9001 + + assert from_rendered_peer.endpoints[1].server == "some.dns.name" + assert from_rendered_peer.endpoints[1].ipv4 == "88.77.66.55" + assert from_rendered_peer.endpoints[1].ipv6 == "2001:0db8:0000:85a3:0000:0000:ac1f" + assert from_rendered_peer.endpoints[1].port == 9002 + + assert from_rendered_peer.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg==" + + diff --git a/_ucoinpy_test/documents/test_status.py b/_ucoinpy_test/documents/test_status.py index 2e85e07847f3e1a3f10030122a27d7a65156872a..912db761c0b538420de82c89fba8970c816b8c42 100644 --- a/_ucoinpy_test/documents/test_status.py +++ b/_ucoinpy_test/documents/test_status.py @@ -26,3 +26,13 @@ class Test_Status: assert status.recipient == "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU" assert status.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg==" + def test_fromraw_toraw(self): + status = Status.from_signed_raw(raw_status) + rendered_status = status.signed_raw() + from_rendered_status = Status.from_signed_raw(rendered_status) + assert from_rendered_status.status == 'UP' + assert from_rendered_status.blockid == "8-1922C324ABC4AF7EF7656734A31F5197888DDD52" + assert from_rendered_status.sender == "HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY" + assert from_rendered_status.recipient == "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU" + assert from_rendered_status.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg==" + diff --git a/ucoinpy/documents/membership.py b/ucoinpy/documents/membership.py index 7dae36ca29931d188cf96bdb20ca61d2c28ea7b8..3f142a7f00147424641f6ca65a91b73ae2dc38f9 100644 --- a/ucoinpy/documents/membership.py +++ b/ucoinpy/documents/membership.py @@ -100,15 +100,15 @@ class Membership(Document): membership_type, uid, cert_ts, signature) def raw(self): - return """ -Version: {0} + return """Version: {0} Type: Membership Currency: {1} Issuer: {2} Block: {3}-{4} Membership: {5} UserID: {6} -CertTS: {7}""".format(self.version, +CertTS: {7} +""".format(self.version, self.currency, self.issuer, self.block_number, self.block_hash, diff --git a/ucoinpy/documents/peer.py b/ucoinpy/documents/peer.py index 50eb939a72a953ae820e03abe0035d681bc04ea1..1148785aaf6256d6865bd122ee7bdab05ece09ba 100644 --- a/ucoinpy/documents/peer.py +++ b/ucoinpy/documents/peer.py @@ -74,8 +74,7 @@ class Peer(Document): return cls(version, currency, pubkey, blockid, endpoints, signature) def raw(self): - doc = """ -Version: {0} + doc = """Version: {0} Type: Peer Currency: {1} PublicKey: {2} @@ -116,6 +115,12 @@ class UnknownEndpoint(Endpoint): properties = inline.split()[1:] return cls(api, properties) + def inline(self): + doc = self.api + for p in self.properties: + doc += " {0}".format(p) + return doc + class BMAEndpoint(Endpoint): re_inline = re.compile('^BASIC_MERKLED_API(?: ([a-z_][a-z0-9-_.]+))?(?: ([0-9.]+))?(?: ([0-9a-f:]+))?(?: ([0-9]+))$') diff --git a/ucoinpy/documents/status.py b/ucoinpy/documents/status.py index 21df9013d33538a6422f00eee271983e8cf3473e..5b25bfae0e826d84d678a3676281e2b9f2185b09 100644 --- a/ucoinpy/documents/status.py +++ b/ucoinpy/documents/status.py @@ -73,8 +73,7 @@ class Status(Document): sender, recipient, signature) def raw(self): - return ''' -Version: {0} + return '''Version: {0} Type: Status Currency: {1} Status: {2}