44from yoti_python_sdk .dynamic_sharing_service .extension .location_constraint_extension_builder import (
55 LocationConstraintExtensionBuilder ,
66)
7+ import pytest
8+
9+
10+ @pytest .mark .parametrize ("longitude" , [270.00 , - 181 , "27.00" ])
11+ def test_longitude_validation_should_reject_invalid (longitude ):
12+ extension = LocationConstraintExtensionBuilder ()
13+ with pytest .raises (ValueError ):
14+ extension .with_longitude (longitude )
15+
16+
17+ @pytest .mark .parametrize ("longitude" , [180.0 , - 90 ])
18+ def test_longitude_vaidation_should_accept_valid (longitude ):
19+ extension = LocationConstraintExtensionBuilder ()
20+ extension .with_longitude (longitude )
21+
22+
23+ @pytest .mark .parametrize ("latitude" , [270.00 , - 181 , "27.00" , 91 , - 180 ])
24+ def test_latitude_validation_should_reject_invalid (latitude ):
25+ extension = LocationConstraintExtensionBuilder ()
26+ with pytest .raises (ValueError ):
27+ extension .with_latitude (latitude )
28+
29+
30+ @pytest .mark .parametrize ("latitude" , [18.0 , - 90 ])
31+ def test_latitude_validation_should_accept_valid (latitude ):
32+ extension = LocationConstraintExtensionBuilder ()
33+ extension .with_latitude (latitude )
34+
35+
36+ @pytest .mark .parametrize ("uncertainty" , [- 1 , - 0.01 , "3" ])
37+ def test_uncertainty_validation_should_reject_invalid (uncertainty ):
38+ extension = LocationConstraintExtensionBuilder ()
39+ with pytest .raises (ValueError ):
40+ extension .with_uncertainty (uncertainty )
41+
42+
43+ @pytest .mark .parametrize ("uncertainty" , [0 , 1 , 1e3 ])
44+ def test_uncertainty_validation_should_accept_valid (uncertainty ):
45+ extension = LocationConstraintExtensionBuilder ()
46+ extension .with_uncertainty (uncertainty )
47+
48+
49+ @pytest .mark .parametrize ("radius" , [- 1 , - 0.01 , "3" ])
50+ def test_radius_validation_should_reject_invalid (radius ):
51+ extension = LocationConstraintExtensionBuilder ()
52+ with pytest .raises (ValueError ):
53+ extension .with_radius (radius )
54+
55+
56+ @pytest .mark .parametrize ("radius" , [0 , 1 , 1e3 ])
57+ def test_radius_validation_should_accept_valid (radius ):
58+ extension = LocationConstraintExtensionBuilder ()
59+ extension .with_radius (radius )
760
861
962def test_builds_with_given_values ():
1063 LATITUDE = 50
11- LONGTITUDE = 99
64+ LONGITUDE = 99
1265 RADIUS = 60
1366 UNCERTAINTY = 30
1467
1568 extension = (
1669 LocationConstraintExtensionBuilder ()
1770 .with_latitude (LATITUDE )
18- .with_longtitude ( LONGTITUDE )
71+ .with_longitude ( LONGITUDE )
1972 .with_radius (RADIUS )
2073 .with_uncertainty (UNCERTAINTY )
2174 .build ()
@@ -24,6 +77,6 @@ def test_builds_with_given_values():
2477 device_location = extension ["content" ]["expected_device_location" ]
2578
2679 assert device_location ["latitude" ] == LATITUDE
27- assert device_location ["longtitude " ] == LONGTITUDE
80+ assert device_location ["longitude " ] == LONGITUDE
2881 assert device_location ["radius" ] == RADIUS
2982 assert device_location ["max_uncertainty_radius" ] == UNCERTAINTY
0 commit comments