def test_add_get_remove(self): """bibknowledge - test creating a kb, adding a mapping, removing it, removing kb""" from invenio_knowledge.api import add_kb, get_kb_name, \ kb_mapping_exists, remove_kb_mapping, delete_kb, kb_exists, \ add_kb_mapping new_kb_id = add_kb() new_name = get_kb_name(new_kb_id) add_kb_mapping(new_name, "foobar", "barfoo") fbexists = kb_mapping_exists(new_name, "foobar") self.assertEqual(True, fbexists) remove_kb_mapping(new_name, "foobar") fbexists = kb_mapping_exists(new_name, "foobar") self.assertEqual(False, fbexists) delete_kb(new_name) still_there = kb_exists(new_name) self.assertEqual(False, still_there)
def check_keys(kb_name, list_of_keys): """Check the KB if any of the keys exists.""" for key in list_of_keys: if kb_mapping_exists(kb_name, key): return True return False
def get_value(kb_name, list_of_keys): """Get the value registered with at least one of the keys.""" for key in list_of_keys: if kb_mapping_exists(kb_name, key): return get_kb_mappings(kb_name=kb_name, key=key)[0].get("value")