Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion genesisgraph/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
An open standard for proving how things were made.
"""

__version__ = "0.2.0"
__version__ = "0.3.0"

from .validator import GenesisGraphValidator, validate
from .errors import (
Expand Down
4 changes: 2 additions & 2 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ def test_fallback_info_success(self, info_gg_file, capsys):

assert exc_info.value.code == 0
captured = capsys.readouterr()
assert '0.2.0' in captured.out
assert 'Spec version: 0.1.0' in captured.out # Check spec version from document
assert 'gg-ai-basic-v1' in captured.out

def test_fallback_version(self, capsys):
Expand All @@ -238,7 +238,7 @@ def test_fallback_version(self, capsys):
assert exc_info.value.code == 0
captured = capsys.readouterr()
assert 'GenesisGraph' in captured.out
assert '0.2.0' in captured.out
assert '0.3.0' in captured.out

def test_fallback_no_args(self, capsys):
"""Test fallback CLI with no arguments"""
Expand Down
16 changes: 10 additions & 6 deletions tests/test_did_web_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ def test_end_to_end_signature_verification_with_did_web(self, mock_http_response
did_document = {
"id": "did:web:hospital.example.com",
"verificationMethod": [{
"id": "did:web:hospital.example.com#signing-key",
"id": "did:web:hospital.example.com#keys-1",
"type": "Ed25519VerificationKey2020",
"controller": "did:web:hospital.example.com",
"publicKeyBase58": base58_encode(test_public_key)
Expand All @@ -164,13 +164,13 @@ def test_end_to_end_signature_verification_with_did_web(self, mock_http_response
# Mock ed25519 verification
with patch('genesisgraph.validator.ed25519') as mock_ed25519:
mock_verify = Mock()
mock_ed25519.VerifyingKey.from_bytes.return_value = mock_verify
mock_ed25519.Ed25519PublicKey.from_public_bytes.return_value = mock_verify

validator = GenesisGraphValidator(verify_signatures=True)

attestation = {
'signer': 'did:web:hospital.example.com',
'signature': base64.b64encode(b'fake_signature' * 8).decode(),
'signature': f'ed25519:{base64.b64encode(b"fake_signature" * 8).decode()}',
'timestamp': '2025-10-15T14:30:00Z'
}

Expand All @@ -181,15 +181,19 @@ def test_end_to_end_signature_verification_with_did_web(self, mock_http_response
'outputs': []
}

context = {'operation_id': 'op_test_001'}
context = 'Operation op_test_001'

# This should resolve did:web and attempt verification
validator._verify_signature(attestation, operation_data, context)
errors = validator._verify_signature(attestation, operation_data, context)

# Print errors for debugging
if errors:
print(f"Verification errors: {errors}")

# Verify DID was resolved
mock_get.assert_called_once()
# Verify ed25519 verification was attempted with correct key
mock_ed25519.VerifyingKey.from_bytes.assert_called_once_with(test_public_key)
mock_ed25519.Ed25519PublicKey.from_public_bytes.assert_called_once_with(test_public_key)

def test_multiple_verification_methods(self, mock_http_response, base58_encode):
"""Test DID document with multiple keys, selecting specific one"""
Expand Down
Loading