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
ftests.ftest_FieldsSQLExpressionEvaluator.Test Class Reference
Inheritance diagram for ftests.ftest_FieldsSQLExpressionEvaluator.Test:
Collaboration diagram for ftests.ftest_FieldsSQLExpressionEvaluator.Test:

Public Member Functions

def setUp (self)
 
def tearDown (self)
 
def getObject (self, objectName, fields)
 
def getSiteProperties (self, propertyName, propertyValue)
 
def testURLCastToInteger (self)
 
def testURLCastToString (self)
 
def testURLCastToDatetime (self)
 
def testURLCastToUnsupportType (self)
 
def testURLWrongStageForUpdate (self)
 
def testSiteCastToInteger (self)
 
def testPDateTime (self)
 

Public Attributes

 wrapper
 
 logger
 

Static Public Attributes

string CONFIG_NAME = "../../ini/db-task.ini"
 
string SITE_ID = '1234567890'
 
string URL = 'http://127.0.0.1'
 
string TEST_URL_PROPERTY_CAST_TO_INTEGER = "[{\"URL\":{\"Status\":{\"IF(%ERRORMASK% & 128 > 0, 1, %STATUS%)\":0}}}]"
 
 TEST_URL_PROPERTY_CAST_TO_STRING = \
 
 TEST_URL_PROPERTY_CAST_TO_DATETIME = \
 
string TEST_URL_PROPERTY_CAST_TO_UNSUPPORT = "[{\"URL\":{\"Status\":{\"IF(%ERRORMASK% & 128 > 0, 1, %STATUS%)\":3}}}]"
 
string TEST_SITE_PROPERTY_CAST_TO_INTEGER = "[{\"Site\":{\"Errors\":{\"IF(%ERRORMASK% & 128 > 0, 1, %ERRORS%)\":0}}}]"
 
string TEST_PDATE_TIME = "[{\"pattern\": \".*bbc.com\/dir1\/.*\", \"value\":\"IF(TIME(%PDATE%)='00:00:01', TIME(NOW()), TIME(%PDATE%))\"}]"
 

Detailed Description

Definition at line 38 of file ftest_FieldsSQLExpressionEvaluator.py.

Member Function Documentation

◆ getObject()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.getObject (   self,
  objectName,
  fields 
)

Definition at line 71 of file ftest_FieldsSQLExpressionEvaluator.py.

71  def getObject(self, objectName, fields):
72  # variable for result
73  obj = None
74 
75  if objectName == FieldsSQLExpressionEvaluator.OBJECT_NAME_SITE:
76  # Create instance of 'Site'
77  obj = dc.EventObjects.Site(self.URL)
78  elif objectName == FieldsSQLExpressionEvaluator.OBJECT_NAME_URL:
79  obj = dc.EventObjects.URL(self.SITE_ID, self.URL) # pylint: disable=R0204
80 
81  if obj is not None:
82  for fieldName, fieldValue in fields.items():
83  if hasattr(obj, fieldName):
84  setattr(obj, fieldName, fieldValue)
85 
86  return obj
87 
88 
Here is the caller graph for this function:

◆ getSiteProperties()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.getSiteProperties (   self,
  propertyName,
  propertyValue 
)

Definition at line 94 of file ftest_FieldsSQLExpressionEvaluator.py.

94  def getSiteProperties(self, propertyName, propertyValue):
95  # variable for result
96  ret = {}
97  if isinstance(propertyName, basestring) and propertyValue is not None:
98  ret[propertyName] = propertyValue
99 
100  return ret
101 
102 
Here is the caller graph for this function:

◆ setUp()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.setUp (   self)

Definition at line 55 of file ftest_FieldsSQLExpressionEvaluator.py.

55  def setUp(self):
56  cfgParser = ConfigParser.ConfigParser()
57  cfgParser.read(self.CONFIG_NAME)
58  self.wrapper = DBTasksWrapper.DBTasksWrapper(cfgParser)
59  self.logger = getLogger('hce')
60 
61 

◆ tearDown()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.tearDown (   self)

Definition at line 62 of file ftest_FieldsSQLExpressionEvaluator.py.

62  def tearDown(self):
63  pass
64 
65 

◆ testPDateTime()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testPDateTime (   self)

Definition at line 216 of file ftest_FieldsSQLExpressionEvaluator.py.

