Esempio n. 1
0
 def test_execute_workflow_success(self, _execute_command):
     sql = 'set 1 1'
     row = ReviewResult(id=1,
                        errlevel=0,
                        stagestatus='Execute Successfully',
                        errormessage='None',
                        sql=sql,
                        affected_rows=0,
                        execute_time=0,
                        full_sql=sql)
     wf = SqlWorkflow.objects.create(workflow_name='some_name',
                                     group_id=1,
                                     group_name='g1',
                                     engineer_display='',
                                     audit_auth_groups='some_group',
                                     create_time=datetime.now() -
                                     timedelta(days=1),
                                     status='workflow_finish',
                                     is_backup='是',
                                     instance=self.ins,
                                     db_name='some_db',
                                     syntax_type=1)
     SqlWorkflowContent.objects.create(workflow=wf, sql_content=sql)
     new_engine = RedisEngine(instance=self.ins)
     execute_result = new_engine.execute_workflow(workflow=wf)
     self.assertIsInstance(execute_result, ReviewSet)
     self.assertEqual(execute_result.rows[0].__dict__, row.__dict__)
Esempio n. 2
0
 def test_query_masking(self):
     query_result = ResultSet()
     new_engine = RedisEngine(instance=self.ins)
     masking_result = new_engine.query_masking(db_name=0,
                                               sql='',
                                               resultset=query_result)
     self.assertEqual(masking_result, query_result)
Esempio n. 3
0
 def test_query_check_danger_cmd(self):
     safe_cmd = "keys *"
     new_engine = RedisEngine(instance=self.ins)
     check_result = new_engine.query_check(db_name=0, sql=safe_cmd)
     self.assertDictEqual(
         check_result, {
             'msg': '禁止执行该命令!',
             'bad_query': True,
             'filtered_sql': safe_cmd,
             'has_star': False
         })
Esempio n. 4
0
 def test_execute_check(self):
     sql = 'set 1 1'
     row = ReviewResult(id=1,
                        errlevel=0,
                        stagestatus='Audit completed',
                        errormessage='None',
                        sql=sql,
                        affected_rows=0,
                        execute_time=0,
                        full_sql=sql)
     new_engine = RedisEngine(instance=self.ins)
     check_result = new_engine.execute_check(db_name=0, sql=sql)
     self.assertIsInstance(check_result, ReviewSet)
     self.assertEqual(check_result.rows[0].__dict__, row.__dict__)
Esempio n. 5
0
 def test_filter_sql(self):
     safe_cmd = "keys 1*"
     new_engine = RedisEngine(instance=self.ins)
     check_result = new_engine.filter_sql(sql=safe_cmd, limit_num=100)
     self.assertEqual(check_result, 'keys 1*')
Esempio n. 6
0
 def test_get_all_databases(self, _config_get):
     new_engine = RedisEngine(instance=self.ins)
     dbs = new_engine.get_all_databases()
     self.assertListEqual(dbs, ['0', '1', '2', '3'])
Esempio n. 7
0
 def test_query_execute(self, _execute_command):
     new_engine = RedisEngine(instance=self.ins)
     query_result = new_engine.query(db_name=0, sql='keys *', limit_num=100)
     self.assertIsInstance(query_result, ResultSet)
     self.assertTupleEqual(query_result.rows, (['text'],))
Esempio n. 8
0
 def test_get_connection(self, _conn):
     new_engine = RedisEngine(instance=self.ins)
     new_engine.get_connection()
     _conn.assert_called_once()