def get(self, type_id=None, type_name=None): t = CITypeCache.get(type_id) or CITypeCache.get(type_name) or abort(404, "CIType does not exist") type_id = t.id unique_id = t.unique_id unique = AttributeCache.get(unique_id).name return self.jsonify(attributes=CITypeAttributeManager.get_attributes_by_type_id(type_id), type_id=type_id, unique_id=unique_id, unique=unique)
def init_ci_with_type(ci_types): force_add_user() cis = [] manager = CIManager() for ci_type in ci_types: attrs = CITypeAttributeManager.get_attributes_by_type_id(ci_type.id) ci_id = manager.add(ci_type.name, **fake_attr_value(attrs[0])) cis.append(manager.get_ci_by_id_from_db(ci_id)) return cis
def init_ci(num=1): # store ci need has user force_add_user() ci_type = init_ci_types(1)[0] attrs = CITypeAttributeManager.get_attributes_by_type_id(ci_type.id) manager = CIManager() result = [] for i in range(num): ci_id = manager.add(ci_type.name, **fake_attr_value(attrs[0])) result.append(manager.get_ci_by_id_from_db(ci_id)) return result
def test_create_ci(session, client): ci_type = init_ci_types(1)[0] attrs = CITypeAttributeManager.get_attributes_by_type_id(ci_type.id) url = "/api/v0.1/ci" fake_value = fake_attr_value(attrs[0]) payload = {"ci_type": ci_type.id, **fake_value} resp = client.post(url, json=payload) assert resp.status_code == 200 assert resp.json["ci_id"] ci_id = resp.json["ci_id"] ci = CIManager().get_ci_by_id_from_db(ci_id) assert ci[attrs[0]["name"]] == fake_value[attrs[0]['name']]
def test_update_ci(session, client): ci = init_ci(1)[0] ci_id = ci.get("ci_id") ci_type = CITypeManager.get_ci_types(ci.get("ci_type"))[0] attrs = CITypeAttributeManager.get_attributes_by_type_id(ci_type["id"]) url = "/api/v0.1/ci/{}".format(ci_id) fake_value = fake_attr_value(attrs[0]) payload = {**fake_value} resp = client.put(url, json=payload) assert resp.status_code == 200 assert resp.json["ci_id"] == ci_id ci = CIManager().get_ci_by_id_from_db(ci_id) assert ci[attrs[0]['name']] == fake_value[attrs[0]['name']]