blob: 17155ab74fafb768a617e14d9b25f9b2423b115f [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from __future__ import absolute_import, division, print_function
import logging
import pytest
import os
from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
LOG = logging.getLogger(__name__)
class TestExternalPlanner(CustomClusterTestSuite):
@classmethod
def setup_class(cls):
super(TestExternalPlanner, cls).setup_class()
os.environ["CUSTOM_CLASSPATH"] = os.getenv("IMPALA_HOME") + \
"/java/external-frontend/target/external-frontend-1.0.jar"
@pytest.mark.execute_serially
@CustomClusterTestSuite.with_args(
impalad_args="-jni_frontend_class=org/apache/impala/externalfrontend/TestJniFrontend")
def test_external_frontend(self, vector):
setup_client = self.create_impala_client()
assert setup_client.execute("select 2").data == ['2']
# The custom JniFrontend overrides the 'select 1' query with a 'select 42' query.
assert setup_client.execute("select 1").data == ['42']