def test_get_sps_packages_moves_from_xc_dir_if_xc_source_exists(
         self, mk_open, mk_variable_get, mk_shutil):
     mk_variable_get.return_value = ""
     kwargs = {
         "ti": MagicMock(),
     }
     get_sps_packages(**kwargs)
     mk_shutil.move.assert_not_called()
 def test_get_sps_packages_calls_ti_xcom_push_with_empty_list(
         self, mk_open, mk_variable_get, mk_path_exists, mk_shutil):
     mk_path_exists.return_value = False
     mk_variable_get.return_value = ""
     kwargs = {
         "scilista": ["rba v53n1"],
         "ti": MagicMock(),
     }
     get_sps_packages(**kwargs)
     kwargs["ti"].xcom_push.assert_called_once_with(key="sps_packages",
                                                    value=[])
    def test_get_sps_packages_gets_xc_dir_from_variable(
            self, mk_open, mk_variable_get, MockPath):

        mk_variable_get.side_effect = [
            "dir/path/scilista.lst", "dir/source", "dir/destination"
        ]
        kwargs = {
            "ti": MagicMock(),
        }
        get_sps_packages(**kwargs)
        MockPath.assert_any_call("dir/source")
        MockPath.assert_any_call("dir/destination")
 def test_get_sps_packages_calls_ti_xcom_push_with_sps_packages_list(
         self, mk_open, mk_variable_get, mk_path_exists, mk_shutil):
     mk_path_exists.return_value = True
     mk_variable_get.return_value = "dir/destination/"
     mk_open.return_value.__enter__.return_value.readlines.return_value = [
         "rba v53n1", "rba 2018nahead", "rsp v10n2-3", "abc v50"
     ]
     kwargs = {"ti": MagicMock()}
     get_sps_packages(**kwargs)
     kwargs["ti"].xcom_push.assert_called_once_with(
         key="sps_packages",
         value=[
             "dir/destination/abc_v50.zip",
             "dir/destination/rba_2018nahead.zip",
             "dir/destination/rba_v53n1.zip",
             "dir/destination/rsp_v10n2-3.zip",
         ])
    def test_get_sps_packages_moves_from_xc_dir_to_proc_dir(
            self, mk_open, mk_variable_get, mk_path_exists, mk_shutil):
        mk_path_exists.return_value = True
        mk_open.return_value.__enter__.return_value.readlines.return_value = [
            "rba v53n1",
        ]

        with tempfile.TemporaryDirectory() as tmpdirname:
            test_paths = [
                "dir/path/scilista.lst",
                "../fixtures",
                tmpdirname,
            ]
            mk_variable_get.side_effect = test_paths
            kwargs = {
                "ti": MagicMock(),
            }
            get_sps_packages(**kwargs)
            mk_shutil.move.assert_called_once_with(
                "../fixtures/rba_v53n1.zip", tmpdirname + "/rba_v53n1.zip")
 def test_read_scilista_from_file(self, mk_variable_get, mk_open):
     mk_variable_get.return_value = "dir/path/scilista.lst"
     kwargs = {"ti": MagicMock()}
     get_sps_packages(**kwargs)
     mk_open.assert_called_once_with("dir/path/scilista.lst")