Exemple #1
0
 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)
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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']]
Exemple #5
0
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']]