def testCreateTablePidEmpty(self): """ pid配空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, pid=1) retStatus = jobHelper.run(failonerror=False) self.assertTrue(retStatus)
def testCreateTableNameEmpty(self): """ table名为空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, name='') retStatus = jobHelper.run(failonerror=False) self.assertFalse(retStatus)
def testCreateTableTableIdEmpty(self): """ table_id配空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, tid=0) retStatus = jobHelper.run(failonerror=False) self.assertFalse(retStatus)
def testCreateTableNameIllegal(self): """ table名有特殊字符 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, name='ill_*/.&@#') retStatus = jobHelper.run(failonerror=False) self.assertTrue(retStatus)
def testCreateTableTableIdDuplicate(self): """ 已经存在的table_id,再次执行create操作失败 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, tid='123456') jobHelper.append(jobHelper.rtidbClient.create_table, tid='123456') retStatus = jobHelper.run(failonerror=False) self.assertFalse(retStatus)
def testSequenceSameTs(self): """ put 多条相同时间戳数据 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, time=1494496520) jobHelper.append(jobHelper.rtidbClient.put, time=1494496521) jobHelper.append(jobHelper.rtidbClient.put, time=1494496521) jobHelper.append(jobHelper.rtidbClient.put, time=1494496521) jobHelper.append(jobHelper.rtidbClient.put, time=1494496521) jobHelper.append(jobHelper.rtidbClient.put, time=1494496525) jobHelper.append(jobHelper.rtidbClient.put, time=1494496526) jobHelper.append(jobHelper.rtidbClient.scan, stime=1494496522, etime=1494496520) jobHelper.run(autoidentity=False) self.assertEqual(4, len(jobHelper.scanout_message()))
def testDropTableTidInvalid(self): """ 不存在的table_id进行drop """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, tid=123) jobHelper.append(jobHelper.rtidbClient.scan, tid=123) jobHelper.append(jobHelper.rtidbClient.drop_table, tid=123456) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertFalse(retStatus)
def testCreateTablePid0(self): """ pid=0 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, pid=0) jobHelper.append(jobHelper.rtidbClient.put) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testScanCommon(self): """ scan操作,正确处理 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testDropTableRedo(self): """ 已经drop的表再次执行drop """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.drop_table) jobHelper.append(jobHelper.rtidbClient.drop_table) retStatus = jobHelper.run(failonerror=False) self.assertFalse(retStatus)
def testScanTimeEqual(self): """ timestamp_start = timestamp_end """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, time=1494496520) jobHelper.append(jobHelper.rtidbClient.put, time=1494496521) jobHelper.append(jobHelper.rtidbClient.put, time=1494496522) jobHelper.append(jobHelper.rtidbClient.put, time=1494496523) jobHelper.append(jobHelper.rtidbClient.scan, stime=1494496521, etime=1494496521) jobHelper.run(autoidentity=False) retStatus, retMsg = jobHelper.identify( jobHelper.input_message(), jobHelper.scanout_message(), inputJunkFunc=lambda x: x['time'] == 1494496521) self.assertFalse(retStatus, retMsg)
def testCreateTableNameDuplicate(self): """ 已经存在的table名,再次执行create操作失败 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, name='table_duplacate') jobHelper.append(jobHelper.rtidbClient.create_table, name='table_duplacate') retStatus = jobHelper.run(failonerror=False) self.assertFalse(retStatus)
def testCreateTablePidMax(self): """ pid=max """ jobHelper = JobHelper() import sys jobHelper.append(jobHelper.rtidbClient.create_table, pid=sys.maxint) jobHelper.append(jobHelper.rtidbClient.put, pid=sys.maxint) jobHelper.append(jobHelper.rtidbClient.scan, pid=sys.maxint) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testTtlCommon(self): """ 配置ttl时间,put 10条时序数据,sleep直到t0-t4过期,scan结果 """ jobHelper = JobHelper() put_time = long(time.time() * 1000) jobHelper.append(jobHelper.rtidbClient.create_table, ttl=10) jobHelper.append(jobHelper.rtidbClient.put, time=put_time) jobHelper.append(jobHelper.rtidbClient.put, time=put_time - 20l) jobHelper.append(jobHelper.rtidbClient.put, time=put_time - 11l * 60 * 1000) jobHelper.append(jobHelper.rtidbClient.scan, stime=put_time, etime=put_time - 12l * 60 * 1000) jobHelper.run(autoidentity=False) retStatus, retMsg = jobHelper.identify( jobHelper.input_message(), jobHelper.scanout_message(), inputJunkFunc=lambda x: x['time'] > put_time - 11l * 60 * 1000) self.assertTrue(retStatus, retMsg)
def testScanPkInvalid(self): """ 不存在的partition_key进行scan """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, pk='123') jobHelper.append(jobHelper.rtidbClient.scan, pk='456') retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertTrue(retStatus) self.assertEqual(0, len(jobHelper.scanout_message()))
def testScanTidInvalid(self): """ table_id不存在的表进行scan """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, tid=123) jobHelper.append(jobHelper.rtidbClient.put, tid=123) jobHelper.append(jobHelper.rtidbClient.scan, tid=456) retStatus = jobHelper.run(autoidentity=False, logcheck=False) self.assertTrue(retStatus) self.assertEqual(0, len(jobHelper.scanout_message()))
def testScanEtimeEmpty(self): """ timestamp_end为空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put) jobHelper.append(jobHelper.rtidbClient.scan, etime=0) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertTrue(retStatus) self.assertEqual(1, len(jobHelper.scanout_message()))
def testPutTid0(self): """ table_id=0 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, tid=0) jobHelper.append(jobHelper.rtidbClient.put, tid=0) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertFalse(retStatus)
def testPutValueEmpty(self): """ value是空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, value='') jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testPutValueEncode(self): """ value是特殊编码数据 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, value='ボールト') jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testPutValueBig(self): """ value是1M string """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, value='a' * 1024 * 1025) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testPutValueInit(self): """ value是int数据 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, value=123) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run() self.assertTrue(retStatus)
def testPutPkEmpty(self): """ partition_key为空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, pk='') jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run(autoidentity=False) self.assertTrue(retStatus) self.assertEqual(0, len(jobHelper.scanout_message()))
def testPutTidEmpty(self): """ table_id为空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, tid='') jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertFalse(retStatus) self.assertEqual(0, len(jobHelper.scanout_message()))
def testPutDropedTable(self): """ 已经drop的表执行put """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.drop_table) jobHelper.append(jobHelper.rtidbClient.put) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertFalse(retStatus)
def testPutInvalidTid(self): """ 不存在的table_id执行put """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table, tid=123) jobHelper.append(jobHelper.rtidbClient.put, tid=456) jobHelper.append(jobHelper.rtidbClient.scan, tid=123) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertFalse(retStatus) self.assertEqual(0, len(jobHelper.scanout_message()))
def testPutValueNone(self): """ value是空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, value=None) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertTrue(retStatus) self.assertEqual(1, len(jobHelper.scanout_message()))
def testPutTimeStampInvalid(self): """ timestamp为空 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, time=0) jobHelper.append(jobHelper.rtidbClient.scan) retStatus = jobHelper.run(failonerror=False, autoidentity=False) self.assertTrue(retStatus) self.assertEqual(0, len(jobHelper.scanout_message()))
def testDropTableLoop(self): """ 相同名称已经id的表,连续执行create -> drop -> create -> drop """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.drop_table) jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.drop_table) jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.drop_table) retStatus = jobHelper.run(failonerror=False) self.assertTrue(retStatus)
def testDisorderPut(self): """ 乱序put,scan结果时序正确 """ jobHelper = JobHelper() jobHelper.append(jobHelper.rtidbClient.create_table) jobHelper.append(jobHelper.rtidbClient.put, time=1494496522) jobHelper.append(jobHelper.rtidbClient.put, time=1494496520) jobHelper.append(jobHelper.rtidbClient.put, time=1494496521) jobHelper.append(jobHelper.rtidbClient.put, time=1494496525) jobHelper.append(jobHelper.rtidbClient.put, time=1494496526) jobHelper.append(jobHelper.rtidbClient.put, time=1494496524) jobHelper.append(jobHelper.rtidbClient.put, time=1494496523) jobHelper.append(jobHelper.rtidbClient.scan, stime=1494496525, etime=1494496521) jobHelper.run(autoidentity=False) retStatus, retMsg = jobHelper.identify( jobHelper.input_message(), jobHelper.scanout_message(), inputJunkFunc=lambda x: 1494496521 < x['time'] <= 1494496525) self.assertTrue(retStatus, retMsg)