11import pytest
22
3+ import datetime
4+
35from onfido import (
46 ApplicantBuilder ,
57 CountryCodes ,
8+ DeviceIntelligenceReport ,
69 DocumentReport ,
710 DocumentWithAddressInformationReport ,
11+ DocumentWithDrivingLicenceInformationReport ,
12+ DocumentPropertiesDrivingLicenceInformationItem ,
813 FacialSimilarityPhotoReport ,
914 LocationBuilder ,
1015 ReportName ,
1116 ReportStatus ,
1217)
18+
1319from tests .conftest import (
1420 create_applicant ,
1521 create_check ,
@@ -55,7 +61,7 @@ def test_schema_of_document_report_is_valid(onfido_api, applicant_id, document_i
5561 assert isinstance (document_report , DocumentReport )
5662
5763
58- def test_schema_of_facial_similarity_report_id_valid (
64+ def test_schema_of_facial_similarity_report_is_valid (
5965 onfido_api , applicant_id , document_id , live_photo_id
6066):
6167 facial_similarity_report_id = create_check (
@@ -72,7 +78,7 @@ def test_schema_of_facial_similarity_report_id_valid(
7278 assert facial_similarity_report .properties .score is None
7379
7480
75- def test_schema_of_document_with_address_information_report_id_valid (
81+ def test_schema_of_document_with_address_information_report_is_valid (
7682 onfido_api , applicant_id , document_id
7783):
7884 report_id = create_check (
@@ -88,3 +94,50 @@ def test_schema_of_document_with_address_information_report_id_valid(
8894
8995 assert isinstance (report , DocumentWithAddressInformationReport )
9096 assert report .properties .barcode [0 ].document_type == 'driving_licence'
97+
98+
99+ def test_schema_of_document_with_driving_licence_information_report_is_valid (
100+ onfido_api , applicant_id , document_id
101+ ):
102+ report_id = create_check (
103+ onfido_api ,
104+ applicant_id = applicant_id ,
105+ document_ids = [document_id ],
106+ report_names = [ReportName .DOCUMENT_WITH_DRIVING_LICENCE_INFORMATION ],
107+ ).report_ids [0 ]
108+
109+ report = repeat_request_until_status_changes (
110+ onfido_api .find_report , [report_id ], ReportStatus .COMPLETE
111+ )
112+
113+ assert isinstance (report , DocumentWithDrivingLicenceInformationReport )
114+
115+ assert DocumentPropertiesDrivingLicenceInformationItem (
116+ category = 'AM' ,
117+ obtainment_date = datetime .date (2013 , 1 , 19 ),
118+ expiry_date = datetime .date (2050 , 1 , 1 ),
119+ codes = '01' ) in report .properties .driving_licence_information
120+
121+
122+ def test_schema_of_device_intelligence_report_is_valid (
123+ onfido_api , applicant_id , document_id
124+ ):
125+ report_id = create_check (
126+ onfido_api ,
127+ applicant_id = applicant_id ,
128+ document_ids = [document_id ],
129+ report_names = [ReportName .DEVICE_INTELLIGENCE ],
130+ ).report_ids [0 ]
131+
132+ report = repeat_request_until_status_changes (
133+ onfido_api .find_report , [report_id ], ReportStatus .COMPLETE
134+ )
135+
136+ assert isinstance (report , DeviceIntelligenceReport )
137+
138+ assert report .name == ReportName .DEVICE_INTELLIGENCE
139+ assert report .status == ReportStatus .COMPLETE
140+
141+ assert report .breakdown is not None
142+ assert report .properties .device .ip_reputation == "NOT_ENOUGH_DATA"
143+ assert report .properties .device .raw_model == "SM-G991B"
0 commit comments