mirror of
https://github.com/veops/cmdb.git
synced 2025-08-08 09:02:44 +08:00
前后端全面升级
This commit is contained in:
@@ -1,89 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from .sample import init_ci_types, fake_attr_value, init_ci
|
||||
from api.lib.cmdb.ci_type import CITypeAttributeManager, CITypeManager
|
||||
from api.lib.cmdb.ci import CIManager
|
||||
from api.models.cmdb import CI
|
||||
|
||||
|
||||
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']]
|
||||
|
||||
|
||||
def test_delete_ci(session, client):
|
||||
ci = init_ci(1)[0]
|
||||
ci_id = ci.get("ci_id")
|
||||
url = "/api/v0.1/ci/{}".format(ci_id)
|
||||
|
||||
resp = client.delete(url)
|
||||
|
||||
assert resp.status_code == 200
|
||||
|
||||
ci_from_db = CI.query.filter_by(id=ci_id).first()
|
||||
assert ci_from_db is None
|
||||
|
||||
|
||||
def test_get_ci_by_types(session, client):
|
||||
ci = init_ci(1)[0]
|
||||
ci_type = CITypeManager.get_ci_types(ci.get("ci_type"))[0]
|
||||
url = "/api/v0.1/ci/type/{}".format(ci_type["id"])
|
||||
|
||||
resp = client.get(url)
|
||||
assert resp.status_code == 200
|
||||
|
||||
assert resp.json['cis'][0]['ci_id'] == ci['ci_id']
|
||||
|
||||
|
||||
def test_get_ci_by_id(session, client):
|
||||
ci = init_ci(1)[0]
|
||||
url = "/api/v0.1/ci/{}".format(ci["ci_id"])
|
||||
|
||||
resp = client.get(url)
|
||||
assert resp.status_code == 200
|
||||
assert resp.json['ci_id'] == ci['ci_id']
|
||||
|
||||
|
||||
def test_get_ci_detail_by_id(session, client):
|
||||
ci = init_ci(1)[0]
|
||||
url = "/api/v0.1/ci/{}/detail".format(ci["ci_id"])
|
||||
|
||||
resp = client.get(url)
|
||||
assert resp.status_code == 200
|
||||
assert resp.json['id'] == ci['ci_id']
|
||||
|
||||
class TestCI:
|
||||
|
||||
def test_ci_search_only_type_query(self, app):
|
||||
with app.test_client() as c:
|
||||
rv = c.get('/api/v0.1/ci/s?q=_type:server', json={})
|
||||
json_data = rv.get_json()
|
||||
assert type(json_data.get("result")) is list
|
||||
|
Reference in New Issue
Block a user