def test_circular_dependencies(self): def generate_lookup(settings): lookup = defaultdict(lambda: defaultdict(dict)) for setting in settings: lookup[setting['type']][setting['id']] = setting return lookup settings1 = [ { 'contingent_default': [ {'condition': "{features.notsense}='true'", 'value': 'Yes'}, {'condition': "{features.sense}='true'", 'value': 'Yes'}, ], 'id': 'cc-login-images', 'type': 'properties', }, { 'contingent_default': [{'condition': "{properties.server-tether}='true'", 'value': 'Yes'}], 'id': 'sense', 'type': 'features', }, { 'contingent_default': [{'condition': "{properties.cc-login-images}='true'", 'value': 'Yes'}], 'id': 'server-tether', 'type': 'properties', }, ] self.assertTrue(circular_dependencies(settings1, generate_lookup(settings1))) self.assertFalse(circular_dependencies(get_custom_commcare_settings(), get_commcare_settings_lookup()))
def _test_profile(self, app): profile = app.create_profile() assert isinstance(profile, bytes), type(profile) assert "TÉST ÁPP" in profile.decode('utf-8') profile_xml = ET.fromstring(profile) types = { 'features': self._test_feature, 'properties': self._test_property, } for p_type, test_method in types.items(): for key, value in app.profile.get(p_type, {}).items(): setting = get_commcare_settings_lookup()[p_type][key] test_method(profile_xml, key, value, setting)
def _test_profile(self, app): profile = app.create_profile() assert isinstance(profile, bytes), type(profile) assert u"TÉST ÁPP" in profile.decode('utf-8') profile_xml = ET.fromstring(profile) types = { 'features': self._test_feature, 'properties': self._test_property, } for p_type, test_method in types.items(): for key, value in app.profile.get(p_type, {}).items(): setting = get_commcare_settings_lookup()[p_type][key] test_method(profile_xml, key, value, setting)
def test_circular_dependencies(self): def generate_lookup(settings): lookup = defaultdict(lambda: defaultdict(dict)) for setting in settings: lookup[setting['type']][setting['id']] = setting return lookup settings1 = [ { 'contingent_default': [ { 'condition': "{features.notsense}='true'", 'value': 'Yes' }, { 'condition': "{features.sense}='true'", 'value': 'Yes' }, ], 'id': 'cc-login-images', 'type': 'properties', }, { 'contingent_default': [{ 'condition': "{properties.server-tether}='true'", 'value': 'Yes' }], 'id': 'sense', 'type': 'features', }, { 'contingent_default': [{ 'condition': "{properties.cc-login-images}='true'", 'value': 'Yes' }], 'id': 'server-tether', 'type': 'properties', }, ] self.assertTrue( circular_dependencies(settings1, generate_lookup(settings1))) self.assertFalse( circular_dependencies(get_custom_commcare_settings(), get_commcare_settings_lookup()))