HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
ftest_DBTask.py
Go to the documentation of this file.
1 '''
2 @package: dc
3 @author scorp
4 @link: http://hierarchical-cluster-engine.com/
5 @copyright: Copyright © 2013-2014 IOIX Ukraine
6 @license: http://hierarchical-cluster-engine.com/license/
7 @since: 0.1
8 '''
9 import ppath
10 
11 import threading
12 import base64
13 import time
14 import unittest
15 import os
16 import sys
17 import dtm.EventObjects
18 import dc.EventObjects
19 import dc.Constants
20 import dbi.EventObjects
21 import ConfigParser
22 import hashlib
23 import dc_db.Constants
24 import sqlite3
25 import MySQLdb.cursors
26 import MySQLdb as mdb
27 try:
28  import cPickle as pickle
29 except ImportError:
30  import pickle
31 from dc.Constants import EVENT_TYPES
32 from app.Utils import PathMaker
33 from contextlib import closing
34 
35 
36 CMD_SNEW1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
37  "<../hce/ftests/db-task-data/site_new1.dat")
38 CMD_SNEW2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
39  "<../hce/ftests/db-task-data/site_new2.dat")
40 CMD_SSTATUS1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
41  "<../hce/ftests/db-task-data/site_status1.dat")
42 CMD_SSTATUS2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
43  "<../hce/ftests/db-task-data/site_status2.dat")
44 CMD_SUPDATE2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
45  "<../hce/ftests/db-task-data/site_update2.dat")
46 CMD_SDELETE1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
47  "<../hce/ftests/db-task-data/site_delete1.dat")
48 CMD_SCLEANUP2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
49  "<../hce/ftests/db-task-data/site_cleanup2.dat")
50 
51 
52 CMD_USITE_NEW1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
53  "<../hce/ftests/db-task-data/url_site_new1.dat")
54 CMD_USITE_NEW2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
55  "<../hce/ftests/db-task-data/url_site_new2.dat")
56 CMD_UNEW1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
57  "<../hce/ftests/db-task-data/url_new1.dat")
58 CMD_USTATUS1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
59  "<../hce/ftests/db-task-data/url_status1.dat")
60 CMD_USTATUS2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
61  "<../hce/ftests/db-task-data/url_status2.dat")
62 CMD_UFETCH1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
63  "<../hce/ftests/db-task-data/url_fetch1.dat")
64 CMD_UFETCH2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
65  "<../hce/ftests/db-task-data/url_fetch2.dat")
66 CMD_UNEW2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
67  "<../hce/ftests/db-task-data/url_new2.dat")
68 CMD_UNEW3 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
69  "<../hce/ftests/db-task-data/url_new3.dat")
70 CMD_USTATUS2_3 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
71  "<../hce/ftests/db-task-data/url_status2-3.dat")
72 CMD_UFETCH1_2_3 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
73  "<../hce/ftests/db-task-data/url_fetch1-2-3.dat")
74 CMD_UUPDATE2_3_4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
75  "<../hce/ftests/db-task-data/url_update2-3-4.dat")
76 CMD_UCONTENT1_4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
77  "<../hce/ftests/db-task-data/url_content1-4.dat")
78 CMD_UDELETE1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
79  "<../hce/ftests/db-task-data/url_delete1.dat")
80 CMD_UDELETE4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
81  "<../hce/ftests/db-task-data/url_delete4.dat")
82 CMD_UCLEANUP1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
83  "<../hce/ftests/db-task-data/url_cleanup1.dat")
84 CMD_UCLEANUP2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
85  "<../hce/ftests/db-task-data/url_cleanup2.dat")
86 CMD_UFETCH2_3_4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
87  "<../hce/ftests/db-task-data/url_fetch2-3-4.dat")
88 CMD_USTATUS2_3_4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
89  "<../hce/ftests/db-task-data/url_status2-3-4.dat")
90 
91 CMD_USITE_NEW5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
92  "<../hce/ftests/db-task-data/site_new5.dat")
93 CMD_UNEW5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
94  "<../hce/ftests/db-task-data/url_new5.dat")
95 CMD_UCONTENT5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
96  "<../hce/ftests/db-task-data/url_content5.dat")
97 CMD_UCONTENT5_EXT = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
98  "<../hce/ftests/db-task-data/url_content5_ext.dat")
99 CMD_UCONTENT5_DYN = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
100  "<../hce/ftests/db-task-data/url_content5_dyn.dat")
101 
102 CMD_SNEW_INTEL = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
103  "<../hce/ftests/db-task-data/site_new_intel.dat")
104 CMD_UNEW_INTEL = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
105  "<../hce/ftests/db-task-data/url_new_intel.dat")
106 CMD_UNEW_INTEL1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
107  "<../hce/ftests/db-task-data/url_new_intel1.dat")
108 
109 CMD_UDEL_CRITERIONS_DEL = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
110  "<../hce/ftests/db-task-data/url_del_criterions_del.dat")
111 CMD_UDEL_CRITERIONS_FETCH = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
112  "<../hce/ftests/db-task-data/url_del_criterions_fetch.dat")
113 CMD_UCLEANUP_CRITERIONS = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
114  "<../hce/ftests/db-task-data/url_cleanup_criterions.dat")
115 
116 CMD_SDELETE_BAD = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
117  "<../hce/ftests/db-task-data/site_delete_bad.dat")
118 
119 CMD_SUPDATE_CRITERIONS = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
120  "<../hce/ftests/db-task-data/site_update_criterions.dat")
121 CMD_SSTATUS_CRITERIONS = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
122  "<../hce/ftests/db-task-data/site_status_criterions.dat")
123 
124 CMD_SNEW_44 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
125  "<../hce/ftests/db-task-data/site_new44.dat")
126 CMD_SNEW_55 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
127  "<../hce/ftests/db-task-data/site_new55.dat")
128 CMD_SUPDATE_5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
129  "<../hce/ftests/db-task-data/site_update5.dat")
130 
131 CMD_UCONTENT_DBFIELDS = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
132  "<../hce/ftests/db-task-data/url_content_dbfields.dat")
133 
134 
135 CMD_SQLCUSTOM_BAD1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
136  "<../hce/ftests/db-task-data/sql_custom_bad1.dat")
137 CMD_SQLCUSTOM_BAD2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
138  "<../hce/ftests/db-task-data/sql_custom_bad2.dat")
139 CMD_SQLCUSTOM_OK = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
140  "<../hce/ftests/db-task-data/sql_custom_ok.dat")
141 CMD_SINTEL_UPDATE_OK = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
142  "<../hce/ftests/db-task-data/site_intel1_update.dat")
143 
144 CMD_SSTATUS_TMP_OK = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
145  "<../hce/ftests/db-task-data/site_status_tmp.dat")
146 CMD_SITE_FIND_OK = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
147  "<../hce/ftests/db-task-data/site_find.dat")
148 
149 
150 CMD_SDELETE_DELAY5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
151  "<../hce/ftests/db-task-data/site_delete_delay5.dat")
152 CMD_SCLEANUP_DELAY_INTEL1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
153  "<../hce/ftests/db-task-data/site_cleanup_delay_intel1.dat")
154 CMD_UDELETE_DELAY1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
155  "<../hce/ftests/db-task-data/url_delete_delay1.dat")
156 CMD_UCLEANUP_DELAY44 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
157  "<../hce/ftests/db-task-data/url_cleanup_delay44.dat")
158 CMD_UNEW_DELAY10 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
159  "<../hce/ftests/db-task-data/url_new_delay10.dat")
160 CMD_UNEW_DELAY11 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
161  "<../hce/ftests/db-task-data/url_new_delay11.dat")
162 CMD_UNEW_DELAY40 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
163  "<../hce/ftests/db-task-data/url_new_delay40.dat")
164 CMD_UNEW_DELAY41 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
165  "<../hce/ftests/db-task-data/url_new_delay41.dat")
166 CMD_UNEW_DELAY_A1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
167  "<../hce/ftests/db-task-data/url_new_delay_a1.dat")
168 CMD_UNEW_DELAY_A2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
169  "<../hce/ftests/db-task-data/url_new_delay_a2.dat")
170 CMD_UPURGE_GROUP = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
171  "<../hce/ftests/db-task-data/url_purge_group.dat")
172 CMD_UPURGE_SELECT_SITE = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
173  "<../hce/ftests/db-task-data/url_purge_select_site.dat")
174 
175 CMD_UNEW_DELAY_TEST1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
176  "<../hce/ftests/db-task-data/url_new_dtest1.dat")
177 CMD_UNEW_DELAY_TEST2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
178  "<../hce/ftests/db-task-data/url_new_dtest2.dat")
179 CMD_UNEW_DELAY_TEST3 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
180  "<../hce/ftests/db-task-data/url_new_dtest3.dat")
181 CMD_UNEW_DELAY_TEST4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
182  "<../hce/ftests/db-task-data/url_new_dtest4.dat")
183 CMD_UNEW_DELAY_TEST5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
184  "<../hce/ftests/db-task-data/url_new_dtest5.dat")
185 CMD_UNEW_DELAY_TEST6 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
186  "<../hce/ftests/db-task-data/url_new_dtest6.dat")
187 CMD_UNEW_DELAY_TEST7 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
188  "<../hce/ftests/db-task-data/url_new_dtest7.dat")
189 CMD_UNEW_DELAY_TEST8 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
190  "<../hce/ftests/db-task-data/url_new_dtest8.dat")
191 CMD_SCLEANUP_DTEST1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
192  "<../hce/ftests/db-task-data/site_cleanup_dtest1.dat")
193 CMD_SCLEANUP_DTEST2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
194  "<../hce/ftests/db-task-data/site_cleanup_dtest2.dat")
195 CMD_SCLEANUP_DTEST3 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
196  "<../hce/ftests/db-task-data/site_cleanup_dtest3.dat")
197 CMD_SCLEANUP_DTEST4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
198  "<../hce/ftests/db-task-data/site_cleanup_dtest4.dat")
199 CMD_SCLEANUP_DTEST5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
200  "<../hce/ftests/db-task-data/site_cleanup_dtest5.dat")
201 CMD_SCLEANUP_DTEST6 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
202  "<../hce/ftests/db-task-data/site_cleanup_dtest6.dat")
203 CMD_SCLEANUP_DTEST7 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
204  "<../hce/ftests/db-task-data/site_cleanup_dtest7.dat")
205 CMD_SCLEANUP_DTEST8 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
206  "<../hce/ftests/db-task-data/site_cleanup_dtest8.dat")
207 CMD_SDELETE_DTEST1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
208  "<../hce/ftests/db-task-data/site_delete_dtest1.dat")
209 CMD_SDELETE_DTEST2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
210  "<../hce/ftests/db-task-data/site_delete_dtest2.dat")
211 CMD_UNEW_DELAY_TEST1A = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
212  "<../hce/ftests/db-task-data/url_new_dtest1a.dat")
213 CMD_UNEW_DELAY_TEST2A = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
214  "<../hce/ftests/db-task-data/url_new_dtest2a.dat")
215 
216 CMD_UPURGE3 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
217  "<../hce/ftests/db-task-data/url_purge3.dat")
218 CMD_UPURGE4 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
219  "<../hce/ftests/db-task-data/url_purge4.dat")
220 
221 CMD_SRECALCULATE = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
222  "<../hce/ftests/db-task-data/site_field_recalculator.dat")
223 
224 CMD_UNEW_VERIFY = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
225  "<../hce/ftests/db-task-data/url_new_verify.dat")
226 CMD_UNEW_VERIFY2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
227  "<../hce/ftests/db-task-data/url_new_verify2.dat")
228 CMD_UVERIFY = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
229  "<../hce/ftests/db-task-data/url_verify.dat")
230 CMD_UNEW_UPDATE5 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
231  "<../hce/ftests/db-task-data/url_new_update5.dat")
232 
233 CMD_SRECALCULATE_ADD = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
234  "<../hce/ftests/db-task-data/site_field_recalculator_add.dat")
235 CMD_SRECALCULATE_ADD1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
236  "<../hce/ftests/db-task-data/site_field_recalculator_add1.dat")
237 
238 CMD_UNEW_AGE = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
239  "<../hce/ftests/db-task-data/url_new_age.dat")
240 CMD_UNEW_AGE1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
241  "<../hce/ftests/db-task-data/url_new_age1.dat")
242 CMD_UNEW_AGE2 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
243  "<../hce/ftests/db-task-data/url_new_age2.dat")
244 CMD_UAGE = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
245  "<../hce/ftests/db-task-data/url_age.dat")
246 
247 CMD_SNEW_CONTENT = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
248  "<../hce/ftests/db-task-data/site_new_content.dat")
249 CMD_CUSTOM_CONTENT = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
250  "<../hce/ftests/db-task-data/sql_custom_content.dat")
251 CMD_CUSTOM_CONTENT_INSERT = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
252  "<../hce/ftests/db-task-data/sql_custom_content_insert.dat")
253 CMD_UCONTENT_MYSQL = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
254  "<../hce/ftests/db-task-data/url_content_mysql.dat")
255 CMD_UNEW_PUT = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
256  "<../hce/ftests/db-task-data/url_new_put.dat")
257 CMD_UPUT = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
258  "<../hce/ftests/db-task-data/url_put.dat")
259 CMD_UPUT1 = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
260  "<../hce/ftests/db-task-data/url_put1.dat")
261 
262 
263 class Test(unittest.TestCase):
264 
265  CD_PATH = "../../bin"
266  CLASS_NAME = "TasksManager"
267  KEY_VALUE_STORAGE_DIR = "key_value_storage_dir"
268  RAW_DATA_DIR = "raw_data_dir"
269  mutex = threading.Lock()
270  contentType = dc_db.Constants.DB_DATA_MYSQL
271 
272 
273  def setUp(self):
274  self.url = None
275  self.siteId = None
276  self.urlMd5 = None
277 
278 
279  def tearDown(self):
280  pass
281 
282 
283  def execCommand(self, command, step):
284  obj = None
285  print ">>> Start = " + str(command)
286  fd = os.popen(command)
287  if fd:
288  localStr = fd.read()
289  fd.close()
290  print ">>> Finish = " + str(command)
291  try:
292  obj = pickle.loads(localStr)
293  except EOFError:
294  self.assertTrue(False, "Step%s >>> Invalid return data" % str(step))
295  else:
296  print ">>> Bad FD " + + str(command)
297  return obj
298 
299 
300  def checkSStep1(self, obj, step):
301  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
302  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
303  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
304  "Step%s >>> Bad return object type" % str(step))
305  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
306  "Step%s >>> Some Error in Return object" % str(step))
307 
308 
309  def checkSStep2(self, obj, step):
310  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
311  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
312  self.assertTrue(type(obj.eventObject) == dc.EventObjects.Site, "Step%s >>> Bad return objsct type" % str(step))
313  self.assertTrue(obj.eventObject.state == dc.EventObjects.Site.STATE_NOT_FOUND,
314  "Step%s >>> Wrong 'state' field value" % str(step))
315 
316 
317  def checkSStep3(self, obj, step):
318  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
319  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
320  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
321  "Step%s >>> Bad return object type" % str(step))
322  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
323  "Step%s >>> Some Error in Return object" % str(step))
324 
325 
326  def checkSStep4(self, obj, step):
327  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
328  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
329  self.assertTrue(type(obj.eventObject) == dc.EventObjects.Site, "Step%s >>> Bad return object type" % str(step))
330  self.assertTrue(obj.eventObject.state != dc.EventObjects.Site.STATE_NOT_FOUND,
331  "Step%s >>> Wrong 'state' field value" % str(step))
332  self.assertTrue(obj.eventObject.id == "z2", "Step%s >>> Wrong 'id' field value" % str(step))
333  self.assertTrue(obj.eventObject.state == 1, "Step%s >>> Wrong 'state' field value" % str(step))
334 
335 
336  def checkSStep5(self, obj, step):
337  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
338  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_UPDATE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
339  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
340  "Step%s >>> Bad return object type" % str(step))
341  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
342  "Step%s >>> Wrong 'errorCode' field value" % str(step))
343 
344 
345  def checkSStep6(self, obj, step):
346  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
347  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_DELETE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
348  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
349  "Step%s >>> Bad return object type" % str(step))
350 
351 
352  def checkSStep7(self, obj, step):
353  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
354  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
355  self.assertTrue(type(obj.eventObject) == dc.EventObjects.Site, "Step%s >>> Bad return object type" % str(step))
356  self.assertTrue(obj.eventObject.state == dc.EventObjects.Site.STATE_NOT_FOUND,
357  "Step%s >>> Wrong 'state' field value" % str(step))
358 
359 
360  def checkSStep8(self, obj, step):
361  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
362  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
363  self.assertTrue(type(obj.eventObject) == dc.EventObjects.Site, "Step%s >>> Bad return object type" % str(step))
364  self.assertTrue(obj.eventObject.state != dc.EventObjects.Site.STATE_NOT_FOUND,
365  "Step%s >>> Wrong 'state' field value" % str(step))
366  self.assertTrue(obj.eventObject.id == "z2", "Step%s >>> Wrong 'id' field value" % str(step))
367  self.assertTrue(obj.eventObject.state == 55, "Step%s >>> Wrong 'state' field value" % str(step))
368  self.assertTrue(type(obj.eventObject.uDate) == str, "Step%s >>> Wrong 'uDate' field type" % str(step))
369  self.assertTrue(type(obj.eventObject.tcDate) == str, "Step%s >>> Wrong 'tcDate' field type" % str(step))
370  self.assertTrue(type(obj.eventObject.cDate) == str, "Step%s >>> Wrong 'cDate' field type" % str(step))
371  self.assertTrue(type(obj.eventObject.recrawlDate) == str, "Step%s >>> Wrong 'recrawlDate' field type" % str(step))
372  self.assertTrue(type(obj.eventObject.description) == str, "Step%s >>> Wrong 'description' field type" % str(step))
373  self.assertTrue(obj.eventObject.description == '33', "Step%s >>> Wrong 'description' value" % str(step))
374 
375 
376  def checkSStep9(self, obj, step):
377  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
378  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_CLEANUP_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
379  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
380  "Step%s >>> Bad return object type" % str(step))
381  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
382  "Step%s >>> errorCode badvalue" % str(step))
383 
384 
385  def checkSStep10(self, obj, step):
386  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
387  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
388  self.assertTrue(type(obj.eventObject) == dc.EventObjects.Site, "Step%s >>> Bad return object type" % str(step))
389  self.assertTrue(obj.eventObject.state != dc.EventObjects.Site.STATE_NOT_FOUND,
390  "Step%s >>> Wrong 'state' field value" % str(step))
391  self.assertTrue(obj.eventObject.id == "z2", "Step%s >>> Wrong 'id' field value" % str(step))
392  self.assertTrue(obj.eventObject.state == dc.EventObjects.Site.STATE_ACTIVE,
393  "Step%s >>> Wrong 'state' field value" % str(step))
394  self.assertTrue(type(obj.eventObject.properties) == type([]),
395  "Step%s >>> Wrong 'properties' field type" % str(step))
396  self.assertTrue(type(obj.eventObject.filters) == type([]),
397  "Step%s >>> Wrong 'filters' field type" % str(step))
398  self.assertTrue(len(obj.eventObject.properties) == 2, "Step%s >>> Wrong 'properties' field size" % str(step))
399  self.assertTrue(type(obj.eventObject.properties[0]["cDate"]) == str,
400  "Step%s >>> Wrong 'properties[0][cDate]' field value" % str(step))
401  self.assertTrue(obj.eventObject.properties[0]["uDate"] == None,
402  "Step%s >>> Wrong 'properties[0][uDate]' field value" % str(step))
403  self.assertTrue(len(obj.eventObject.properties) == 2, "Step%s >>> Wrong 'properties' field size" % str(step))
404  self.assertTrue(len(obj.eventObject.filters) == 1, "Step%s >>> Wrong 'filters' field size" % str(step))
405 
406 
407  def checkUStep1(self, obj, step):
408  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
409  self.assertTrue(obj.eventType == EVENT_TYPES.URL_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
410  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
411  "Step%s >>> Bad return object type" % str(step))
412  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
413  "Step%s >>> GeneralResponse come error" % str(step))
414 
415 
416  def checkUStep2(self, obj, step):
417  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
418  self.assertTrue(obj.eventType == EVENT_TYPES.URL_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
419  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
420  self.assertTrue(len(obj.eventObject) == 1, "Step%s >>> Bad return object len" % str(step))
421  self.assertTrue(obj.eventObject[0].siteId == "z1", "Step%s >>> Bad return object [0].siteId value" % str(step))
422 
423 
424  def checkUStep3(self, obj, step):
425  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
426  self.assertTrue(obj.eventType == EVENT_TYPES.URL_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
427  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
428  self.assertTrue(len(obj.eventObject) == 0, "Step%s >>> Bad return object len" % str(step))
429 
430 
431  def checkUStep4(self, obj, step):
432  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
433  self.assertTrue(obj.eventType == EVENT_TYPES.URL_FETCH_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
434  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
435  self.assertTrue(len(obj.eventObject) == 1, "Step%s >>> Bad return object len" % str(step))
436  self.assertTrue(obj.eventObject[0].siteId == "z1", "Step%s >>> Bad return object [0].siteId value" % str(step))
437 
438 
439  def checkUStep5(self, obj, step):
440  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
441  self.assertTrue(obj.eventType == EVENT_TYPES.URL_FETCH_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
442  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
443  self.assertTrue(len(obj.eventObject) == 0, "Step%s >>> Bad return object len" % str(step))
444 
445 
446  def checkUStep6(self, obj, step):
447  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
448  self.assertTrue(obj.eventType == EVENT_TYPES.URL_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
449  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
450  "Step%s >>> Bad return object type" % str(step))
451  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
452  "Step%s >>> GeneralResponse come error" % str(step))
453 
454 
455  def checkUStep7(self, obj, step):
456  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
457  self.assertTrue(obj.eventType == EVENT_TYPES.URL_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
458  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
459  "Step%s >>> Bad return object type" % str(step))
460  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
461  "Step%s >>> GeneralResponse come error" % str(step))
462 
463 
464  def checkUStep8(self, obj, step):
465  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
466  self.assertTrue(obj.eventType == EVENT_TYPES.URL_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
467  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
468  self.assertTrue(len(obj.eventObject) == 2, "Step%s >>> Bad return object len" % str(step))
469  self.assertTrue(obj.eventObject[0].siteId == "z1", "Step%s >>> Bad return object[0].siteId value" % str(step))
470  self.assertTrue(obj.eventObject[0].url ==
471  "http://url2.com/", "Step%s >>> Bad return object[0].url value" % str(step))
472 
473  self.assertTrue(type(obj.eventObject[0].UDate) == str, "Step%s >>> Wrong 'UDate' field type" % str(step))
474  self.assertTrue(type(obj.eventObject[0].CDate) == str, "Step%s >>> Wrong 'CDate' field type" % str(step))
475  self.assertTrue(type(obj.eventObject[0].lastModified) == str,
476  "Step%s >>> Wrong 'lastModified' field type" % str(step))
477  self.assertTrue(obj.eventObject[0].tcDate == None, "Step%s >>> Wrong 'tcDate' field type" % str(step))
478 
479  self.assertTrue(obj.eventObject[1].siteId == "z2", "Step%s >>> Bad return object[1].siteId value" % str(step))
480  self.assertTrue(obj.eventObject[1].url ==
481  "http://url3.com/", "Step%s >>> Bad return object10].url value" % str(step))
482 
483  self.assertTrue(type(obj.eventObject[1].UDate) == str, "Step%s >>> Wrong 'UDate' field type" % str(step))
484  self.assertTrue(type(obj.eventObject[1].CDate) == str, "Step%s >>> Wrong 'CDate' field type" % str(step))
485  self.assertTrue(type(obj.eventObject[1].lastModified) == str,
486  "Step%s >>> Wrong 'lastModified' field type" % str(step))
487  self.assertTrue(obj.eventObject[1].tcDate == None, "Step%s >>> Wrong 'tcDate' field type" % str(step))
488 
489 
490  def checkUStep9(self, obj, step):
491  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
492  self.assertTrue(obj.eventType == EVENT_TYPES.URL_FETCH_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
493  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
494  self.assertTrue(len(obj.eventObject) == 3, "Step%s >>> Bad return object len" % str(step))
495  self.assertTrue(obj.eventObject[0].siteId == "z1", "Step%s >>> Bad return object[0].siteId value" % str(step))
496  self.assertTrue(obj.eventObject[0].url ==
497  "http://url1.com/", "Step%s >>> Bad return object[0].url value" % str(step))
498  self.assertTrue(obj.eventObject[0].UDate == None, "Step%s >>> Wrong 'UDate' field type" % str(step))
499  self.assertTrue(type(obj.eventObject[0].CDate) == str, "Step%s >>> Wrong 'CDate' field type" % str(step))
500  self.assertTrue(obj.eventObject[0].lastModified == None,
501  "Step%s >>> Wrong 'lastModified' field type" % str(step))
502  self.assertTrue(obj.eventObject[0].tcDate == None, "Step%s >>> Wrong 'tcDate' field type" % str(step))
503  self.assertTrue(obj.eventObject[1].siteId == "z1", "Step%s >>> Bad return object[1].siteId value" % str(step))
504  self.assertTrue(obj.eventObject[1].url ==
505  "http://url2.com/", "Step%s >>> Bad return object[1].url value" % str(step))
506  self.assertTrue(type(obj.eventObject[1].UDate) == str, "Step%s >>> Wrong 'UDate' field type" % str(step))
507  self.assertTrue(type(obj.eventObject[1].CDate) == str, "Step%s >>> Wrong 'CDate' field type" % str(step))
508  self.assertTrue(type(obj.eventObject[1].lastModified) == str,
509  "Step%s >>> Wrong 'lastModified' field type" % str(step))
510  self.assertTrue(obj.eventObject[1].tcDate == None, "Step%s >>> Wrong 'tcDate' field type" % str(step))
511  self.assertTrue(obj.eventObject[2].siteId == "z2", "Step%s >>> Bad return object[2].siteId value" % str(step))
512  self.assertTrue(obj.eventObject[2].url ==
513  "http://url3.com/", "Step%s >>> Bad return object[2].url value" % str(step))
514  self.assertTrue(type(obj.eventObject[2].UDate) == str, "Step%s >>> Wrong 'UDate' field type" % str(step))
515  self.assertTrue(type(obj.eventObject[2].CDate) == str, "Step%s >>> Wrong 'CDate' field type" % str(step))
516  self.assertTrue(type(obj.eventObject[2].lastModified) == str,
517  "Step%s >>> Wrong 'lastModified' field type" % str(step))
518  self.assertTrue(obj.eventObject[2].tcDate == None, "Step%s >>> Wrong 'tcDate' field type" % str(step))
519 
520 
521  def checkUStep10(self, obj, step):
522  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
523  self.assertTrue(obj.eventType == EVENT_TYPES.URL_UPDATE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
524  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
525  "Step%s >>> Bad return object type" % str(step))
526  self.assertTrue(len(obj.eventObject.statuses) == 4, "Step%s >>> Wrong GeneralResponse.statuses len" % str(step))
527  self.assertTrue(obj.eventObject.statuses[0] == True,
528  "Step%s >>> Wrong GeneralResponse.statuses[0] value" % str(step))
529  self.assertTrue(obj.eventObject.statuses[1] == True,
530  "Step%s >>> Wrong GeneralResponse.statuses[1] value" % str(step))
531  self.assertTrue(obj.eventObject.statuses[2] == False,
532  "Step%s >>> Wrong GeneralResponse.statuses[2] value" % str(step))
533  self.assertTrue(obj.eventObject.statuses[3] == True,
534  "Step%s >>> Wrong GeneralResponse.statuses[3] value" % str(step))
535 
536 
537  def checkUStep11(self, obj, step):
538  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
539  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CONTENT_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
540  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
541  self.assertTrue(len(obj.eventObject) == 2, "Step%s >>> Bad return object len" % str(step))
542  self.assertTrue(obj.eventObject[0].url ==
543  "http://url1.com/", "Step%s >>> Bad return object[0].url value" % str(step))
544  self.assertTrue(type(obj.eventObject[0].rawContents) == type([]),
545  "Step%s >>> Bad return object[0].rawContent type" % str(step))
546  self.assertTrue(len(obj.eventObject[0].rawContents) == 0,
547  "Step%s >>> Bad return object[0].rawContent len" % str(step))
548  self.assertTrue(obj.eventObject[1].url ==
549  "http://url4.com/", "Step%s >>> Bad return object[1].url value" % str(step))
550  self.assertTrue(type(obj.eventObject[1].rawContents) == type([]),
551  "Step%s >>> Bad return object[1].rawContent type" % str(step))
552  self.assertTrue(len(obj.eventObject[1].rawContents) == 0,
553  "Step%s >>> Bad return object[1].rawContent len" % str(step))
554 
555 
556  def checkUStep12(self, obj, step):
557  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
558  self.assertTrue(obj.eventType == EVENT_TYPES.URL_DELETE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
559  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
560  "Step%s >>> Bad return object type" % str(step))
561  self.assertTrue(type(obj.eventObject.statuses) == type([]),
562  "Step%s >>> Bad return object.statuses type" % str(step))
563  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> Bad return object.statuses len" % str(step))
564  self.assertTrue(obj.eventObject.statuses[0] == True, "Step%s >>> Bad return object.statuses[0] value" % str(step))
565 
566 
567  def checkUStep13(self, obj, step):
568  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
569  self.assertTrue(obj.eventType == EVENT_TYPES.URL_DELETE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
570  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
571  "Step%s >>> Bad return object type" % str(step))
572  self.assertTrue(type(obj.eventObject.statuses) == type([]),
573  "Step%s >>> Bad return object.statuses type" % str(step))
574  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> Bad return object.statuses len" % str(step))
575  self.assertTrue(obj.eventObject.statuses[0] == False, "Step%s >>> Bad return object.statuses[0] value" % str(step))
576 
577 
578  def checkUStep14(self, obj, step):
579  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
580  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CLEANUP_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
581  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
582  "Step%s >>> Bad return object type" % str(step))
583  self.assertTrue(type(obj.eventObject.statuses) == type([]),
584  "Step%s >>> Bad return object.statuses type" % str(step))
585  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> Bad return object.statuses len" % str(step))
586  self.assertTrue(obj.eventObject.statuses[0] == False, "Step%s >>> Bad return object.statuses[0] value" % str(step))
587 
588 
589  def checkUStep15(self, obj, step):
590  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
591  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CLEANUP_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
592  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
593  "Step%s >>> Bad return object type" % str(step))
594  self.assertTrue(type(obj.eventObject.statuses) == type([]),
595  "Step%s >>> Bad return object.statuses type" % str(step))
596  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> Bad return object.statuses len" % str(step))
597  self.assertTrue(obj.eventObject.statuses[0] == False, "Step%s >>> Bad return object.statuses[0] value" % str(step))
598 
599 
600  def checkUStep16(self, obj, step):
601  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
602  self.assertTrue(obj.eventType == EVENT_TYPES.URL_FETCH_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
603  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
604  self.assertTrue(len(obj.eventObject) == 1, "Step%s >>> Bad return object len" % str(step))
605  self.assertTrue(obj.eventObject[0].siteId == "z2", "Step%s >>> Bad return object[0].siteId value" % str(step))
606  self.assertTrue(obj.eventObject[0].url ==
607  "http://url3.com/", "Step%s >>> Bad return object[0].url value" % str(step))
608 
609 
610  def checkUStep17(self, obj, step):
611  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
612  self.assertTrue(obj.eventType == EVENT_TYPES.URL_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
613  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
614  self.assertTrue(len(obj.eventObject) == 2, "Step%s >>> Bad return object len" % str(step))
615  self.assertTrue(obj.eventObject[0].siteId == "z1", "Step%s >>> Bad return object[0].siteId value" % str(step))
616  self.assertTrue(obj.eventObject[0].url ==
617  "http://url2.com/", "Step%s >>> Bad return object[0].url value" % str(step))
618  self.assertTrue(obj.eventObject[1].siteId == "z2", "Step%s >>> Bad return object[1].siteId value" % str(step))
619  self.assertTrue(obj.eventObject[1].url ==
620  "http://url3.com/", "Step%s >>> Bad return object[0].url value" % str(step))
621 
622 
623  def checkCStep1(self, obj, step):
624  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
625  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CONTENT_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
626  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
627  self.assertTrue(len(obj.eventObject) == 3, "Step%s >>> Bad return object len" % str(step))
628  self.assertTrue(obj.eventObject[0].url ==
629  "http://url1.com/", "Step%s >>> Bad return object[0].url value" % str(step))
630  self.assertTrue(type(obj.eventObject[0].rawContents) == type([]),
631  "Step%s >>> Bad return object[0].rawContent type" % str(step))
632  self.assertTrue(len(obj.eventObject[0].rawContents) == 0,
633  "Step%s >>> Bad return object[0].rawContent len" % str(step))
634 
635  self.assertTrue(type(obj.eventObject[0].processedContents) == type([]),
636  "Step%s >>> Bad return object[0].processedContents type" % str(step))
637  self.assertTrue(len(obj.eventObject[0].processedContents) == 0,
638  "Step%s >>> Bad return object[0].processedContents len" % str(step))
639  self.assertTrue(obj.eventObject[1].url ==
640  "http://url5.com/", "Step%s >>> Bad return object[1].url value" % str(step))
641  self.assertTrue(type(obj.eventObject[1].rawContents) == type([]),
642  "Step%s >>> Bad return object[1].rawContent type" % str(step))
643 
644  self.assertTrue(len(obj.eventObject[1].rawContents) == 2,
645  "Step%s >>> Bad return object[1].rawContent len" % str(step))
646  baseStr = base64.b64decode(obj.eventObject[1].rawContents[0].buffer)
647  self.assertTrue(baseStr == "EEEEE",
648  "Step%s >>> Bad return obj.eventObject[1].rawContents[1].buffer value" % str(step))
649  print(obj.eventObject[1].rawContents[0].cDate)
650  self.assertTrue(len(obj.eventObject[1].processedContents) == 1,
651  "Step%s >>> Bad return object[1].processedContents len" % str(step))
652  self.assertTrue(obj.eventObject[1].processedContents[0].buffer == "EEEEE",
653  "Step%s >>> Bad return obj.processedContents[1].rawContents[0].buffer value" % str(step))
654  print(obj.eventObject[1].rawContents[0].cDate)
655  baseStr = base64.b64decode(obj.eventObject[1].rawContents[1].buffer)
656  self.assertTrue(baseStr == "ArashTIDY",
657  "Step%s >>> Bad return obj.eventObject[1].rawContents[1].buffer value" % str(step))
658  self.assertTrue(obj.eventObject[1].rawContents[1].typeId == dc.EventObjects.Content.CONTENT_TIDY_CONTENT,
659  "Step%s >>> Bad return obj.eventObject[1].rawContents[1].typeId value" % str(step))
660  print(obj.eventObject[1].rawContents[1].cDate)
661 
662  self.assertTrue(obj.eventObject[2].url ==
663  "http://url5.com/", "Step%s >>> Bad return object[1].url value" % str(step))
664  self.assertTrue(type(obj.eventObject[2].rawContents) == type([]),
665  "Step%s >>> Bad return object[1].rawContent type" % str(step))
666  self.assertTrue(len(obj.eventObject[2].rawContents) == 10,
667  "Step%s >>> Bad return object[2].rawContent len" % str(step))
668  baseStr = base64.b64decode(obj.eventObject[2].rawContents[0].buffer)
669  self.assertTrue(baseStr == "EEEEE",
670  "Step%s >>> Bad return obj.eventObject[2].rawContents[0].buffer value" % str(step))
671  print(obj.eventObject[2].rawContents[0].cDate)
672  baseStr = base64.b64decode(obj.eventObject[2].rawContents[1].buffer)
673  self.assertTrue(baseStr == "AAAAA",
674  "Step%s >>> Bad return obj.eventObject[2].rawContents[1].buffer value" % str(step))
675  print(obj.eventObject[2].rawContents[1].cDate)
676  baseStr = base64.b64decode(obj.eventObject[2].rawContents[2].buffer)
677  self.assertTrue(baseStr == "AAAAA",
678  "Step%s >>> Bad return obj.eventObject[2].rawContents[2].buffer value" % str(step))
679  print(obj.eventObject[2].rawContents[2].cDate)
680  baseStr = base64.b64decode(obj.eventObject[2].rawContents[3].buffer)
681  self.assertTrue(baseStr == "BBBBB",
682  "Step%s >>> Bad return obj.eventObject[2].rawContents[3].buffer value" % str(step))
683  print(obj.eventObject[2].rawContents[3].cDate)
684  baseStr = base64.b64decode(obj.eventObject[2].rawContents[4].buffer)
685  self.assertTrue(baseStr == "CCCCC",
686  "Step%s >>> Bad return obj.eventObject[2].rawContents[4].buffer value" % str(step))
687  print(obj.eventObject[2].rawContents[4].cDate)
688  baseStr = base64.b64decode(obj.eventObject[2].rawContents[5].buffer)
689  self.assertTrue(baseStr == "EEEEE",
690  "Step%s >>> Bad return obj.eventObject[2].rawContents[5].buffer value" % str(step))
691  print(obj.eventObject[2].rawContents[5].cDate)
692  baseStr = base64.b64decode(obj.eventObject[2].rawContents[6].buffer)
693  self.assertTrue(baseStr == "ArashTIDY",
694  "Step%s >>> Bad return obj.eventObject[2].rawContents[6].buffer value" % str(step))
695  self.assertTrue(obj.eventObject[2].rawContents[6].typeId == dc.EventObjects.Content.CONTENT_TIDY_CONTENT,
696  "Step%s >>> Bad return obj.eventObject[2].rawContents[6].typeId value" % str(step))
697  print(obj.eventObject[2].rawContents[6].cDate)
698 
699  baseStr = base64.b64decode(obj.eventObject[2].rawContents[7].buffer)
700  self.assertTrue(baseStr == "AAATIDY",
701  "Step%s >>> Bad return obj.eventObject[1].rawContents[7].buffer value" % str(step))
702  self.assertTrue(obj.eventObject[2].rawContents[7].typeId == dc.EventObjects.Content.CONTENT_TIDY_CONTENT,
703  "Step%s >>> Bad return obj.eventObject[1].rawContents[7].typeId value" % str(step))
704  print(obj.eventObject[2].rawContents[7].cDate)
705  baseStr = base64.b64decode(obj.eventObject[2].rawContents[8].buffer)
706  self.assertTrue(baseStr == "AAATIDY",
707  "Step%s >>> Bad return obj.eventObject[2].rawContents[8].buffer value" % str(step))
708  self.assertTrue(obj.eventObject[2].rawContents[8].typeId == dc.EventObjects.Content.CONTENT_TIDY_CONTENT,
709  "Step%s >>> Bad return obj.eventObject[2].rawContents[8].typeId value" % str(step))
710  print(obj.eventObject[2].rawContents[8].cDate)
711  baseStr = base64.b64decode(obj.eventObject[2].rawContents[9].buffer)
712  self.assertTrue(baseStr == "ArashTIDY",
713  "Step%s >>> Bad return obj.eventObject[2].rawContents[9].buffer value" % str(step))
714  self.assertTrue(obj.eventObject[2].rawContents[9].typeId == dc.EventObjects.Content.CONTENT_TIDY_CONTENT,
715  "Step%s >>> Bad return obj.eventObject[2].rawContents[9].typeId value" % str(step))
716  print(obj.eventObject[2].rawContents[9].cDate)
717  self.assertTrue(len(obj.eventObject[1].processedContents) == 1,
718  "Step%s >>> Bad return object[1].processedContents len" % str(step))
719  self.assertTrue(obj.eventObject[1].processedContents[0].buffer == "EEEEE",
720  "Step%s >>> Bad return obj.processedContents[1].rawContents[0].buffer value" % str(step))
721  print(obj.eventObject[1].processedContents[0].cDate)
722 
723 
724  def checkCStep2(self, obj, step):
725  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
726  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CONTENT_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
727  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
728  self.assertTrue(len(obj.eventObject) == 3, "Step%s >>> Bad return object len" % str(step))
729  self.assertTrue(obj.eventObject[0].url ==
730  "http://url1.com/", "Step%s >>> Bad return object[0].url value" % str(step))
731  self.assertTrue(type(obj.eventObject[0].rawContents) == type([]),
732  "Step%s >>> Bad return object[0].rawContent type" % str(step))
733  self.assertTrue(len(obj.eventObject[0].rawContents) == 0,
734  "Step%s >>> Bad return object[0].rawContent len" % str(step))
735 
736  self.assertTrue(type(obj.eventObject[0].processedContents) == type([]),
737  "Step%s >>> Bad return object[0].processedContents type" % str(step))
738  self.assertTrue(len(obj.eventObject[0].processedContents) == 0,
739  "Step%s >>> Bad return object[0].processedContents len" % str(step))
740  self.assertTrue(type(obj.eventObject[0].headers) == type([]),
741  "Step%s >>> Bad return object[0].headers type" % str(step))
742  self.assertTrue(len(obj.eventObject[0].headers) == 0,
743  "Step%s >>> Bad return object[0].headers len" % str(step))
744  self.assertTrue(type(obj.eventObject[0].requests) == type([]),
745  "Step%s >>> Bad return object[0].requests type" % str(step))
746  self.assertTrue(len(obj.eventObject[0].requests) == 0,
747  "Step%s >>> Bad return object[0].requests len" % str(step))
748  self.assertTrue(type(obj.eventObject[0].meta) == type([]),
749  "Step%s >>> Bad return object[0].meta type" % str(step))
750  self.assertTrue(len(obj.eventObject[0].meta) == 0,
751  "Step%s >>> Bad return object[0].meta len" % str(step))
752  self.assertTrue(type(obj.eventObject[0].cookies) == type([]),
753  "Step%s >>> Bad return object[0].cookies type" % str(step))
754  self.assertTrue(len(obj.eventObject[0].cookies) == 0,
755  "Step%s >>> Bad return object[0].cookies len" % str(step))
756 
757  self.assertTrue(obj.eventObject[1].url ==
758  "http://url5.com/", "Step%s >>> Bad return object[0].url value" % str(step))
759  self.assertTrue(type(obj.eventObject[1].rawContents) == type([]),
760  "Step%s >>> Bad return object[1].rawContent type" % str(step))
761  self.assertTrue(len(obj.eventObject[1].rawContents) == 8,
762  "Step%s >>> Bad return object[1].rawContent len" % str(step))
763  self.assertTrue(len(obj.eventObject[1].headers) == 5,
764  "Step%s >>> Bad return object[1].headers len" % str(step))
765  baseStr = base64.b64decode(obj.eventObject[1].headers[0].buffer)
766  self.assertTrue(baseStr == "AAAAAheaders",
767  "Step%s >>> Bad return obj.eventObject[1].headers[0].buffer value" % str(step))
768  baseStr = base64.b64decode(obj.eventObject[1].headers[1].buffer)
769  self.assertTrue(baseStr == "AAAAAheaders",
770  "Step%s >>> Bad return obj.eventObject[1].headers[1].buffer value" % str(step))
771  baseStr = base64.b64decode(obj.eventObject[1].headers[2].buffer)
772  self.assertTrue(baseStr == "BBBBBheaders",
773  "Step%s >>> Bad return obj.eventObject[1].headers[2].buffer value" % str(step))
774  baseStr = base64.b64decode(obj.eventObject[1].headers[3].buffer)
775  self.assertTrue(baseStr == "CCCCCheaders",
776  "Step%s >>> Bad return obj.eventObject[1].headers[3].buffer value" % str(step))
777  self.assertTrue(len(obj.eventObject[1].requests) == 5,
778  "Step%s >>> Bad return object[1].requests len" % str(step))
779  baseStr = base64.b64decode(obj.eventObject[1].requests[0].buffer)
780  self.assertTrue(baseStr == "AAAAArequests",
781  "Step%s >>> Bad return obj.eventObject[1].requests[0].buffer value" % str(step))
782  baseStr = base64.b64decode(obj.eventObject[1].requests[1].buffer)
783  self.assertTrue(baseStr == "AAAAArequests",
784  "Step%s >>> Bad return obj.eventObject[1].requests[1].buffer value" % str(step))
785  self.assertTrue(obj.eventObject[1].requests[2] == None,
786  "Step%s >>> Bad return obj.eventObject[1].requests[2].buffer value" % str(step))
787  baseStr = base64.b64decode(obj.eventObject[1].requests[3].buffer)
788  self.assertTrue(baseStr == "CCCCCrequests",
789  "Step%s >>> Bad return obj.eventObject[1].requests[3].buffer value" % str(step))
790  self.assertTrue(len(obj.eventObject[1].meta) == 5,
791  "Step%s >>> Bad return object[1].meta len" % str(step))
792  baseStr = base64.b64decode(obj.eventObject[1].meta[0].buffer)
793  self.assertTrue(baseStr == "AAAAAmeta",
794  "Step%s >>> Bad return obj.eventObject[1].meta[0].buffer value" % str(step))
795  baseStr = base64.b64decode(obj.eventObject[1].meta[1].buffer)
796  self.assertTrue(baseStr == "AAAAAmeta",
797  "Step%s >>> Bad return obj.eventObject[1].meta[1].buffer value" % str(step))
798  self.assertTrue(obj.eventObject[1].meta[2] == None,
799  "Step%s >>> Bad return obj.eventObject[1].meta[2].buffer value" % str(step))
800  baseStr = base64.b64decode(obj.eventObject[1].meta[3].buffer)
801  self.assertTrue(baseStr == "CCCCCmeta",
802  "Step%s >>> Bad return obj.eventObject[1].meta[3].buffer value" % str(step))
803  self.assertTrue(len(obj.eventObject[1].cookies) == 5,
804  "Step%s >>> Bad return object[1].cookies len" % str(step))
805  baseStr = base64.b64decode(obj.eventObject[1].cookies[0].buffer)
806  self.assertTrue(baseStr == "AAAAAcookies",
807  "Step%s >>> Bad return obj.eventObject[1].cookies[0].buffer value" % str(step))
808  baseStr = base64.b64decode(obj.eventObject[1].cookies[1].buffer)
809  self.assertTrue(baseStr == "AAAAAcookies",
810  "Step%s >>> Bad return obj.eventObject[1].cookies[1].buffer value" % str(step))
811  baseStr = base64.b64decode(obj.eventObject[1].cookies[2].buffer)
812  self.assertTrue(baseStr == "BBBBBcookies",
813  "Step%s >>> Bad return obj.eventObject[1].cookies[2].buffer value" % str(step))
814  baseStr = base64.b64decode(obj.eventObject[1].cookies[3].buffer)
815  self.assertTrue(baseStr == "CCCCCcookies",
816  "Step%s >>> Bad return obj.eventObject[1].cookies[3].buffer value" % str(step))
817 
818  self.assertTrue(obj.eventObject[2].url ==
819  "http://url5.com/", "Step%s >>> Bad return object[0].url value" % str(step))
820  self.assertTrue(type(obj.eventObject[2].rawContents) == type([]),
821  "Step%s >>> Bad return object[2].rawContent type" % str(step))
822  self.assertTrue(len(obj.eventObject[2].rawContents) == 8,
823  "Step%s >>> Bad return object[2].rawContent len" % str(step))
824  self.assertTrue(len(obj.eventObject[2].headers) == 5,
825  "Step%s >>> Bad return object[2].headers len" % str(step))
826  baseStr = base64.b64decode(obj.eventObject[2].headers[0].buffer)
827  self.assertTrue(baseStr == "AAAAAheaders",
828  "Step%s >>> Bad return obj.eventObject[2].headers[0].buffer value" % str(step))
829  baseStr = base64.b64decode(obj.eventObject[2].headers[1].buffer)
830  self.assertTrue(baseStr == "AAAAAheaders",
831  "Step%s >>> Bad return obj.eventObject[2].headers[1].buffer value" % str(step))
832  baseStr = base64.b64decode(obj.eventObject[2].headers[2].buffer)
833  self.assertTrue(baseStr == "BBBBBheaders",
834  "Step%s >>> Bad return obj.eventObject[2].headers[2].buffer value" % str(step))
835  baseStr = base64.b64decode(obj.eventObject[2].headers[3].buffer)
836  self.assertTrue(baseStr == "CCCCCheaders",
837  "Step%s >>> Bad return obj.eventObject[2].headers[3].buffer value" % str(step))
838  self.assertTrue(len(obj.eventObject[2].requests) == 5,
839  "Step%s >>> Bad return object[2].requests len" % str(step))
840  baseStr = base64.b64decode(obj.eventObject[2].requests[0].buffer)
841  self.assertTrue(baseStr == "AAAAArequests",
842  "Step%s >>> Bad return obj.eventObject[2].requests[0].buffer value" % str(step))
843  baseStr = base64.b64decode(obj.eventObject[2].requests[1].buffer)
844  self.assertTrue(baseStr == "AAAAArequests",
845  "Step%s >>> Bad return obj.eventObject[2].requests[1].buffer value" % str(step))
846  self.assertTrue(obj.eventObject[2].requests[2] == None,
847  "Step%s >>> Bad return obj.eventObject[2].requests[2].buffer value" % str(step))
848  baseStr = base64.b64decode(obj.eventObject[2].requests[3].buffer)
849  self.assertTrue(baseStr == "CCCCCrequests",
850  "Step%s >>> Bad return obj.eventObject[2].requests[3].buffer value" % str(step))
851  self.assertTrue(len(obj.eventObject[2].meta) == 5,
852  "Step%s >>> Bad return object[2].meta len" % str(step))
853  baseStr = base64.b64decode(obj.eventObject[2].meta[0].buffer)
854  self.assertTrue(baseStr == "AAAAAmeta",
855  "Step%s >>> Bad return obj.eventObject[2].meta[0].buffer value" % str(step))
856  baseStr = base64.b64decode(obj.eventObject[2].meta[1].buffer)
857  self.assertTrue(baseStr == "AAAAAmeta",
858  "Step%s >>> Bad return obj.eventObject[2].meta[1].buffer value" % str(step))
859  self.assertTrue(obj.eventObject[2].meta[2] == None,
860  "Step%s >>> Bad return obj.eventObject[2].meta[2].buffer value" % str(step))
861  baseStr = base64.b64decode(obj.eventObject[2].meta[3].buffer)
862  self.assertTrue(baseStr == "CCCCCmeta",
863  "Step%s >>> Bad return obj.eventObject[2].meta[3].buffer value" % str(step))
864  self.assertTrue(len(obj.eventObject[2].cookies) == 0,
865  "Step%s >>> Bad return object[2].cookies len" % str(step))
866 
867 
868  def checkCStep3(self, obj, step):
869  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
870  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CONTENT_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
871  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
872  self.assertTrue(len(obj.eventObject) == 3, "Step%s >>> Bad return object len" % str(step))
873 
874  self.assertTrue(obj.eventObject[1].url ==
875  "http://url5.com/", "Step%s >>> Bad return object[0].url value" % str(step))
876  self.assertTrue(type(obj.eventObject[1].rawContents) == type([]),
877  "Step%s >>> Bad return object[1].rawContent type" % str(step))
878  self.assertTrue(len(obj.eventObject[1].rawContents) == 7,
879  "Step%s >>> Bad return object[1].rawContent len" % str(step))
880  self.assertTrue(len(obj.eventObject[1].headers) == 5,
881  "Step%s >>> Bad return object[1].headers len" % str(step))
882  baseStr = base64.b64decode(obj.eventObject[1].rawContents[6].buffer)
883  self.assertTrue(baseStr == "AAADYN",
884  "Step%s >>> Bad return obj.eventObject[1].rawContents[6].buffer value" % str(step))
885  self.assertTrue(obj.eventObject[1].rawContents[6].typeId == dc.EventObjects.Content.CONTENT_DYNAMIC_CONTENT,
886  "Step%s >>> Bad return obj.eventObject[1].rawContents[6].typeId value" % str(step))
887  print(obj.eventObject[1].rawContents[6].cDate)
888 
889  self.assertTrue(obj.eventObject[2].url ==
890  "http://url5.com/", "Step%s >>> Bad return object[0].url value" % str(step))
891  self.assertTrue(type(obj.eventObject[2].rawContents) == type([]),
892  "Step%s >>> Bad return object[2].rawContent type" % str(step))
893  self.assertTrue(len(obj.eventObject[2].rawContents) == 7,
894  "Step%s >>> Bad return object[2].rawContent len" % str(step))
895  self.assertTrue(len(obj.eventObject[2].headers) == 5,
896  "Step%s >>> Bad return object[2].headers len" % str(step))
897  baseStr = base64.b64decode(obj.eventObject[2].rawContents[6].buffer)
898  self.assertTrue(baseStr == "AAADYN",
899  "Step%s >>> Bad return obj.eventObject[2].rawContents[6].buffer value" % str(step))
900  self.assertTrue(obj.eventObject[2].rawContents[6].typeId == dc.EventObjects.Content.CONTENT_DYNAMIC_CONTENT,
901  "Step%s >>> Bad return obj.eventObject[2].rawContents[6].typeId value" % str(step))
902  print(obj.eventObject[2].rawContents[6].cDate)
903 
904 
905  def checkIntelStep0(self, obj, step):
906  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
907  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
908  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
909  "Step%s >>> Bad return object type" % str(step))
910  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
911  "Step%s >>> Some Error in Return object" % str(step))
912  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> obj.eventObject.statuses len != 1" % str(step))
913  self.assertTrue(obj.eventObject.statuses[0] == "intel1", "Step%s >>> obj.eventObject.statuses[0] != \"intel1\""
914  % str(step))
915 
916 
917  def checkIntelStep3(self, obj, step):
918  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
919  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_NEW_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
920  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
921  "Step%s >>> Bad return object type" % str(step))
922  self.assertTrue(obj.eventObject.errorCode == dc_db.Constants.TASK_DUPLICATE_ERR,
923  "Step%s >>> Some Error in Return object" % str(step))
924  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> obj.eventObject.statuses len != 1" % str(step))
925  self.assertTrue(obj.eventObject.statuses[0] == None, "Step%s >>> obj.eventObject.statuses[3] != None"
926  % str(step))
927 
928 
929  def checkCriterions2(self, obj, step):
930  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
931  self.assertTrue(obj.eventType == EVENT_TYPES.URL_FETCH_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
932  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
933  self.assertTrue(len(obj.eventObject) == 3, "Step%s >>> Bad return object len" % str(step))
934  self.assertTrue(obj.eventObject[0].siteId == "z2", "Step%s >>> Bad return object[0].siteId value" % str(step))
935  self.assertTrue(obj.eventObject[1].siteId == "intel1", "Step%s >>> Bad return object[1].siteId value" % str(step))
936  self.assertTrue(obj.eventObject[1].url ==
937  "http://intel.com/path1/path2", "Step%s >>> Bad return object[1].url value" % str(step))
938  self.assertTrue(obj.eventObject[1].state == 77, "Step%s >>> Bad return object[1].state value" % str(step))
939  self.assertTrue(obj.eventObject[1].status == 77, "Step%s >>> Bad return object[1].status value" % str(step))
940  self.assertTrue(obj.eventObject[2].siteId == "intel1", "Step%s >>> Bad return object[2].siteId value" % str(step))
941  self.assertTrue(obj.eventObject[2].url ==
942  "http://intel.com/path1/", "Step%s >>> Bad return object[2].url value" % str(step))
943 
944 
945  def checkDeleteBad(self, obj, step):
946  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
947  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_DELETE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
948  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
949  "Step%s >>> Bad return object type" % str(step))
950  self.assertTrue(obj.eventObject.errorCode == dtm.EventObjects.GeneralResponse.ERROR_OK,
951  "Step%s >>> Wrong obj.eventObject.errorCode value" % str(step))
952  self.assertTrue(obj.eventObject.errorMessage == "",
953  "Step%s >>> Wrong obj.eventObject.errorMessage value" % str(step))
954 
955 
956  def checkSiteCriterions1(self, obj, step):
957  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
958  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_UPDATE_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
959  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
960  "Step%s >>> Bad return object type" % str(step))
961  self.assertTrue(len(obj.eventObject.statuses) == 1, "Step%s >>> Bad return object statuses len" % str(step))
962  for status in obj.eventObject.statuses:
963  self.assertTrue(status == dtm.EventObjects.GeneralResponse.ERROR_OK,
964  "Step%s >>> Bad return object statuses value" % str(step))
965 
966 
967  def checkSiteCriterions2(self, obj, step):
968  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
969  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
970  self.assertTrue(type(obj.eventObject) == dc.EventObjects.Site, "Step%s >>> Bad return object type" % str(step))
971  self.assertTrue(obj.eventObject.maxResources == 6688,
972  "Step%s >>> Bad return eventObject.maxResources value" % str(step))
973 
974 
975  def checkURLContentBDFields(self, obj, step):
976  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
977  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CONTENT_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
978  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
979  self.assertTrue(len(obj.eventObject) == 2, "Step%s >>> Bad return object len" % str(step))
980  self.assertTrue(obj.eventObject[0].url ==
981  "http://url1.com/", "Step%s >>> Bad return object[0].url value" % str(step))
982  self.assertTrue(type(obj.eventObject[0].dbFields) == type({}),
983  "Step%s >>> Wrong object[0].dbFields type" % str(step))
984  self.assertTrue(len(obj.eventObject[0].dbFields) == 0, "Step%s >>> Wrong object[0].dbFields len" % str(step))
985  self.assertTrue(obj.eventObject[1].url ==
986  "http://url1.com/", "Step%s >>> Bad return object[1].url value" % str(step))
987  self.assertTrue(type(obj.eventObject[1].dbFields) == type({}),
988  "Step%s >>> Wrong object[1].dbFields type" % str(step))
989  self.assertTrue(len(obj.eventObject[1].dbFields) == 4,
990  "Step%s >>> Wrong object[1].dbFields len" % str(step))
991  self.assertTrue(obj.eventObject[1].dbFields["CDate"] != None,
992  "Step%s >>> Wrong object[1].dbFields[CDate] value" % str(step))
993  self.assertTrue(obj.eventObject[1].dbFields["RawContentMd5"] != None,
994  "Step%s >>> Wrong object[1].dbFields[RawContentMd5] value" % str(step))
995  self.assertTrue(obj.eventObject[1].dbFields["MRate"] != None,
996  "Step%s >>> Wrong object[1].dbFields[MRate] value" % str(step))
997  self.assertTrue(obj.eventObject[1].dbFields["emptyF"] == None,
998  "Step%s >>> Wrong object[1].dbFields[emptyF] value" % str(step))
999 
1000 
1001  def checkSQLCustom1(self, obj, step):
1002  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1003  self.assertTrue(obj.eventType == EVENT_TYPES.SQL_CUSTOM_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1004  self.assertTrue(type(obj.eventObject) == dbi.EventObjects.CustomResponse,
1005  "Step%s >>> Bad return object type" % str(step))
1006  self.assertTrue(obj.eventObject.errString == "Error: wrong SQL request or DBName")
1007  self.assertTrue(type(obj.eventObject.result) == tuple)
1008  self.assertTrue(len(obj.eventObject.result) == 0)
1009 
1010 
1011  def checkSQLCustom2(self, obj, step):
1012  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1013  self.assertTrue(obj.eventType == EVENT_TYPES.SQL_CUSTOM_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1014  self.assertTrue(type(obj.eventObject) == dbi.EventObjects.CustomResponse,
1015  "Step%s >>> Bad return object type" % str(step))
1016  self.assertTrue(obj.eventObject.errString == "Error: wrong SQL request or DBName")
1017  self.assertTrue(type(obj.eventObject.result) == tuple)
1018  self.assertTrue(len(obj.eventObject.result) == 0)
1019 
1020 
1021  def checkSQLCustom3(self, obj, step):
1022  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1023  self.assertTrue(obj.eventType == EVENT_TYPES.SQL_CUSTOM_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1024  self.assertTrue(type(obj.eventObject) == dbi.EventObjects.CustomResponse,
1025  "Step%s >>> Bad return object type" % str(step))
1026  self.assertTrue(obj.eventObject.errString is None)
1027  self.assertTrue(type(obj.eventObject.result) == tuple)
1028  self.assertTrue(len(obj.eventObject.result) > 0)
1029 
1030 
1031  def checkSStatusUrls(self, obj, step):
1032  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1033  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_STATUS_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1034  print obj.eventObject.id
1035  print obj.eventObject.contents
1036  print obj.eventObject.urls
1037  print obj.eventObject.urls[0].__dict__
1038 
1039 
1040  def checkSiteFind(self, obj, step):
1041  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1042  self.assertTrue(obj.eventType == EVENT_TYPES.SITE_FIND_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1043  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
1044  self.assertTrue(len(obj.eventObject) == 1, "Step%s >>> Bad return object len" % str(step))
1045  self.assertTrue(type(obj.eventObject[0].properties) == type([]),
1046  "Step%s >>> Bad return object.properties type" % str(step))
1047  self.assertTrue(len(obj.eventObject[0].properties) == 2,
1048  "Step%s >>> Bad return object.properties len" % str(step))
1049  self.assertTrue(type(obj.eventObject[0].filters) == type([]),
1050  "Step%s >>> Bad return object.filters type" % str(step))
1051  self.assertTrue(len(obj.eventObject[0].filters) == 1, "Step%s >>> Bad return object.filters len" % str(step))
1052 
1053 
1054  def checkFieldRecalculator(self, obj, step):
1055  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1056  self.assertTrue(obj.eventType == EVENT_TYPES.FIELD_RECALCULATE_RESPONSE,
1057  "Step%s >>> Bad return Event type" % str(step))
1058  self.assertTrue(type(obj.eventObject) == dtm.EventObjects.GeneralResponse,
1059  "Step%s >>> Bad return object type" % str(step))
1060  self.assertTrue(len(obj.eventObject.statuses) == 12, "Step%s >>> Bad return object len" % str(step))
1061 
1062 
1063  def checkVerify(self, obj, step):
1064  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1065  self.assertTrue(obj.eventType == EVENT_TYPES.URL_VERIFY_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1066  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
1067  self.assertTrue(len(obj.eventObject) == 7, "Step%s >>> Bad return object len" % str(step))
1068  self.assertTrue(obj.eventObject[0] is not None, "Step%s >>> Bad return object eventObject[0]" % str(step))
1069  self.assertTrue(obj.eventObject[1] is not None, "Step%s >>> Bad return object eventObject[1]" % str(step))
1070  self.assertTrue(obj.eventObject[2] is None, "Step%s >>> Bad return object eventObject[2]" % str(step))
1071  self.assertTrue(obj.eventObject[3] is None, "Step%s >>> Bad return object eventObject[3]" % str(step))
1072  self.assertTrue(obj.eventObject[4] is not None, "Step%s >>> Bad return object eventObject[4]" % str(step))
1073  self.assertTrue(obj.eventObject[5] is not None, "Step%s >>> Bad return object eventObject[5]" % str(step))
1074  self.assertTrue(obj.eventObject[6] is None, "Step%s >>> Bad return object eventObject[6]" % str(step))
1075 
1076 
1077  def checkMySQLContent(self, obj, step):
1078  self.assertTrue(type(obj) == dc.Constants.DRCESyncTasksCover, "Step%s >>> Bad return type" % str(step))
1079  self.assertTrue(obj.eventType == EVENT_TYPES.URL_CONTENT_RESPONSE, "Step%s >>> Bad return Event type" % str(step))
1080  self.assertTrue(type(obj.eventObject) == type([]), "Step%s >>> Bad return object type" % str(step))
1081  self.assertTrue(len(obj.eventObject) == 1, "Step%s >>> Bad return object len" % str(step))
1082  self.assertTrue(type(obj.eventObject[0].processedContents) == type([]),
1083  "Step%s >>> Bad return object[0].processedContents type" % str(step))
1084  self.assertTrue(len(obj.eventObject[0].processedContents) == 1,
1085  "Step%s >>> Bad return object[0].processedContents len" % str(step))
1086  self.assertTrue(len(obj.eventObject[0].processedContents) == 1,
1087  "Step%s >>> Bad return object[0].processedContents len" % str(step))
1088  self.assertTrue(obj.eventObject[0].processedContents[0].buffer == "blob data",
1089  "Step%s >>> Bad return object[0].processedContents.buffer value" % str(step))
1090  self.assertTrue(obj.eventObject[0].processedContents[0].cDate == "2010-10-10 10:10:10",
1091  "Step%s >>> Bad return object[0].processedContents.cDate value" % str(step))
1092 
1093 
1094  def fileCreate(self, directory, fName, data):
1095  time.sleep(0.3)
1096  fd = open(directory + "/" + fName, "w")
1097  fd.write(data)
1098  fd.close()
1099 
1100 
1101  def makeContent(self):
1102  savePath = os.getcwd()
1103  os.chdir(self.CD_PATH)
1104  configParser = ConfigParser.ConfigParser()
1105  configParser.read("../ini/db-task.ini")
1106  keyValueStorageDir = configParser.get(self.CLASS_NAME, self.KEY_VALUE_STORAGE_DIR)
1107  rawDataDir = configParser.get(self.CLASS_NAME, self.RAW_DATA_DIR)
1108  print(keyValueStorageDir + "\n" + rawDataDir)
1109 # Files creating
1110  dataDir = rawDataDir + "/" + self.siteId +"/"+ PathMaker(self.urlMd5).getDir()
1111  try:
1112  os.makedirs(dataDir)
1113  except Exception:
1114  print ">>>---- "+ str(dataDir) + " path already exist !!!"
1115  self.fileCreate(dataDir, "A1.bin", "AAAAA")
1116  self.fileCreate(dataDir, "A1.headers.txt", "AAAAAheaders")
1117  self.fileCreate(dataDir, "A1.requests.txt", "AAAAArequests")
1118  self.fileCreate(dataDir, "A1.meta.txt", "AAAAAmeta")
1119  self.fileCreate(dataDir, "A1.cookies.txt", "AAAAAcookies")
1120  self.fileCreate(dataDir, "A1.tidy", "AAATIDY")
1121  self.fileCreate(dataDir, "B1.bin", "BBBBB")
1122  self.fileCreate(dataDir, "B1.headers.txt", "BBBBBheaders")
1123  self.fileCreate(dataDir, "B1.cookies.txt", "BBBBBcookies")
1124  self.fileCreate(dataDir, "C1.bin", "CCCCC")
1125  self.fileCreate(dataDir, "C1.headers.txt", "CCCCCheaders")
1126  self.fileCreate(dataDir, "C1.requests.txt", "CCCCCrequests")
1127  self.fileCreate(dataDir, "C1.meta.txt", "CCCCCmeta")
1128  self.fileCreate(dataDir, "C1.cookies.txt", "CCCCCcookies")
1129  self.fileCreate(dataDir, "D1.meta.txt", "DDDDDmeta")
1130  self.fileCreate(dataDir, "E1.bin", "EEEEE")
1131  self.fileCreate(dataDir, "arash.tidy", "ArashTIDY")
1132  self.fileCreate(dataDir, "arash.dyn", "AAADYN")
1133 # KV_DB creating
1134  localUrlContent = dc.EventObjects.URLContentRequest(0, "http")
1135  localUrlMD5 = localUrlContent.fillMD5(self.url)
1136  if self.contentType == dc_db.Constants.DB_DATA_KVDB:
1137  dbName = dc_db.Constants.KEY_VALUE_FILE_NAME_TEMPLATE % self.siteId
1138  dbFileName = keyValueStorageDir + "/" + dbName
1139  INSERT_SQL = "INSERT INTO `articles` (Id, Data, CDate) VALUES('%s', '%s', %s)"
1140  query = INSERT_SQL % (localUrlMD5, "EEEEE", str(int(time.time())))
1141  if os.path.exists(dbFileName):
1142  dbConnect = sqlite3.connect(dbFileName)
1143  dbConnect.text_factory = str
1144  cursor = dbConnect.cursor()
1145  cursor.execute(query)
1146  dbConnect.commit()
1147  elif self.contentType == dc_db.Constants.DB_DATA_MYSQL:
1148  print ">>>> CREATE MYSQL !!!"
1149  mysqlConnUrl = mdb.connect("192.168.253.113", "hce", "hce12345", "dc_contents", 3306)
1150  bdName = "contents_%s" % self.siteId
1151  CREATE_SQL = "CREATE TABLE IF NOT EXISTS `%s` (`id` varchar(32) NOT NULL DEFAULT '\"\"', \
1152  `data` BLOB NOT NULL, `CDate` datetime DEFAULT NULL, KEY `id` (`id`), KEY `CDate` (`CDate`)) \
1153  ENGINE=MyISAM DEFAULT CHARSET=utf8"
1154  query = CREATE_SQL % bdName
1155  INSERT_SQL = "INSERT INTO `%s` (Id, Data, CDate) VALUES('%s', '%s', %s)"
1156  query1 = INSERT_SQL % (bdName, localUrlMD5, "EEEEE", "NOW()")
1157  if mysqlConnUrl is not None:
1158  with closing(mysqlConnUrl.cursor()) as cursor:
1159  cursor.execute(query)
1160  mysqlConnUrl.commit()
1161  cursor.execute(query1)
1162  mysqlConnUrl.commit()
1163  else:
1164  print ">>>> WRONG DB_CONTENT CONNECTION !!!"
1165  os.chdir(savePath)
1166 
1167  '''
1168  def test_01_CommonSiteSuite(self):
1169  self.mutex.acquire()
1170  print "test_01_CommonSiteSuite"
1171  obj = self.execCommand(CMD_SNEW1, 1)
1172  if obj != None:
1173  self.checkSStep1(obj, 1)
1174  obj = self.execCommand(CMD_SSTATUS2, 2)
1175  if obj != None:
1176  self.checkSStep2(obj, 2)
1177  obj = self.execCommand(CMD_SNEW2, 3)
1178  if obj != None:
1179  self.checkSStep3(obj, 3)
1180  obj = self.execCommand(CMD_SSTATUS2, 4)
1181  if obj != None:
1182  self.checkSStep4(obj, 4)
1183  obj = self.execCommand(CMD_SUPDATE2, 5)
1184  if obj != None:
1185  self.checkSStep5(obj, 5)
1186  obj = self.execCommand(CMD_SDELETE1, 6)
1187  if obj != None:
1188  self.checkSStep6(obj, 6)
1189  obj = self.execCommand(CMD_SSTATUS1, 7)
1190  if obj != None:
1191  self.checkSStep7(obj, 7)
1192  obj = self.execCommand(CMD_SSTATUS2, 8)
1193  if obj != None:
1194  self.checkSStep8(obj, 8)
1195  obj = self.execCommand(CMD_SCLEANUP2, 9)
1196  if obj != None:
1197  self.checkSStep9(obj, 9)
1198  obj = self.execCommand(CMD_SSTATUS2, 10)
1199  if obj != None:
1200  self.checkSStep10(obj, 10)
1201  print "test_01_CommonSiteSuite FN"
1202  self.mutex.release()
1203 
1204 
1205  def test_02_CommonURLSuite(self):
1206  self.mutex.acquire()
1207  print "test_02_CommonURLSuite"
1208  self.execCommand(CMD_USITE_NEW1, 0)
1209  self.execCommand(CMD_USITE_NEW2, 0)
1210  obj = self.execCommand(CMD_UNEW1, 1)
1211  if obj != None:
1212  self.checkUStep1(obj, 1)
1213  obj = self.execCommand(CMD_USTATUS1, 2)
1214  if obj != None:
1215  self.checkUStep2(obj, 2)
1216  obj = self.execCommand(CMD_USTATUS2, 3)
1217  if obj != None:
1218  self.checkUStep3(obj, 3)
1219  obj = self.execCommand(CMD_UFETCH1, 4)
1220  if obj != None:
1221  self.checkUStep4(obj, 4)
1222  obj = self.execCommand(CMD_UFETCH2, 5)
1223  if obj != None:
1224  self.checkUStep5(obj, 5)
1225  obj = self.execCommand(CMD_UNEW2, 6)
1226  if obj != None:
1227  self.checkUStep6(obj, 6)
1228  obj = self.execCommand(CMD_UNEW3, 7)
1229  if obj != None:
1230  self.checkUStep7(obj, 7)
1231  obj = self.execCommand(CMD_USTATUS2_3, 8)
1232  if obj != None:
1233  self.checkUStep8(obj, 8)
1234  obj = self.execCommand(CMD_UFETCH1_2_3, 9)
1235  if obj != None:
1236  self.checkUStep9(obj, 9)
1237  obj = self.execCommand(CMD_UUPDATE2_3_4, 10)
1238  if obj != None:
1239  self.checkUStep10(obj, 10)
1240  obj = self.execCommand(CMD_UCONTENT1_4, 11)
1241  if obj != None:
1242  self.checkUStep11(obj, 11)
1243  obj = self.execCommand(CMD_UDELETE1, 12)
1244  if obj != None:
1245  self.checkUStep12(obj, 12)
1246  obj = self.execCommand(CMD_UDELETE4, 13)
1247  if obj != None:
1248  self.checkUStep13(obj, 13)
1249  obj = self.execCommand(CMD_UCLEANUP1, 14)
1250  if obj != None:
1251  self.checkUStep14(obj, 14)
1252  obj = self.execCommand(CMD_UCLEANUP2, 15)
1253  if obj != None:
1254  self.checkUStep15(obj, 15)
1255  obj = self.execCommand(CMD_UFETCH2_3_4, 16)
1256  if obj != None:
1257  self.checkUStep16(obj, 16)
1258  obj = self.execCommand(CMD_USTATUS2_3_4, 17)
1259  if obj != None:
1260  self.checkUStep17(obj, 17)
1261  print "test_02_CommonURLSuite FN"
1262  self.mutex.release()
1263 
1264 
1265  def test_03_URLContent(self):
1266  self.mutex.acquire()
1267  print "test_03_URLContent"
1268  self.url = "http://url5.com/"
1269  self.siteId = "z5"
1270  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1271  self.execCommand(CMD_USITE_NEW5, 0)
1272  self.execCommand(CMD_UNEW5, 0)
1273  self.makeContent()
1274  obj = self.execCommand(CMD_UCONTENT5, 1)
1275  if obj != None:
1276  self.checkCStep1(obj, 1)
1277  obj = self.execCommand(CMD_UCONTENT5_EXT, 2)
1278  if obj != None:
1279  self.checkCStep2(obj, 2)
1280  obj = self.execCommand(CMD_UCONTENT5_DYN, 3)
1281  if obj != None:
1282  self.checkCStep3(obj, 3)
1283  print "test_03_URLContent FN"
1284  self.mutex.release()
1285 
1286 
1287  def test_04_UrlNewSiteExtractor(self):
1288  self.mutex.acquire()
1289  print "test_04_UrlNewSiteExtractor"
1290  obj = self.execCommand(CMD_SNEW_INTEL, 0)
1291  if obj != None:
1292  self.checkIntelStep0(obj, 0)
1293  self.execCommand(CMD_UNEW_INTEL, 1)
1294  obj = self.execCommand(CMD_UNEW_INTEL1, 2)
1295  obj = self.execCommand(CMD_SNEW_INTEL, 3)
1296  if obj != None:
1297  self.checkIntelStep3(obj, 3)
1298  print "test_04_UrlNewSiteExtractor FN"
1299  self.mutex.release()
1300 
1301 
1302  def test_05_AdditionCriterions(self):
1303  self.mutex.acquire()
1304  print "test_05_AdditionCriterions"
1305  self.execCommand(CMD_UDEL_CRITERIONS_DEL, 0)
1306  self.execCommand(CMD_UCLEANUP_CRITERIONS, 1)
1307  obj = self.execCommand(CMD_UDEL_CRITERIONS_FETCH, 2)
1308  if obj != None:
1309  self.checkCriterions2(obj, 2)
1310  print "test_05_AdditionCriterions FN"
1311  self.mutex.release()
1312 
1313 
1314  def test_07_DeleteAbsentSite(self):
1315  self.mutex.acquire()
1316  print "test_07_DeleteAbsentSite"
1317  obj = self.execCommand(CMD_SDELETE_BAD, 0)
1318  if obj != None:
1319  self.checkDeleteBad(obj, 0)
1320  print "test_07_DeleteAbsentSite FN"
1321  self.mutex.release()
1322 
1323 
1324  def test_10_SiteNewCriterions(self):
1325  self.mutex.acquire()
1326  print "test_10_SiteNewCriterions"
1327  obj = self.execCommand(CMD_SUPDATE_CRITERIONS, 0)
1328  if obj != None:
1329  self.checkSiteCriterions1(obj, 0)
1330  obj = self.execCommand(CMD_SSTATUS_CRITERIONS, 1)
1331  if obj != None:
1332  self.checkSiteCriterions2(obj, 1)
1333  print "test_10_SiteNewCriterions FN"
1334  self.mutex.release()
1335 
1336 
1337  def test_11_SiteNewProp(self):
1338  self.mutex.acquire()
1339  print "test_11_SiteNewProp"
1340  self.execCommand(CMD_SNEW_44, 0)
1341  self.execCommand(CMD_SNEW_55, 0)
1342  self.execCommand(CMD_SUPDATE_5, 0)
1343  print "test_11_SiteNewProp FN"
1344  self.mutex.release()
1345 
1346 
1347  def test_12_URLContentDBFields(self):
1348  self.mutex.acquire()
1349  print "test_12_URLContentDBFields"
1350  obj = self.execCommand(CMD_UCONTENT_DBFIELDS, 0)
1351  if obj != None:
1352  self.checkURLContentBDFields(obj, 0)
1353  print "test_12_URLContentDBFields FN"
1354  self.mutex.release()
1355 
1356 
1357  def test_08_SQLCommon(self):
1358  self.mutex.acquire()
1359  print "test_08_SQLCommon"
1360  obj = self.execCommand(CMD_SQLCUSTOM_BAD1, 0)
1361  if obj != None:
1362  self.checkSQLCustom1(obj, 0)
1363  obj = self.execCommand(CMD_SQLCUSTOM_BAD1, 1)
1364  if obj != None:
1365  self.checkSQLCustom2(obj, 1)
1366  obj = self.execCommand(CMD_SQLCUSTOM_OK, 2)
1367  if obj != None:
1368  self.checkSQLCustom3(obj, 2)
1369  print "test_08_SQLCommon FN"
1370  self.mutex.release()
1371 
1372 
1373  def test_06_Common1(self):
1374  self.mutex.acquire()
1375  print "test_06_Common1"
1376  self.execCommand(CMD_SNEW_INTEL, 0)
1377  self.execCommand(CMD_SINTEL_UPDATE_OK, 1)
1378  print "test_06_Common1 FN"
1379  self.mutex.release()
1380 
1381 
1382  def test_09_SiteFind(self):
1383  self.mutex.acquire()
1384  print "test_09_SiteFind"
1385  obj = self.execCommand(CMD_SITE_FIND_OK, 0)
1386  if obj != None:
1387  self.checkSiteFind(obj, 0)
1388  print "test_09_SiteFind FN"
1389  self.mutex.release()
1390 
1391 
1392  def test_13_Delay(self):
1393  self.mutex.acquire()
1394  print "test_13_Delay"
1395  self.url = "http://url1.com/"
1396  self.siteId = "z5"
1397  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1398  self.makeContent()
1399  self.url = "http://intel.com/path1/"
1400  self.siteId = "intel1"
1401  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1402  self.makeContent()
1403  self.url = "http://intel.com/path1/path2"
1404  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1405  self.makeContent()
1406  self.url = "http://url10.com/"
1407  self.siteId = "z1"
1408  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1409  self.makeContent()
1410  self.url = "http://url_a1.com/"
1411  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1412  self.makeContent()
1413  self.url = "http://url_a2.com/"
1414  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1415  self.makeContent()
1416  self.url = "http://url44.com/"
1417  self.siteId = "z44"
1418  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1419  self.makeContent()
1420  self.url = "http://url40.com/"
1421  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1422  self.makeContent()
1423  self.url = "http://url41.com/"
1424  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1425  self.makeContent()
1426  self.execCommand(CMD_UNEW_DELAY10, 0)
1427  self.execCommand(CMD_UNEW_DELAY11, 0)
1428  self.execCommand(CMD_UNEW_DELAY40, 0)
1429  self.execCommand(CMD_UNEW_DELAY41, 0)
1430  self.execCommand(CMD_UNEW_DELAY_A1, 0)
1431  self.execCommand(CMD_UNEW_DELAY_A2, 0)
1432  self.execCommand(CMD_SCLEANUP_DELAY_INTEL1, 1)
1433  self.execCommand(CMD_UDELETE_DELAY1, 2)
1434  self.execCommand(CMD_UCLEANUP_DELAY44, 3)
1435  self.execCommand(CMD_UPURGE_GROUP, 4)
1436  self.execCommand(CMD_UPURGE_SELECT_SITE, 5)
1437  print "test_13_Delay FN"
1438  self.mutex.release()
1439 
1440 
1441  def test_14_Delay(self):
1442  self.mutex.acquire()
1443  print "test_14_Delay"
1444  self.url = "http://dtest1.com/page1.html"
1445  self.siteId = "e543803a822340b0706477699ef78709"
1446  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1447  self.makeContent()
1448  self.url = "http://dtest1.com/page2.html"
1449  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1450  self.makeContent()
1451  self.url = "http://dtest1.com/page3.html"
1452  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1453  self.makeContent()
1454  self.url = "http://dtest2.com/page1.html"
1455  self.siteId = "50f5c4c74336ccda936bb807c93b73b7"
1456  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1457  self.makeContent()
1458  self.url = "http://dtest2.com/page2.html"
1459  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1460  self.makeContent()
1461  self.url = "http://dtest3.com/page1.html"
1462  self.siteId = "9a6f413ba2fc3b04825f9f6b294ad2ea"
1463  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1464  self.makeContent()
1465  self.url = "http://dtest3.com/page.html"
1466  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1467  self.makeContent()
1468  self.url = "http://dtest4.com/page1.html"
1469  self.siteId = "844fb110d58d096a4a441091e2cf375f"
1470  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1471  self.makeContent()
1472  self.execCommand(CMD_UNEW_DELAY_TEST1, 0)
1473  self.execCommand(CMD_UNEW_DELAY_TEST2, 0)
1474  self.execCommand(CMD_UNEW_DELAY_TEST3, 0)
1475  self.execCommand(CMD_UNEW_DELAY_TEST4, 0)
1476 
1477  self.execCommand(CMD_SCLEANUP_DTEST1, 1)
1478  self.execCommand(CMD_SCLEANUP_DTEST2, 2)
1479  self.execCommand(CMD_SCLEANUP_DTEST3, 3)
1480  self.execCommand(CMD_SCLEANUP_DTEST4, 4)
1481 
1482  for i in xrange(5, 12):
1483  self.execCommand(CMD_UPURGE3, i)
1484 
1485  self.execCommand(CMD_UNEW_DELAY_TEST5, 13)
1486  self.execCommand(CMD_UNEW_DELAY_TEST6, 13)
1487  self.execCommand(CMD_UNEW_DELAY_TEST7, 13)
1488  self.execCommand(CMD_UNEW_DELAY_TEST8, 13)
1489 
1490  self.execCommand(CMD_SCLEANUP_DTEST5, 14)
1491  self.execCommand(CMD_SCLEANUP_DTEST6, 15)
1492  self.execCommand(CMD_SCLEANUP_DTEST7, 16)
1493  self.execCommand(CMD_SCLEANUP_DTEST8, 17)
1494 
1495  self.execCommand(CMD_UPURGE4, 18)
1496 
1497  self.execCommand(CMD_SDELETE_DTEST1, 19)
1498  self.execCommand(CMD_SDELETE_DTEST2, 20)
1499 
1500  self.url = "http://dtest1.com/page1.html"
1501  self.siteId = "e543803a822340b0706477699ef78709"
1502  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1503  self.makeContent()
1504  self.url = "http://dtest1.com/page2.html"
1505  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1506  self.makeContent()
1507  self.url = "http://dtest1.com/page3.html"
1508  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1509  self.makeContent()
1510  self.url = "http://dtest2.com/page1.html"
1511  self.siteId = "50f5c4c74336ccda936bb807c93b73b7"
1512  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1513  self.makeContent()
1514  self.url = "http://dtest2.com/page2.html"
1515  self.urlMd5 = hashlib.md5(self.url).hexdigest()
1516  self.makeContent()
1517  self.execCommand(CMD_UNEW_DELAY_TEST1A, 21)
1518  self.execCommand(CMD_UNEW_DELAY_TEST2A, 21)
1519 
1520  self.execCommand(CMD_SCLEANUP_DTEST1, 22)
1521  self.execCommand(CMD_SCLEANUP_DTEST2, 23)
1522 
1523  for i in xrange(24, 30):
1524  self.execCommand(CMD_UPURGE3, i)
1525 
1526  print "test_14_Delay FN"
1527  self.mutex.release()
1528 
1529 
1530  def test_15_FieldRecalculator(self):
1531  self.mutex.acquire()
1532  print "test_15_FieldRecalculator"
1533  obj = self.execCommand(CMD_SRECALCULATE, 0)
1534  if obj != None:
1535  self.checkFieldRecalculator(obj, 0)
1536  print "test_15_FieldRecalculator FN"
1537  self.mutex.release()
1538 
1539 
1540  def test_16_UrlVerify(self):
1541  self.mutex.acquire()
1542  print "test_16_UrlVerify"
1543  self.execCommand(CMD_UNEW_VERIFY, 0)
1544  self.execCommand(CMD_UNEW_VERIFY2, 0)
1545  obj = self.execCommand(CMD_UVERIFY, 1)
1546  if obj != None:
1547  self.checkVerify(obj, 1)
1548  print "test_16_UrlVerify FN"
1549  self.mutex.release()
1550 
1551 
1552  def test_17_UrlNewUpdate(self):
1553  self.mutex.acquire()
1554  print "test_17_UrlNewUpdate"
1555  self.execCommand(CMD_UNEW_UPDATE5, 0)
1556  print "test_17_UrlNewUpdate FN"
1557  self.mutex.release()
1558 
1559 
1560  def test_18_AdditionFieldRecalculator(self):
1561  self.mutex.acquire()
1562  print "test_18_AdditionFieldRecalculator"
1563  self.execCommand(CMD_SRECALCULATE_ADD, 0)
1564  self.execCommand(CMD_SRECALCULATE_ADD1, 0)
1565  print "test_18_AdditionFieldRecalculator FN"
1566  self.mutex.release()
1567 
1568 
1569  def test_19_UrlAging(self):
1570  self.mutex.acquire()
1571  print "test_19_UrlAging"
1572  self.execCommand(CMD_UNEW_AGE, 0)
1573  self.execCommand(CMD_UNEW_AGE1, 0)
1574  self.execCommand(CMD_UNEW_AGE2, 0)
1575  self.execCommand(CMD_UAGE, 1)
1576  print "test_19_UrlAging FN"
1577  self.mutex.release()
1578  '''
1579 
1580  '''
1581  def test_20_MySQLContent(self):
1582  self.mutex.acquire()
1583  print "test_20_MySQLContent"
1584  self.execCommand(CMD_SNEW_CONTENT, 0)
1585  self.execCommand(CMD_CUSTOM_CONTENT, 1)
1586  self.execCommand(CMD_CUSTOM_CONTENT_INSERT, 2)
1587  obj = self.execCommand(CMD_UCONTENT_MYSQL, 3)
1588  if obj != None:
1589  self.checkMySQLContent(obj, 4)
1590  print "test_20_MySQLContent FN"
1591  self.mutex.release()
1592 
1593 
1594  CMD_SNEW_TEST = ("cd ../../bin && /usr/bin/python ./db-task.py --cfg=../ini/db-task.ini " +
1595  "<../hce/ftests/db-task-data/site_new_test.dat")
1596 
1597  def test_21_MySQLContent(self):
1598  self.execCommand(self.CMD_SNEW_TEST, 0)
1599  '''
1600 
1601 
1603  self.mutex.acquire()
1604  print "test_22_UrlPutTest"
1605  self.execCommand(CMD_UNEW_PUT, 0)
1606  self.execCommand(CMD_UPUT, 1)
1607  self.execCommand(CMD_UPUT1, 2)
1608  print "test_22_UrlPutTest FN"
1609  self.mutex.release()
1610 
1611 
1612 if __name__ == "__main__":
1613  #import sys;sys.argv = ['', 'Test.testName']
1614  unittest.TestLoader.sortTestMethodsUsing = None
1615  unittest.main()
def checkUStep10(self, obj, step)
def checkCStep1(self, obj, step)
def checkSQLCustom3(self, obj, step)
def checkSiteFind(self, obj, step)
def checkSStep6(self, obj, step)
def checkSStatusUrls(self, obj, step)
def checkUStep8(self, obj, step)
GeneralResponse event object, represents general state response for multipurpose usage.
def checkUStep13(self, obj, step)
def checkSStep1(self, obj, step)
def checkFieldRecalculator(self, obj, step)
def checkUStep2(self, obj, step)
def checkSStep9(self, obj, step)
def checkUStep14(self, obj, step)
def checkUStep7(self, obj, step)
def checkUStep3(self, obj, step)
def checkUStep15(self, obj, step)
def checkSStep5(self, obj, step)
def checkMySQLContent(self, obj, step)
def checkSStep3(self, obj, step)
def checkIntelStep3(self, obj, step)
def checkUStep4(self, obj, step)
def execCommand(self, command, step)
def checkSStep2(self, obj, step)
def checkUStep5(self, obj, step)
def checkVerify(self, obj, step)
def checkUStep6(self, obj, step)
def checkSStep10(self, obj, step)
def checkSQLCustom1(self, obj, step)
def checkSStep7(self, obj, step)
def checkIntelStep0(self, obj, step)
def checkUStep11(self, obj, step)
def checkUStep16(self, obj, step)
def checkCriterions2(self, obj, step)
def checkSStep8(self, obj, step)
def checkURLContentBDFields(self, obj, step)
def checkCStep2(self, obj, step)
def fileCreate(self, directory, fName, data)
def checkUStep1(self, obj, step)
def checkUStep17(self, obj, step)
def checkSiteCriterions2(self, obj, step)
def checkSQLCustom2(self, obj, step)
def checkSStep4(self, obj, step)
def checkUStep9(self, obj, step)
def checkDeleteBad(self, obj, step)
def checkUStep12(self, obj, step)
def checkCStep3(self, obj, step)
def checkSiteCriterions1(self, obj, step)