Esempio n. 1
0
    def test_workflow_run(self):
        with TestAreaContext("python/job_queue/workflow") as work_area:
            WorkflowCommon.createExternalDumpJob()

            joblist = WorkflowJoblist()
            self.assertTrue(joblist.addJobFromFile("DUMP", "dump_job"))
            self.assertTrue("DUMP" in joblist)

            workflow = Workflow("dump_workflow", joblist)

            self.assertTrue(len(workflow), 2)

            context = SubstitutionList()
            context.addItem("<PARAM>", "text")

            self.assertTrue(workflow.run(None, verbose=True, context=context))

            with open("dump1", "r") as f:
                self.assertEqual(f.read(), "dump_text_1")

            with open("dump2", "r") as f:
                self.assertEqual(f.read(), "dump_text_2")
Esempio n. 2
0
    def test_substitution_list(self):
        subst_list = SubstitutionList()

        subst_list.addItem("Key", "Value", "Doc String")

        self.assertEqual(len(subst_list), 1)

        with self.assertRaises(KeyError):
            item = subst_list[2]

        with self.assertRaises(KeyError):
            item = subst_list["NoSuchKey"]

        with self.assertRaises(KeyError):
            item = subst_list.doc("NoSuchKey")

        self.assertTrue("Key" in subst_list)
        self.assertEqual(subst_list["Key"], "Value")
        self.assertEqual(subst_list.doc("Key"), "Doc String")

        subst_list.addItem("Key2", "Value2", "Doc String2")
        self.assertEqual(len(subst_list), 2)

        keys = subst_list.keys()
        self.assertEqual(keys[0], "Key")
        self.assertEqual(keys[1], "Key2")

        self.assertIn("Key", str(subst_list))
        self.assertIn("SubstitutionList", repr(subst_list))
        self.assertIn("2", repr(subst_list))

        self.assertEqual(1729, subst_list.get("nosuchkey", 1729))
        self.assertIsNone(subst_list.get("nosuchkey"))
        self.assertIsNone(subst_list.get(513))
        for key in ("Key", "Key2"):
            self.assertEqual(subst_list[key], subst_list.get(key))