-
Notifications
You must be signed in to change notification settings - Fork 0
/
15.4.2.py
112 lines (76 loc) · 3.63 KB
/
15.4.2.py
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import json
with open('file_json.json', 'r') as js:
data = json.load(js)
error = []
var1 = r"http://"
var2 = r"https://"
#Проверка поля timestamp
if (isinstance(data[0]['timestamp'], int)):
True
else: error.append(f"Тип данных timestamp {type(data[0]['timestamp'])}")
#Проверка поля item_price
if (isinstance(data[0]['item_price'], int)):
True
else: error.append(f"Тип данных item_price {type(data[0]['item_price'])}")
#Проверка поля remoteHost
if (isinstance(data[0]['remoteHost'], str)):
True
else: error.append(f"Тип данных remoteHost {type(data[0]['remoteHost'])}")
#Проверка поля partyId
if (isinstance(data[0]['partyId'], str)):
True
else: error.append(f"Тип данных partyId {type(data[0]['partyId'])}")
#Проверка поля sessionId
if (isinstance(data[0]['sessionId'], str)):
True
else: error.append(f"Тип данных sessionId {type(data[0]['sessionId'])}")
#Проверка поля pageViewId
if (isinstance(data[0]['pageViewId'], str)):
True
else: error.append(f"Тип данных pageViewId {type(data[0]['pageViewId'])}")
#Проверка поля item_id
if (isinstance(data[0]['item_id'], str)):
True
else: error.append(f"Тип данных item_id {type(data[0]['item_id'])}")
#Проверка поля basket_price
if (isinstance(data[0]['basket_price'], str)):
True
else: error.append(f"Тип данных basket_price {type(data[0]['basket_price'])}")
#Проверка поля userAgentName
if (isinstance(data[0]['userAgentName'], str)):
True
else: error.append(f"Тип данных userAgentName {type(data[0]['userAgentName'])}")
#Проверка поля eventType
if (data[0]['eventType']) == 'itemBuyEvent' or 'itemViewEvent' :
True
else: error.append(f"В поле eventType должно содержаться только 2 значения: 'itemBuyEvent' or 'itemViewEvent' ")
#Проверка поля detectedDuplicate
if (isinstance(data[0]['detectedDuplicate'], bool)):
True
else: error.append(f"Тип данных detectedDuplicate {type(data[0]['detectedDuplicate'])}")
#Проверка поля detectedCorruption
if (isinstance(data[0]['detectedCorruption'], bool)):
True
else: error.append(f"Тип данных detectedCorruption {type(data[0]['detectedCorruption'])}")
#Проверка поля firstInSession
if (isinstance(data[0]['firstInSession'], bool)):
True
else: error.append(f"Тип данных firstInSession {type(data[0]['firstInSession'])}")
#Проверка поля referer 7 and 8
if (data[0]['referer']).find(var1, 0, 7) != -1 or (data[0]['referer']).find(var2, 0, 8) != -1:
True
elif (data[0]['referer']).find(var1, 0, 7) == -1:
error.append(r"Строка 'referer' должная начинаться с 'http://' или 'https://'")
#Проверка поля location 7 and 8
if (data[0]['location']).find(var1, 0, 7) != -1 or (data[0]['location']).find(var2, 0, 8) != -1:
True
elif (data[0]['location']).find(var1, 0, 7) == -1:
error.append(r"Строка 'location' должная начинаться с 'http://' или 'https://'")
#Проверка поля item_url 7 and 8
if (data[0]['item_url']).find(var1, 0, 7) != -1 or (data[0]['item_url']).find(var2, 0, 8) != -1:
True
elif (data[0]['item_url']).find(var1, 0, 7) == -1:
error.append(r"Строка 'item_url' должная начинаться с 'http://' или 'https://'")
if error == []:
print('Pass')
else: print(error)