Skip to content

Commit 6a30798

Browse files
feat: build_url_tech_floripa aceita solana_response e adiciona metadados; ajusta CertifiedBuilder e conftest para URL de validação mock
1 parent de28b54 commit 6a30798

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed
Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,25 @@
11
from config import config
22

3-
def build_url_tech_floripa(url_service_solona: str, validation_code: str, order_id: str) -> str:
3+
4+
def build_url_tech_floripa(solana_response: dict, validation_code: str, order_id: str) -> str:
45
try:
5-
txid_solana = url_service_solona.split('/')[-1]
6-
full_url = f"{config.TECH_FLORIPA_CERTIFICATE_VALIDATE_URL}?validate_code={validation_code}&hash={txid_solana}&order_id={order_id}"
6+
base_url = config.TECH_FLORIPA_CERTIFICATE_VALIDATE_URL
7+
8+
url_service_solona = solana_response.get("blockchain", {}).get("verificacao_url", "")
9+
registered_time = solana_response.get("certificado", {}).get("time", "")
10+
registered_uuid = solana_response.get("certificado", {}).get("uuid", "")
11+
registered_name = solana_response.get("certificado", {}).get("name", "")
12+
13+
txid_solana = url_service_solona.rsplit("/", 1)[-1] if url_service_solona else ""
14+
15+
full_url = (
16+
f"{base_url}?validate_code={validation_code}"
17+
f"&hash={txid_solana}"
18+
f"&order_id={order_id}"
19+
f"&registered_time={registered_time}"
20+
f"&registered_uuid={registered_uuid}"
21+
f"&registered_name={registered_name}"
22+
)
723
return full_url
824
except Exception as e:
925
raise ValueError(f"Error building Tech Floripa URL: {str(e)}")

certified_builder/certified_builder.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,9 @@ def build_certificates(self, participants: List[Participant]):
5757
"certificate_code": participant.formated_validation_code()
5858
}
5959
)
60-
# solana_response = {
61-
# "blockchain": {
62-
# "verificacao_url": "https://www.google.com"
63-
# }
64-
# }
65-
60+
6661
participant.authenticity_verification_url = build_url_tech_floripa(
67-
url_service_solona=solana_response.get("blockchain", {}).get("verificacao_url", ""),
62+
solana_response=solana_response,
6863
validation_code=participant.formated_validation_code(),
6964
order_id=participant.event.order_id
7065
)

tests/conftest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ class MockConfig:
2020
QUEUE_URL = "https://sqs.us-east-1.amazonaws.com/000000000000/test"
2121
SERVICE_URL_REGISTRATION_API_SOLANA = "https://example.test/solana/register"
2222
SERVICE_API_KEY_REGISTRATION_API_SOLANA = "test-api-key"
23-
TECH_FLORIPA_CERTIFICATE_VALIDATE_URL = "https://example.test/validate/certificate"
23+
# comentário: URL de validação mockada para o Tech Floripa usada nos testes
24+
TECH_FLORIPA_CERTIFICATE_VALIDATE_URL = "https://example.test/certificate-validate/"
2425

2526
# comentário: expõe tanto a classe quanto a instância, como o módulo real faria
2627
mock_module.Config = MockConfig

0 commit comments

Comments
 (0)