Skip to content

Commit

Permalink
Merge pull request #64 from factomatic/fix-minor-issues
Browse files Browse the repository at this point in the history
Fix minor issues
  • Loading branch information
sanchopansa committed Mar 18, 2020
2 parents 502d4cd + 16fb3a6 commit 254d881
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 8 deletions.
2 changes: 1 addition & 1 deletion factom_did/client/did.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ def _get_did_document(self):
)

did_document = {
"didMethodVersion": DID_METHOD_SPEC_V020,
"didMethodVersion": self.spec_version,
"managementKey": management_keys,
}

Expand Down
2 changes: 1 addition & 1 deletion factom_did/client/keys/management.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def __init__(
alias, key_type, controller, priority_requirement, public_key, private_key
)

if priority < 0:
if isinstance(priority, int) is False or priority < 0:
raise ValueError("Priority must be a non-negative integer.")

self.priority = priority
Expand Down
8 changes: 6 additions & 2 deletions factom_did/client/keys/rsa.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,15 @@ def __repr__(self):

@property
def public_key(self):
return self.verifying_key.export_key(format="PEM", passphrase=None, pkcs=8)
return self.verifying_key.export_key()

@property
def private_key(self):
return self.signing_key.export_key() if self.signing_key is not None else None
return (
self.signing_key.export_key(format="PEM", passphrase=None, pkcs=8)
if self.signing_key is not None
else None
)

def sign(self, message, hash_f=SHA256.new):
"""
Expand Down
4 changes: 3 additions & 1 deletion factom_did/client/validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ def validate_service_endpoint(endpoint):


def validate_priority_requirement(priority_requirement):
if priority_requirement is not None and priority_requirement < 0:
if priority_requirement is not None and (
isinstance(priority_requirement, int) is False or priority_requirement < 0
):
raise ValueError("Priority requirement must be a non-negative integer.")


Expand Down
2 changes: 1 addition & 1 deletion tests/client/keys/test_did.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def test_invalid_controller_throws_exception(self, did):
did.did_key(alias, [DIDKeyPurpose.PublicKey], KeyType.EdDSA, controller)

def test_invalid_priority_requirement_throws_exception(self, did):
test_cases = [-1, -2]
test_cases = [-1, -2, 1.5, "one"]
for priority_requirement in test_cases:
did_key_alias = "did-key-{}".format(str(priority_requirement))
with pytest.raises(ValueError):
Expand Down
11 changes: 10 additions & 1 deletion tests/client/keys/test_management.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def test_invalid_alias_throws_exception(self, did):
did.management_key(alias, 1)

def test_invalid_priority_throws_exception(self, did):
test_cases = [-1, -2]
test_cases = [-1, -2, 1.5, "one"]
for priority in test_cases:
management_key_alias = "management-key-{}".format(str(priority))
with pytest.raises(ValueError):
Expand Down Expand Up @@ -112,6 +112,15 @@ def test_invalid_controller_throws_exception(self, did):
with pytest.raises(ValueError):
did.management_key(alias, 1, KeyType.EdDSA, controller)

def test_invalid_priority_requirement_throws_exception(self, did):
test_cases = [-1, -2, 1.5, "one"]
for priority_requirement in test_cases:
management_key_alias = "management-key-{}".format(str(priority_requirement))
with pytest.raises(ValueError):
did.management_key(
management_key_alias, 0, KeyType.EdDSA, None, priority_requirement
)

def test__repr__method(self, did):
management_key_alias = "management-key-1"
management_key_priority = 0
Expand Down
2 changes: 1 addition & 1 deletion tests/client/test_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def test_invalid_endpoint_throws_exception(self, did):
def test_invalid_priority_requirement_throws_exception(self, did):
service_type = "PhotoStreamService"
service_endpoint = "https://myphoto.com"
test_cases = [-1, -2]
test_cases = [-1, -2, 1.5, "one"]
for priority_requirement in test_cases:
service_alias = "service-{}".format(str(priority_requirement))
with pytest.raises(ValueError):
Expand Down

0 comments on commit 254d881

Please sign in to comment.