testrailid 335300 Создание одной предсвязки по диапазону IMSI def crea

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
testrailid=335300
Создание одной предсвязки по диапазону IMSI
def create_prebinding(self, start_imsi, end_imsi, macr_id, alias, authorization, equipment_id, count=1,
start_msisdn=None, end_msisdn=None, number_class_id=None, comment="", free_months=1,
phone_number_type_id=Common.NUMBER_TYPE_FEDERAL, phone_number_purpose_id=None,
phone_number_state_ids=None, headers=None, pattern_msisdn=None):
"""Создание предсвязки.
[Keyword] OAPI: Создание предсвязок по диапазону IMSI (/urwin/tasks) TestRail: https://testrail.test.ru/testrail/index.php?/cases/view/924556
Args:
start_imsi: начальный IMSI диапазона.
end_imsi: конечный IMSI диапазона.
macr_id: макрорегион.
alias: псевдоним http-соединения.
authorization: данные для авторизации.
equipment_id: идентификатор коммутатора.
count: количество IMSI.
start_msisdn: начальный MSISDN.
end_msisdn: конечный MSISDN.
number_class_id: идентификатор класса MSISDN.
comment: комментарий.
free_months: количество месяцев.
phone_number_type_id: идентификатор типа MSISDN.
phone_number_purpose_id: идентификатор назначения MSISDN.
phone_number_state_ids: идентификатор или список идентификаторов состояний MSISDN.
headers: заголовки http-запроса.
pattern_msisdn: шаблон MSISDN.
Returns:
Информация о созданной предсвязке.
"""
master_switches = self.oapi_lib().get_equipment(macr_id=macr_id, is_master=True, alias=alias,
authorization=authorization)
if not master_switches:
master_equipment_id = None
else:
master_equipment_id = master_switches[0]['equipmentId']
api_headers = self.modify_default_headers(self.get_auth_header(authorization), headers)
if phone_number_state_ids is not None:
phone_number_state_ids = self.general_lib().wrap_in_list(phone_number_state_ids)
data = {
"taskTypeId": Common.TASK_TYPE_ID_PREBINDING,
"params": {
"count": count,
"macroRegionId": macr_id,
"masterEquipmentId": master_equipment_id,
"equipmentId": equipment_id,
"comment": comment,
"simcardRangeParams": {
"startIMSI": start_imsi,
"endIMSI": end_imsi
},
"phoneNumberRangeParams": {
"phoneNumberTypeId": phone_number_type_id,
"freeMonths": free_months,
"startMSISDN": start_msisdn,
"endMSISDN": end_msisdn,
"classesNumber": [{
"numberClassId": number_class_id,
"count": count
}],
"phoneNumberPurpose": {
"phoneNumberPurposeId": phone_number_purpose_id
},
"stateIds": phone_number_state_ids
}
}
}
self.general_lib().update_dict(data['params']['phoneNumberRangeParams'], "patternMSISDN", pattern_msisdn)
return self.oapi_lib().create_task(data=data, alias=alias, authorization=authorization, headers=api_headers)