216  def testPDateTime(self):
217  errorMessage = "Return wrong 'pDate' value"
218  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_PDATE_TIME, \
219  self.TEST_PDATE_TIME)
220  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL,
221  {'status':4, 'errorMask':0, \
222  'pDate':datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), \
223  'url':'http://bbc.com/dir1/index.html'})
224  pubdate = FieldsSQLExpressionEvaluator.evaluatePDateTime(siteProperties, self.wrapper, urlObj, self.logger, None)
225 
226  self.logger.debug("pubdate = " + str(pubdate))
227  self.assertTrue(pubdate == str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")), errorMessage)
228 
Here is the call graph for this function:

◆ testSiteCastToInteger()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testSiteCastToInteger (   self)

Definition at line 197 of file ftest_FieldsSQLExpressionEvaluator.py.

197  def testSiteCastToInteger(self):
198 
199  errorMessage = "Return wrong 'errors' value"
200  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER, \
201  self.TEST_SITE_PROPERTY_CAST_TO_INTEGER)
202 
203  siteObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_SITE, {'errors':2, 'errorMask':128})
204 
205  self.logger.debug('siteObj.errors = ' + str(siteObj.errors))
206  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, siteObj, None, self.logger, \
207  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
208  self.assertTrue(changedFieldsDict["errors"] == 1, errorMessage)
209 
210  siteObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_SITE, {'errors':2, 'errorMask':127})
211  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, siteObj, None, self.logger, \
212  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
213  self.assertTrue(changedFieldsDict["errors"] == 2, errorMessage)
214 
215 
Here is the call graph for this function:

◆ testURLCastToDatetime()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testURLCastToDatetime (   self)

Definition at line 139 of file ftest_FieldsSQLExpressionEvaluator.py.

139  def testURLCastToDatetime(self):
140 
141  errorMessage = "Return wrong 'pDate' value"
142  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER, \
143  self.TEST_URL_PROPERTY_CAST_TO_DATETIME)
144 
145  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL,
146  {'pDate':'2016-01-01 00:00:00', 'errorMask':128})
147  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
148  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
149  self.assertTrue(changedFieldsDict["pDate"] == '2016-07-01 00:00:00', errorMessage + \
150  ' pDate: ' + str(urlObj.pDate))
151 
152 
153  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL,
154  {'pDate':'2016-01-01 00:00:00', 'errorMask':127})
155  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
156  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
157  self.assertTrue(changedFieldsDict["pDate"] == '2016-01-01 00:00:00', errorMessage + \
158  ' pDate: ' + str(urlObj.pDate))
159 
160 
Here is the call graph for this function:

◆ testURLCastToInteger()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testURLCastToInteger (   self)

Definition at line 103 of file ftest_FieldsSQLExpressionEvaluator.py.

103  def testURLCastToInteger(self):
104 
105  errorMessage = "Return wrong 'status' value"
106  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER, \
107  self.TEST_URL_PROPERTY_CAST_TO_INTEGER)
108 
109  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'status':7, 'errorMask':128})
110  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
111  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
112  self.assertTrue(changedFieldsDict["status"] == 1, errorMessage)
113 
114 
115  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'status':7, 'errorMask':127})
116  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
117  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
118  self.assertTrue(changedFieldsDict["status"] == 7, errorMessage)
119 
120 
Here is the call graph for this function:

◆ testURLCastToString()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testURLCastToString (   self)

Definition at line 121 of file ftest_FieldsSQLExpressionEvaluator.py.

121  def testURLCastToString(self):
122 
123  errorMessage = "Return wrong 'httpMethod' value"
124  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER, \
125  self.TEST_URL_PROPERTY_CAST_TO_STRING)
126 
127  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'httpMethod':'post', 'errorMask':128})
128  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
129  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
130  self.assertTrue(changedFieldsDict["httpMethod"] == 'post', errorMessage)
131 
132 
133  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'httpMethod':'get', 'errorMask':127})
134  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
135  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
136  self.assertTrue(changedFieldsDict["httpMethod"] == 'get', errorMessage)
137 
138 
Here is the call graph for this function:

◆ testURLCastToUnsupportType()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testURLCastToUnsupportType (   self)

Definition at line 161 of file ftest_FieldsSQLExpressionEvaluator.py.

