aboutsummaryrefslogtreecommitdiff
path: root/tests/models/test_device.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/models/test_device.py')
-rw-r--r--tests/models/test_device.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/models/test_device.py b/tests/models/test_device.py
new file mode 100644
index 0000000..480e0c0
--- /dev/null
+++ b/tests/models/test_device.py
@@ -0,0 +1,27 @@
+import pytest
+
+iphone_ua_string = (
+ "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) "
+ "Version/5.1 Mobile/9B179 Safari/7534.48.3"
+)
+ipad_ua_string = (
+ "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, "
+ "like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10"
+)
+windows_ie_ua_string = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
+chromebook_ua_string = (
+ "Mozilla/5.0 (X11; CrOS i686 0.12.433) AppleWebKit/534.30 (KHTML, like Gecko) "
+ "Chrome/12.0.742.77 Safari/534.30"
+)
+
+
+class TestDeviceUA:
+ def test_device_ua(self):
+ from generalresearch.models import DeviceType
+ from generalresearch.models.device import parse_device_from_useragent
+
+ assert parse_device_from_useragent(iphone_ua_string) == DeviceType.MOBILE
+ assert parse_device_from_useragent(ipad_ua_string) == DeviceType.TABLET
+ assert parse_device_from_useragent(windows_ie_ua_string) == DeviceType.DESKTOP
+ assert parse_device_from_useragent(chromebook_ua_string) == DeviceType.DESKTOP
+ assert parse_device_from_useragent("greg bot") == DeviceType.UNKNOWN