# Copyright 2021 Spotify AB
#
# Licensed 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.
#
"""Test variables defined in klio-core."""

import pytest

from klio_core import variables as kvars


@pytest.mark.parametrize(
    "value,other,expected",
    (
        (kvars.KlioRunner.DIRECT_GKE_RUNNER, "directgkerunner", True),
        (kvars.KlioRunner.DIRECT_GKE_RUNNER, "DirectGKERunner", True),
        (kvars.KlioRunner.DIRECT_GKE_RUNNER, "direct", False),
        (kvars.KlioRunner.DIRECT_GKE_RUNNER, "directrunner", False),
        (kvars.KlioRunner.DIRECT_RUNNER, "directrunner", True),
        (kvars.KlioRunner.DIRECT_RUNNER, "DirectRunner", True),
        (kvars.KlioRunner.DIRECT_RUNNER, "direct", True),
        (kvars.KlioRunner.DIRECT_RUNNER, "dataflow", False),
        (kvars.KlioRunner.DIRECT_RUNNER, "DirectGKERunner", False),
        (kvars.KlioRunner.DATAFLOW_RUNNER, "direct", False),
        (kvars.KlioRunner.DATAFLOW_RUNNER, "directrunner", False),
        (kvars.KlioRunner.DATAFLOW_RUNNER, "DirectGKERunner", False),
        (kvars.KlioRunner.DATAFLOW_RUNNER, "Dataflow", True),
        (kvars.KlioRunner.DATAFLOW_RUNNER, "dataflow", True),
        (kvars.KlioRunner.DATAFLOW_RUNNER, "DataflowRunner", True),
    ),
)
def test_klio_runner_eq(value, other, expected):
    actual = value == other
    assert expected == actual