161  def testURLCastToUnsupportType(self):
162 
163  errorMessage = "Return wrong 'status' value"
164  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER, \
165  self.TEST_URL_PROPERTY_CAST_TO_UNSUPPORT)
166 
167  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'status':4, 'errorMask':128})
168  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
169  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
170  self.assertTrue(changedFieldsDict["status"] == 4, errorMessage)
171 
172 
173  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'status':4, 'errorMask':127})
174  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
175  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
176  self.assertTrue(changedFieldsDict["status"] == 4, errorMessage)
177 
178 
Here is the call graph for this function:

◆ testURLWrongStageForUpdate()

def ftests.ftest_FieldsSQLExpressionEvaluator.Test.testURLWrongStageForUpdate (   self)

Definition at line 179 of file ftest_FieldsSQLExpressionEvaluator.py.

179  def testURLWrongStageForUpdate(self):
180 
181  errorMessage = "Return wrong 'status' value"
182  siteProperties = self.getSiteProperties(APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_PROCESSOR, \
183  self.TEST_URL_PROPERTY_CAST_TO_UNSUPPORT)
184 
185  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'status':4, 'errorMask':128})
186  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
187  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
188  self.assertTrue(changedFieldsDict["status"] == 4, errorMessage)
189 
190 
191  urlObj = self.getObject(FieldsSQLExpressionEvaluator.OBJECT_NAME_URL, {'status':4, 'errorMask':127})
192  changedFieldsDict = FieldsSQLExpressionEvaluator.execute(siteProperties, self.wrapper, None, urlObj, self.logger, \
193  APP_CONSTS.SQL_EXPRESSION_FIELDS_UPDATE_CRAWLER)
194  self.assertTrue(changedFieldsDict["status"] == 4, errorMessage)
195 
196 
Here is the call graph for this function:

Member Data Documentation

◆ CONFIG_NAME

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.CONFIG_NAME = "../../ini/db-task.ini"
static

Definition at line 39 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ logger

ftests.ftest_FieldsSQLExpressionEvaluator.Test.logger

Definition at line 59 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ SITE_ID

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.SITE_ID = '1234567890'
static

Definition at line 41 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ TEST_PDATE_TIME

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.TEST_PDATE_TIME = "[{\"pattern\": \".*bbc.com\/dir1\/.*\", \"value\":\"IF(TIME(%PDATE%)='00:00:01', TIME(NOW()), TIME(%PDATE%))\"}]"
static

Definition at line 53 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ TEST_SITE_PROPERTY_CAST_TO_INTEGER

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.TEST_SITE_PROPERTY_CAST_TO_INTEGER = "[{\"Site\":{\"Errors\":{\"IF(%ERRORMASK% & 128 > 0, 1, %ERRORS%)\":0}}}]"
static

Definition at line 51 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ TEST_URL_PROPERTY_CAST_TO_DATETIME

ftests.ftest_FieldsSQLExpressionEvaluator.Test.TEST_URL_PROPERTY_CAST_TO_DATETIME = \
static

Definition at line 47 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ TEST_URL_PROPERTY_CAST_TO_INTEGER

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.TEST_URL_PROPERTY_CAST_TO_INTEGER = "[{\"URL\":{\"Status\":{\"IF(%ERRORMASK% & 128 > 0, 1, %STATUS%)\":0}}}]"
static

Definition at line 44 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ TEST_URL_PROPERTY_CAST_TO_STRING

ftests.ftest_FieldsSQLExpressionEvaluator.Test.TEST_URL_PROPERTY_CAST_TO_STRING = \
static

Definition at line 45 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ TEST_URL_PROPERTY_CAST_TO_UNSUPPORT

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.TEST_URL_PROPERTY_CAST_TO_UNSUPPORT = "[{\"URL\":{\"Status\":{\"IF(%ERRORMASK% & 128 > 0, 1, %STATUS%)\":3}}}]"
static

Definition at line 49 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ URL

string ftests.ftest_FieldsSQLExpressionEvaluator.Test.URL = 'http://127.0.0.1'
static

Definition at line 42 of file ftest_FieldsSQLExpressionEvaluator.py.

◆ wrapper

ftests.ftest_FieldsSQLExpressionEvaluator.Test.wrapper

Definition at line 58 of file ftest_FieldsSQLExpressionEvaluator.py.


The documentation for this class was generated from the following file: