cmdb/cmdb-api/tests/test_cmdb_ci_realtion.py

40 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from .sample import init_ci_with_type, init_ci_type_relation, init_ci_relation
from api.lib.cmdb.ci import CIRelationManager
from api.models.cmdb import CIRelation, CIType, CI
def test_create_ci_relation(session, client):
init_ci_type_relation(1)
ci_types = CIType.query.all()
cis = init_ci_with_type(ci_types)
url = "/api/v0.1/ci_relations/{}/{}".format(cis[0]['ci_id'], cis[1]['ci_id'])
resp = client.post(url)
assert resp.status_code == 200
cr_id = resp.json['cr_id']
cr = CIRelation.get_by_id(cr_id)
assert cr is not None
def test_delte_ci_relation_by_ci_id(session, client):
cr_id = init_ci_relation()
cis = CI.query.all()
url = "/api/v0.1/ci_relations/{}/{}".format(cis[0].id, cis[1].id)
resp = client.delete(url)
assert resp.status_code == 200
cr = CIRelation.get_by_id(cr_id)
assert cr is None
def test_delete_ci_relation_by_id(session, client):
cr_id = init_ci_relation()
url = "/api/v0.1/ci_relations/{cr_id}".format(cr_id=cr_id)
resp = client.delete(url)
assert resp.status_code == 200
cr = CIRelation.get_by_id(cr_id)
assert cr is None