def verifyRetry(self): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError()
def verify(self, round): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError( "Number of record in table is different from number of record sent" ) # validate content of line 1 res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() # "schema_id" is lost since they are using native avro converter goldMeta = r'{"CreateTime":\d*,"key":{"bytes_val":"3q0=","dateTime":1234,"device":' \ r'{"deviceID":"555-4321","enabled":true},"double_array_val":' \ r'[0.3333333333333333,32.21,4.343243210000000e+08],"float_val":4321.432,' \ r'"int32_val":2147483647,"reading":321.321,"sint32_val":2147483647,"sint64_val":9223372036854775807,' \ r'"uint32_val":4294967295,"uint64_val":-1},"offset":\d*,"partition":\d*,"topic":"travis_correct_confluent_protobuf_protobuf....."}' goldContent = r'{"bytes_val":"3q0=","dateTime":1234,"device":{"deviceID":"555-4321","enabled":true},"double_array_val":' \ r'[0.3333333333333333,32.21,4.343243210000000e+08],"float_val":4321.432,"int32_val":2147483647,' \ r'"reading":321.321,"sint32_val":2147483647,"sint64_val":9223372036854775807,"uint32_val":4294967295,"uint64_val":-1}' self.driver.regexMatchOneLine(res, goldMeta, goldContent) self.driver.verifyStageIsCleaned(self.topic)
def verify(self): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError("Number of record in table is different from number of record sent") # validate content of line 1 res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() goldMeta = r'{"CreateTime":\d*,"offset":0,"partition":0,"topic":"travis_correct_string_json....."}' goldContent = r'{"number":"0"}' self.driver.regexMatchOneLine(res, goldMeta, goldContent)
def verify(self): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.table)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError( "Number of record in table is different from number of record sent" ) res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.table)).fetchone() goldMeta = r'{"CreateTime":\d*,"key":{"int":"\d"},"offset":\d,"partition":\d,' \ r'"topic":"travis_correct_native_complex_smt....."}' goldContent = r'{"c1":{"int":"\d"}}' self.driver.regexMatchOneLine(res, goldMeta, goldContent)
def verify(self): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError("Number of record in table is different from number of record sent") # validate content of line 1 res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() goldMeta = r'{"CreateTime":\d*,"key":[{"timestamp":\d*,"tweet":"Rock:Nerfpaper,scissorsisfine.",' \ r'"username":"******"},{"timestamp":\d*,"tweet":"Worksasintended.TerranisIMBA.",' \ r'"username":"******"}],"offset":0,"partition":0,"topic":"travis_correct_avro_avro....."}' goldContent = r'{"timestamp":\d*,"tweet":"Rock:Nerfpaper,scissorsisfine.","username":"******"}' self.driver.regexMatchOneLine(res, goldMeta, goldContent)
def verify(self): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError( "Number of record in table is different from number of record sent" ) # validate content of line 1 res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() goldMeta = r'{"CreateTime":\d*,"key":{"id":0},"key_schema_id":\d*,"offset":0,"partition":0,"schema_id":\d*,' \ r'"topic":"travis_correct_avrosr_avrosr....."}' goldContent = r'{"firstName":"abc0","id":0,"time":1835}' self.driver.regexMatchOneLine(res, goldMeta, goldContent)
def verify(self, round): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError( "Number of record in table is different from number of record sent" ) # validate content of line 1 res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() goldMeta = r'{"key":{"number":"0"},"offset":0,"partition":0}' goldContent = r'{"number":"0"}' self.driver.regexMatchOneLine(res, goldMeta, goldContent) self.driver.verifyStageIsCleaned(self.topic)
def verify(self, round): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError( "Number of record in table is different from number of record sent" ) # validate content of line 1, this way we ensure SMT is working res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() goldMeta = r'{"CreateTime":\d*,"offset":0,"partition":0,' \ r'"topic":"travis_correct_native_string_json_without_schema....."}' goldContent = r'{"number":"0"}' self.driver.regexMatchOneLine(res, goldMeta, goldContent) self.driver.verifyStageIsCleaned(self.topic)
def verify(self, round): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError("Number of record in table is different from number of record sent") # validate content of line 1 res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() # "schema_id" is lost since they are using native avro converter goldMeta = r'{"CreateTime":\d*,"offset":0,"partition":0,' \ r'"topic":"travis_correct_native_string_avrosr....."}' goldContent = r'{"firstName":"abc0","time":1835}' self.driver.regexMatchOneLine(res, goldMeta, goldContent) self.driver.verifyStageIsCleaned(self.topic)
def verify(self, round): res = self.driver.snowflake_conn.cursor().execute( "SELECT count(*) FROM {}".format(self.topic)).fetchone()[0] if res == 0: raise RetryableError() elif res != 100: raise NonRetryableError("Number of record in table is different from number of record sent") # validate content of line 1 if self.driver.testVersion != "5.5.0" and self.driver.testVersion != "2.5.0": goldMeta = r'{"CreateTime":\d*,"headers":{"header1":"value1","header2":{}},"offset":0,"partition":0,"topic":"travis_correct_string_json....."}' else: goldMeta = r'{"CreateTime":\d*,"headers":{"header1":"value1","header2":[]},"offset":0,"partition":0,"topic":"travis_correct_string_json....."}' res = self.driver.snowflake_conn.cursor().execute( "Select * from {} limit 1".format(self.topic)).fetchone() goldContent = r'{"number":"0"}' self.driver.regexMatchOneLine(res, goldMeta, goldContent) self.driver.verifyStageIsCleaned(self.topic)