域名解析记录集操作:增删改查详解
import pytest
import allure
import lib
# 模拟数据,实际情况需要根据您的测试数据进行修改
delete_pz_records_data = [
({'DeleteRecords': ['record_id_to_delete']}, 200, 'OK'),
]
create_pz_records_data = [
({'FromBaseInfo': {'Type': 'A', 'Line': 'default'}, 'CreateRecords': [{'Value': '1.1.1.1'}]}, 200, 'OK'),
]
update_pz_records_data = [
({'UpdateRecords': [{'RecordID': 'record_id_to_update', 'Value': '2.2.2.2'}]}, 200, 'OK'),
]
@allure.title('编辑解析记录集:删除记录')
@pytest.mark.executor('王永林')
@pytest.mark.tag('P0', 'domain_sync', 'volc')
@pytest.mark.parametrize('data,code,message', delete_pz_records_data)
def test_pz_delet_record(tr_client, data, code, message, pz_zone_module):
ZID = pz_zone_module.ZID
create, _ = PZRecord(client=tr_client, ZID=ZID).create()
Host = create.Host
RecordID = create.RecordID
Value = create.Value
Line = create.Line
frombaseinfo = {
'Host': Host,
'Type': create.Type,
'Line': create.Line,
'Value': create.Value,
}
if 'DeleteRecords' in data and data['DeleteRecords']:
delete_records = data['DeleteRecords']
else:
delete_records = [RecordID]
data['DeleteRecords'] = delete_records
_, resp = DomainZones(client=tr_client, ZID=ZID).batch_edit_records(FromBaseInfo=frombaseinfo, **data, assert_flag=False)
lib.top_or_tiagw_assert(tr_client, resp, code, message=message)
@allure.title('zone_sync_v2: 不存在的zone校验')
@pytest.mark.executor('luyilin')
@pytest.mark.tag('P0', 'zone_sync')
def test_zone_sync_v2_illegal_zone(tr_client):
params = {
'ZID': 123456,
'Zones': {
lib.get_uuid() + ' ' + str(123456): random_rr_v2()
}
}
zones, resp = DomainZones(client=tr_client, **params).sync_full_records(assert_flag=False)
assert lib.judge_code(resp, 400105), lib.response_message(resp)
@allure.title('PZ编辑解析记录集:创建记录')
@pytest.mark.executor('王永林')
@pytest.mark.tag('P0', 'domain')
@pytest.mark.parametrize('data,code,message', create_pz_records_data)
def test_pz_create_records(data, code, message, pz_zone_module, tr_client):
random_host = 'test-' + lib.get_uuid()
if 'FromBaseInfo' in data.keys() and 'Host' not in data['FromBaseInfo'].keys():
data['FromBaseInfo']['Host'] = random_host
created_host = random_host
kwargs = {
'ZID': pz_zone_module[0].ZID,
'ZoneName': pz_zone_module[0].ZoneName
}
_, resp = DomainZones(client=tr_client, **kwargs).batch_edit_records(**data, code=code, message=message)
lib.top_or_tiagw_assert(tr_client, resp, code)
@allure.title('PZ编辑解析记录集:更新记录')
@pytest.mark.executor('王永林')
@pytest.mark.tag('P0', 'domain_sync', 'volc')
@pytest.fixture(params=update_pz_records_data, ids=lambda d: str(d[0]))
def update_data(request):
return request.param
def test_pz_update_records(update_data, pz_zone_module, tr_client):
ZID = pz_zone_module[1]['Result']['ZID']
create, _ = PZRecord(client=tr_client, ZID=ZID).create()
Host = create.Host
RecordID = create.RecordID
Value = create.Value
Line = create.Line
record_ids = []
record_ids.append(RecordID)
data, code, message = update_data
update_records = data.get('UpdateRecords', [])
for record in update_records:
record['RecordID'] = record_ids[-1]
frombaseinfo = {
'Host': Host,
'Type': create.Type,
'Line': create.Line,
'Value': create.Value,
}
_, resp = DomainZones(client=tr_client, ZID=ZID).batch_edit_records(FromBaseInfo=frombaseinfo, **data, assert_flag=False)
lib.top_or_tiagw_assert(tr_client, resp, code, message=message)
原文地址: https://www.cveoy.top/t/topic/btHv 著作权归作者所有。请勿转载和采集!