1+ import pytest
2+ from unittest .mock import patch , MagicMock
3+ from telesignenterprise .omniverify import OmniVerify
4+
5+ @pytest .fixture
6+ def omniverify ():
7+ customer_id = "FFFFFFFF-EEEE-DDDD-1234-AB1234567890"
8+ api_key = "EXAMPLE----TE8sTgg45yusumoN6BYsBVkh+yRJ5czgsnCehZaOYldPJdmFh6NeX8kunZ2zU1YWaUw/0wV6xfw=="
9+ return OmniVerify (customer_id , api_key )
10+
11+ def test_create_verification_process_success (omniverify ):
12+ phone_number = "11234567890"
13+ reference_id = "a" * 32
14+
15+ with patch .object (OmniVerify , 'post' ) as mock_post :
16+ mock_response = MagicMock ()
17+ mock_response .ok = True
18+ mock_response .json = {"reference_id" : reference_id }
19+ mock_post .return_value = mock_response
20+
21+ params = {"verification_policy" : [{"method" : "sms" }]}
22+ response = omniverify .createVerificationProcess (phone_number , params )
23+
24+ mock_post .assert_called_once ()
25+ called_url = mock_post .call_args [0 ][0 ]
26+ called_json = mock_post .call_args [1 ]['json_fields' ]
27+
28+ assert called_url == "/verification"
29+ assert "recipient" in called_json
30+ assert called_json ["recipient" ]["phone_number" ] == phone_number
31+ assert response .ok
32+ assert response .json ["reference_id" ] == reference_id
33+
34+ def test_get_verification_process_success (omniverify ):
35+ reference_id = "a" * 32
36+
37+ with patch .object (OmniVerify , 'get' ) as mock_get :
38+ mock_response = MagicMock ()
39+ mock_response .ok = True
40+ mock_response .json = {"status" : "completed" }
41+ mock_get .return_value = mock_response
42+
43+ response = omniverify .getVerificationProcess (reference_id )
44+
45+ mock_get .assert_called_once ()
46+ called_url = mock_get .call_args [0 ][0 ]
47+
48+ assert called_url == f"/verification/{ reference_id } "
49+ assert response .ok
50+ assert response .json ["status" ] == "completed"
51+
52+ def test_get_verification_process_invalid_reference_id (omniverify ):
53+ invalid_reference_id = "invalid_id"
54+
55+ with patch .object (OmniVerify , 'get' ) as mock_get :
56+ mock_response = MagicMock ()
57+ mock_response .ok = False
58+ mock_response .status_code = 400
59+ mock_response .json = {"status" : {"code" : 3400 , "description" : "Invalid reference_id format" }}
60+ mock_get .return_value = mock_response
61+
62+ response = omniverify .getVerificationProcess (invalid_reference_id )
63+
64+ mock_get .assert_called_once ()
65+ called_url = mock_get .call_args [0 ][0 ]
66+
67+ assert called_url == f"/verification/{ invalid_reference_id } "
68+ assert not response .ok
69+ assert response .status_code == 400
70+ assert response .json ["status" ]["code" ] == 3400
0 commit comments