def test_should_query_specification_visitor(self): ParserVisitor.visit = MagicMock() mock_visit = ParserVisitor.visit mock_visit.side_effect = [ "columns", { "from": ["tables"], "where": "predicates" } ] visitor = ParserVisitor() ctx = MagicMock() child_1 = MagicMock() child_1.getRuleIndex.return_value = evaql_parser.RULE_selectElements child_2 = MagicMock() child_2.getRuleIndex.return_value = evaql_parser.RULE_fromClause ctx.children = [None, child_1, child_2] expected = visitor.visitQuerySpecification(ctx) mock_visit.assert_has_calls([call(child_1), call(child_2)]) self.assertEqual(expected.from_table, "tables") self.assertEqual(expected.where_clause, "predicates") self.assertEqual(expected.target_list, "columns")
def test_visit_query_specification_base_exception(self): ''' Testing Base Exception error handling Function: visitQuerySpecification ''' ParserVisitor.visit = MagicMock() ParserVisitor.visit visitor = ParserVisitor() ctx = MagicMock() child_1 = MagicMock() child_2 = MagicMock() ctx.children = [None, child_1, child_2] child_1.getRuleIndex.side_effect = BaseException() expected = visitor.visitQuerySpecification(ctx) self.assertEqual(expected, None)