Esempio n. 1
0
    def test_format_and_write_one(self):
        io_stream = io.StringIO()
        JasminJobMonitor._format_and_write(
            {"236": ["Willem", StatusCodes.DONE, ""]}, io_stream)

        io_stream.seek(0)
        self.assertEqual("236_Willem,DONE,\n", io_stream.read())
Esempio n. 2
0
    def test_create_scheduler_interface_nonsense(self):
        try:
            os.environ["SCHEDULER"] = "heffalump"

            JasminJobMonitor._create_scheduler_interface()
            self.fail("ValueError expected")
        except (ValueError):
            pass
        finally:
            del os.environ["SCHEDULER"]
Esempio n. 3
0
    def test_format_and_write_three(self):
        io_stream = io.StringIO()
        JasminJobMonitor._format_and_write(
            {
                "237": ["Hans", StatusCodes.DONE, ""],
                "238": ["Jana", StatusCodes.DONE, ""],
                "239": ["Hinni", StatusCodes.RUNNING, ""]
            }, io_stream)

        io_stream.seek(0)
        self.assertEqual(
            "237_Hans,DONE,\n"
            "238_Jana,DONE,\n"
            "239_Hinni,RUNNING,\n", io_stream.read())
Esempio n. 4
0
    def test_create_scheduler_interface_LSF(self):
        try:
            os.environ["SCHEDULER"] = "LSF"

            scheduler_interface = JasminJobMonitor._create_scheduler_interface(
            )
            self.assertIsInstance(scheduler_interface, LSFInterface)
        finally:
            del os.environ["SCHEDULER"]
Esempio n. 5
0
    def test_parse_watch_dict(self):
        cmd_line = "14837827_ingest-slstr-s3a-nt-v01-2020-001-2020-001 14837826_ingest-slstr-s3a-nt-v01-2020-002-2020-002 14837829_ingest-slstr-s3a-nt-v01-2020-003-2020-003 14837830_ingest-slstr-s3a-nt-v01-2020-004-2020-004 14837833_ingest-slstr-s3a-nt-v01-2020-005-2020-005 14837834_ingest-slstr-s3a-nt-v01-2020-006-2020-006 14837836_ingest-slstr-s3a-nt-v01-2020-007-2020-007"

        watch_dict = JasminJobMonitor._parse_watch_dict(cmd_line)
        self.assertEqual(7, len(watch_dict))
        self.assertEqual("ingest-slstr-s3a-nt-v01-2020-001-2020-001",
                         watch_dict["14837827"])
        self.assertEqual("ingest-slstr-s3a-nt-v01-2020-005-2020-005",
                         watch_dict["14837833"])
Esempio n. 6
0
    def test_create_scheduler_interface_SLURM(self):
        try:
            os.environ["SCHEDULER"] = "SLURM"
            os.environ["MMS_USER"] = "******"

            scheduler_interface = JasminJobMonitor._create_scheduler_interface(
            )
            self.assertIsInstance(scheduler_interface, SLURMInterface)
        finally:
            del os.environ["SCHEDULER"]
            del os.environ["MMS_USER"]
Esempio n. 7
0
 def test_resolve_jobs_both_dicts(self):
     resolved, check_log = JasminJobMonitor._resolve_jobs(
         {
             12: "Willem",
             13: "Agathe",
             14: "Sumse"
         }, {
             12: StatusCodes.DONE,
             14: StatusCodes.DONE
         })
     self.assertEqual(2, len(resolved))
     self.assertEqual(["Willem", StatusCodes.DONE, ""], resolved[12])
     self.assertEqual(["Sumse", StatusCodes.DONE, ""], resolved[14])
     self.assertEqual(1, len(check_log))
     self.assertEqual("Agathe", check_log[13])
Esempio n. 8
0
 def test_create_scheduler_interface_no_environ(self):
     try:
         JasminJobMonitor._create_scheduler_interface()
         self.fail("ValueError expected")
     except (ValueError):
         pass
Esempio n. 9
0
    def test_format_and_write_empty(self):
        io_stream = io.StringIO()
        JasminJobMonitor._format_and_write([], io_stream)

        self.assertEqual("", io_stream.read())
Esempio n. 10
0
 def test_resolve_jobs(self):
     resolved, check_log = JasminJobMonitor._resolve_jobs(
         {12: "Willem"}, {12: StatusCodes.DONE})
     self.assertEqual(1, len(resolved))
     self.assertEqual(["Willem", StatusCodes.DONE, ""], resolved[12])
     self.assertEqual(0, len(check_log))
Esempio n. 11
0
 def test_resolve_jobs_empty_status_dict(self):
     resolved, check_log = JasminJobMonitor._resolve_jobs({12: "Willem"},
                                                          {})
     self.assertEqual(0, len(resolved))
     self.assertEqual(1, len(check_log))
     self.assertEqual("Willem", check_log[12])
Esempio n. 12
0
 def test_resolve_jobs_two_empty_dicts(self):
     resolved, check_log = JasminJobMonitor._resolve_jobs({}, {})
     self.assertEqual(0, len(resolved))
     self.assertEqual(0, len(check_log))