示例#1
0
    def test_variables_sent_correctly(self):
        class Item:
            def __init__(self, key, val):
                self.key = key
                self.val = val

        class Session:
            def query(self, mock):
                return self

            def filter(self, mock):
                self.mock = mock
                return self

            def __iter__(self):
                for env in variable.key.in_.call_args[0][0]:
                    yield Item(env, env.upper())

        session = Session()
        with patch("airflow_docker.ext.environment_preset.Variable",
                   new=MagicMock()) as variable:
            result = collect_environment_preset(session, self.Operator(), None,
                                                {
                                                    "env": "ENV_VAR",
                                                    "bar": "BAR_VAR"
                                                })
        assert sorted(variable.key.in_.call_args[0][0]) == ["bar", "env"]
        assert result == {"ENV_VAR": "ENV", "BAR_VAR": "BAR"}
示例#2
0
 def test_keys_no_variables(self):
     with patch(
             "airflow_docker.ext.environment_preset.collect_variable_values",
             return_value={},
     ):
         result = collect_environment_preset(
             None,
             self.Operator(),
             {
                 "dag": self.Dag(),
                 "run_id": "run"
             },
             {
                 "docker_image_name": "DI",
                 "docker_image_tag": "DT",
                 "docker_image": "D",
                 "dagrun_id": "DR",
                 "task_name": "TN",
             },
         )
     assert result == {
         "DI": "foo/bar",
         "DT": "latest",
         "D": "foo/bar",
         "DR": "run",
         "TN": "bar__foo",
     }
示例#3
0
 def test_null_variables(self):
     with patch(
             "airflow_docker.ext.environment_preset.collect_variable_values",
             return_value={"env": None},
     ):
         result = collect_environment_preset(None, self.Operator(), None,
                                             {"env": "ENV"})
     assert result == {}
示例#4
0
 def test_invalid_keys(self):
     with patch(
             "airflow_docker.ext.environment_preset.collect_variable_values",
             return_value={"meow": "meow"},
     ):
         result = collect_environment_preset(None, self.Operator(), None,
                                             {})
     assert result == {}
示例#5
0
 def test_keys_variables(self):
     with patch(
             "airflow_docker.ext.environment_preset.collect_variable_values",
             return_value={"env": "prod"},
     ):
         result = collect_environment_preset(None, self.Operator(), None, {
             "docker_image_name": "DI",
             "env": "ENV"
         })
     assert result == {"DI": "foo/bar", "ENV": "prod"}