def test_targeting_query(self, version_query):
        """Call get_version_query if devices and versions are passed"""
        get_mobile_targeting_query()
        self.assertFalse(version_query.called)

        get_mobile_targeting_query(devices=MagicMock(), versions=MagicMock())
        self.assertTrue(version_query.called)
    def test_targeting_query(self, version_query):
        """Call get_version_query if devices and versions are passed"""
        get_mobile_targeting_query()
        self.assertFalse(version_query.called)

        get_mobile_targeting_query(devices=MagicMock(), versions=MagicMock())
        self.assertTrue(version_query.called)
 def test_android_detailed_targeting(self):
     """Assert output when targeting Android device and version"""
     os_str = 'Android'
     lookup_str = 'formFactor'
     devices = ['tablet']
     versions = ['4.4', '4.4']
     expected = ('($device.os = "Android" AND ' +
                 '($device.formFactor CONTAINS "tablet") AND ' +
                 '(($device.osVersion.major = 4 AND ' +
                 '$device.osVersion.minor = 4)))')
     output = get_mobile_targeting_query(os_str, lookup_str, devices,
                                         versions)
     self.assertEqual(output, expected)
 def test_ios_detailed_targeting(self):
     """Assert output when targeting iOS device and version"""
     os_str = 'iOS'
     lookup_str = 'modelName'
     devices = ['iPhone', 'iPad']
     versions = ['1.1', '']
     expected = ('($device.os = "iOS" AND ' +
                 '($device.modelName CONTAINS "iPhone" OR ' +
                 '$device.modelName CONTAINS "iPad") AND ' +
                 '(($device.osVersion.major >= 2) OR ' +
                 '($device.osVersion.major = 1 AND ' +
                 '$device.osVersion.minor >= 1)))')
     output = get_mobile_targeting_query(os_str, lookup_str, devices,
                                         versions)
     self.assertEqual(output, expected)
 def test_android_generic_targeting(self):
     """Assert output when targeting all Android"""
     os_str = 'Android'
     expected = '($device.os = "Android")'
     output = get_mobile_targeting_query(os_str)
     self.assertEqual(output, expected)
 def test_ios_generic_targeting(self):
     """Assert output when targeting all iOS"""
     os_str = 'iOS'
     expected = '($device.os = "iOS")'
     output = get_mobile_targeting_query(os_str)
     self.assertEqual(output, expected)