def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() [ SQLManager.instance().get_session().add( FooBase(name="foo " + str(i))) for i in range(10000) ] SQLManager.instance().get_session().commit()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() s_root_path = PathFinder.get_module_path() self.__s_path_to_example_definition_file_finishing = os.path.join(s_root_path, "test/resource/wopfile/example_def_file.yml") self.__s_path_to_example_definition_file_that_end_with_error = os.path.join(s_root_path, "test/resource/wopfile/example_def_file_toolwrapper_never_ready.yml") self.__wm = WorkflowManager()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() s_root_path = PathFinder.get_module_path() self.__s_path_to_example_definition_file_finishing = os.path.join(s_root_path, "test/resource/wopfile/example_def_file1.yml") self.__s_path_to_example_definition_file_that_end_with_error = os.path.join(s_root_path, "test/resource/wopfile/example_def_file5_never_ready.yml") self.__wm = WorkflowManager()
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables [ SQLManager.instance().get_session().add( FooBase(name="foo " + str(i))) for i in range(10000) ] SQLManager.instance().get_session().commit()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() session = SQLManager.instance().get_session() session.get_or_create(Type, defaults={"id": 1}, name="input") session.get_or_create(Type, defaults={"id": 2}, name="output") session.commit() self.__s_root_path = PathFinder.get_module_path() self.__parser = Parser()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() session = SQLManager.instance().get_session() session.get_or_create(Type, defaults={"id": 1}, name="input") session.get_or_create(Type, defaults={"id": 2}, name="output") session.commit() self.__s_root_path = PathFinder.get_module_path() self.__parser = Parser()
def setUp(self): self.test_path = PathManager.get_test_path() # Get tests path OptionManager.initial_test_setup() # Set tests arguments self.db_url = OptionManager.instance()["--database"] self.db = self.db_url[10:] self.example_dir_path = os.path.join(PathManager.get_package_path(), "data/example") self.wopfile = os.path.join(self.example_dir_path, "Wopfile.yml") self.working_directory = os.path.join(PathManager.get_package_path(), "data/example")
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables self.test_path = PathManager.get_test_path() self.__s_path_to_example_definition_file_finishing = os.path.join( self.test_path, "resource/wopfile/example_def_file1.yml") self.__s_path_to_example_definition_file_that_end_with_error = os.path.join( self.test_path, "resource/wopfile/example_def_file5_never_ready.yml") self.__workflow_manager = WorkflowManager()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() self.__local_session = SQLManager.instance().get_session() SQLManager() self.__t1 = ConcurrentCommitingThread() self.__t2 = ConcurrentCommitingThread() self.__t3 = ConcurrentCommitingThread() self.__t4 = ConcurrentRollBackingThread() self.__t5 = ConcurrentRollBackingThread() self.__t6 = ConcurrentRollBackingThread()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() self.__local_session = SQLManager.instance().get_session() SQLManager() self.__t1 = ConcurrentCommitingThread() self.__t2 = ConcurrentCommitingThread() self.__t3 = ConcurrentCommitingThread() self.__t4 = ConcurrentRollBackingThread() self.__t5 = ConcurrentRollBackingThread() self.__t6 = ConcurrentRollBackingThread()
def setUp(self): OptionManager.initial_test_setup() self.s_root_path = PathFinder.get_module_path() s_path_to_example_existing_file = os.path.join(self.s_root_path, "test/resource/input_files/example_existing_file.txt") s_path_to_example_existing_file2 = os.path.join(self.s_root_path, "test/resource/input_files/example_existing_file2.txt") s_path_to_example_not_existing_file = os.path.join(self.s_root_path, "test/resource/input_files/example_not_existing_file.txt") self.__io_file_existing = IOFilePut(name="existing_file", path=s_path_to_example_existing_file) self.__io_file_existing2 = IOFilePut(name="existing_file", path=s_path_to_example_existing_file) self.__io_file_existing3 = IOFilePut(name="existing_file2", path=s_path_to_example_existing_file) self.__io_file_existing4 = IOFilePut(name="existing_file", path=s_path_to_example_existing_file2) self.__io_file_not_existing = IOFilePut(name="not_existing_file", path=s_path_to_example_not_existing_file)
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables session = SQLManager.instance().get_session() session.get_or_create(TypeInputOrOutput, defaults={"is_input": True}, is_input=True) session.get_or_create(TypeInputOrOutput, defaults={"is_input": False}, is_input=False) session.commit() self.__test_path = PathManager.get_test_path() # self.__test_path = PathManager.get_package_path() self.__parser = Parser()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() session = SQLManager.instance().get_session() session.get_or_create(Type, defaults={"id": 1}, name="input") session.get_or_create(Type, defaults={"id": 2}, name="output") session.commit() self.__session = SQLManager.instance().get_session() self.__reader = Reader() self.__s_root_path = PathFinder.get_module_path() # The good -------------------------------: self.__s_example_definition_file = os.path.join( self.__s_root_path, "test/resource/wopfile/example_def_file.yml") self.__s_example_definition_file2 = os.path.join( self.__s_root_path, "test/resource/wopfile/example_def_file3.yml") # The ugly (malformed file) --------------------: self.__s_example_definition_file_duplicate_rule = os.path.join( self.__s_root_path, "test/resource/wopfile/example_def_file_duplicate_rule.yml") self.__list_f_to_exception_init = [ os.path.join(self.__s_root_path, s_path) for s_path in [ "test/resource/wopfile/example_def_file_wrong_yaml.yml", "test/resource/wopfile/example_def_file_duplicate_rule.yml", "test/resource/wopfile/example_def_file_wrong_grammar.yml", "test/resource/wopfile/example_def_file_wrong_grammar2.yml", "test/resource/wopfile/example_def_file_wrong_grammar3.yml", "test/resource/wopfile/example_def_file_wrong_grammar4.yml" ] ] # The bad (invalid file) ----------------------: self.__list_s_to_exception_read = [ os.path.join(self.__s_root_path, s_path) for s_path in [ "test/resource/wopfile/example_def_file_wrong_content.yml", "test/resource/wopfile/example_def_file_wrong_content2.yml", "test/resource/wopfile/example_def_file_wrong_content3.yml", "test/resource/wopfile/example_def_file_wrong_content4.yml", "test/resource/wopfile/example_def_file_wrong_content5.yml", "test/resource/wopfile/example_def_file_wrong_class_name.yml", "test/resource/wopfile/example_def_file_wrong_rule.yml", ] ]
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables self.__local_session = SQLManager.instance().get_session() SQLManager() self.__t1 = ConcurrentCommitingThread() self.__t2 = ConcurrentCommitingThread() self.__t3 = ConcurrentCommitingThread() self.__t4 = ConcurrentRollBackingThread() self.__t5 = ConcurrentRollBackingThread() self.__t6 = ConcurrentRollBackingThread()
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables session = SQLManager.instance().get_session() session.get_or_create(TypeInputOrOutput, defaults={"is_input": True}, is_input=True) session.get_or_create(TypeInputOrOutput, defaults={"is_input": False}, is_input=False) session.commit() self.__session = SQLManager.instance().get_session() self.__reader = Reader() self.__testdir_path = PathManager.get_test_path() # The good -------------------------------: self.__example_def_file1_path = os.path.join(self.__testdir_path, "resource/wopfile/example_def_file1.yml") self.__example_def_file3_path = os.path.join(self.__testdir_path, "resource/wopfile/example_def_file3.yml") # The ugly (malformed file) --------------------: self.__s_example_definition_file_duplicate_rule = os.path.join(self.__testdir_path, "resource/wopfile/example_def_file_duplicate_rule.yml") self.__list_f_to_exception_init = [ os.path.join(self.__testdir_path, s_path) for s_path in [ "resource/wopfile/example_def_file_wrong_yaml.yml", "resource/wopfile/example_def_file_duplicate_rule.yml", "resource/wopfile/example_def_file_wrong_grammar.yml", "resource/wopfile/example_def_file_wrong_grammar2.yml", "resource/wopfile/example_def_file_wrong_grammar3.yml", "resource/wopfile/example_def_file_wrong_grammar4.yml" ] ] # The bad (invalid file) ----------------------: self.__list_s_to_exception_read = [ os.path.join(self.__testdir_path, s_path) for s_path in [ "resource/wopfile/example_def_file1.yml", "resource/wopfile/example_def_file_wrong_content2.yml", "resource/wopfile/example_def_file_wrong_content3.yml", "resource/wopfile/example_def_file_wrong_content4.yml", "resource/wopfile/example_def_file_wrong_content5.yml", "resource/wopfile/example_def_file_wrong_class_name.yml", "resource/wopfile/example_def_file_wrong_rule.yml", ] ]
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() session = SQLManager.instance().get_session() session.get_or_create(Type, defaults={"id": 1}, name="input") session.get_or_create(Type, defaults={"id": 2}, name="output") session.commit() self.__session = SQLManager.instance().get_session() self.__reader = Reader() self.__s_root_path = PathFinder.get_module_path() # The good -------------------------------: self.__s_example_definition_file = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file1.yml") self.__s_example_definition_file2 = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file3.yml") # The ugly (malformed file) --------------------: self.__s_example_definition_file_duplicate_rule = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file_duplicate_rule.yml") self.__list_f_to_exception_init = [ os.path.join(self.__s_root_path, s_path) for s_path in [ "test/resource/wopfile/example_def_file_wrong_yaml.yml", "test/resource/wopfile/example_def_file_duplicate_rule.yml", "test/resource/wopfile/example_def_file_wrong_grammar.yml", "test/resource/wopfile/example_def_file_wrong_grammar2.yml", "test/resource/wopfile/example_def_file_wrong_grammar3.yml", "test/resource/wopfile/example_def_file_wrong_grammar4.yml" ] ] # The bad (invalid file) ----------------------: self.__list_s_to_exception_read = [ os.path.join(self.__s_root_path, s_path) for s_path in [ "test/resource/wopfile/example_def_file1.yml", "test/resource/wopfile/example_def_file_wrong_content2.yml", "test/resource/wopfile/example_def_file_wrong_content3.yml", "test/resource/wopfile/example_def_file_wrong_content4.yml", "test/resource/wopfile/example_def_file_wrong_content5.yml", "test/resource/wopfile/example_def_file_wrong_class_name.yml", "test/resource/wopfile/example_def_file_wrong_rule.yml", ] ]
def setUp(self): self.s_root_path = PathFinder.get_module_path() OptionManager.initial_test_setup() SQLManager.instance().create_all() self.__local_session = SQLManager.instance().get_session() try: for i in range(10): self.__local_session.add(FooBase(name="testIODB " + str(i))) self.__local_session.commit() except Exception as e: self.__local_session.rollback() self.__local_session.close() raise e self.__io_base_existing = IODbPut(model="FooBase", tablename="FooBase") self.__io_base_existing.set_table(FooBase) self.__io_base_existing2 = IODbPut(model="FooBase", tablename="FooBase") self.__io_base_existing2.set_table(FooBase) self.__io_base_existing3 = IODbPut(model="FooBase2", tablename="FooBase2") self.__io_base_existing3.set_table(FooBase2)
def setUp(self): self.test_path = PathManager.get_test_path() # Get tests path OptionManager.initial_test_setup() # Set tests arguments self.__db_url = OptionManager.instance()["--database"] self.__example_def_file1 = os.path.join( self.test_path, "resource/wopfile/example_def_file1.yml") self.__example_def_file1_only_database = \ os.path.join(self.test_path, "resource/wopfile/example_def_file1_only_database.yml") self.__example_def_file2_only_files = os.path.join( self.test_path, "resource/wopfile/example_def_file2_only_files.yml") self.__example_def_file4 = os.path.join( self.test_path, "resource/wopfile/example_def_file4.yml") self.__example_def_file5_never_ready = os.path.join( self.test_path, "resource/wopfile/example_def_file5_never_ready.yml") self.__example_def_file_input_not_ready = os.path.join( self.test_path, "resource/wopfile/example_def_file_input_not_ready.yml")
def setUp(self): self.test_path = PathManager.get_test_path() OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables self.__local_session = SQLManager.instance().get_session() try: for i in range(10): self.__local_session.add(FooBase(name="testIODB " + str(i))) self.__local_session.commit() except Exception as e: self.__local_session.rollback() self.__local_session.close() raise e self.__io_base_existing = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") self.__io_base_existing.set_table(FooBase) self.__io_base_existing2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") self.__io_base_existing2.set_table(FooBase) self.__io_base_existing3 = TableInputOutputInformation(model_py_path="FooBase2", table_key="FooBase2", table_name="FooBase2") self.__io_base_existing3.set_table(FooBase2)
def setUp(self): self.test_path = PathManager.get_test_path() # Get tests path OptionManager.initial_test_setup() # Set tests arguments s_path_to_example_existing_file = os.path.join( self.test_path, "resource/input_files/example_existing_file.txt") s_path_to_example_existing_file2 = os.path.join( self.test_path, "resource/input_files/example_existing_file2.txt") s_path_to_example_not_existing_file = os.path.join( self.test_path, "resource/input_files/example_not_existing_file.txt") self.__io_file_existing = FileInputOutputInformation( file_key="existing_file", path=s_path_to_example_existing_file) self.__io_file_existing2 = FileInputOutputInformation( file_key="existing_file", path=s_path_to_example_existing_file) self.__io_file_existing3 = FileInputOutputInformation( file_key="existing_file2", path=s_path_to_example_existing_file) self.__io_file_existing4 = FileInputOutputInformation( file_key="existing_file", path=s_path_to_example_existing_file2) self.__io_file_not_existing = FileInputOutputInformation( file_key="not_existing_file", path=s_path_to_example_not_existing_file)
def setUp(self): OptionManager.initial_test_setup() self.s_root_path = PathFinder.get_module_path() s_path_to_example_existing_file = os.path.join( self.s_root_path, "test/resource/input_files/example_existing_file.txt") s_path_to_example_existing_file2 = os.path.join( self.s_root_path, "test/resource/input_files/example_existing_file2.txt") s_path_to_example_not_existing_file = os.path.join( self.s_root_path, "test/resource/input_files/example_not_existing_file.txt") self.__io_file_existing = IOFilePut( name="existing_file", path=s_path_to_example_existing_file) self.__io_file_existing2 = IOFilePut( name="existing_file", path=s_path_to_example_existing_file) self.__io_file_existing3 = IOFilePut( name="existing_file2", path=s_path_to_example_existing_file) self.__io_file_existing4 = IOFilePut( name="existing_file", path=s_path_to_example_existing_file2) self.__io_file_not_existing = IOFilePut( name="not_existing_file", path=s_path_to_example_not_existing_file)
def setUp(self): self.s_root_path = PathFinder.get_module_path() OptionManager.initial_test_setup() print(OptionManager.instance()["--log"]) SQLManager.instance().create_all() self.__local_session = SQLManager.instance().get_session() try: for i in range(10): self.__local_session.add(FooBase(name="testIODB " + str(i))) self.__local_session.commit() except Exception as e: self.__local_session.rollback() self.__local_session.close() raise e self.__io_base_existing = IODbPut(model="FooBase", tablename="FooBase") self.__io_base_existing.set_table(FooBase) self.__io_base_existing2 = IODbPut(model="FooBase", tablename="FooBase") self.__io_base_existing2.set_table(FooBase) self.__io_base_existing3 = IODbPut(model="FooBase2", tablename="FooBase2") self.__io_base_existing3.set_table(FooBase2)
def test_parse(self): OptionManager.initial_test_setup() # The good --------------------------: input_entry = Type(name="input") output_entry = Type(name="output") f1 = IOFilePut(name="input1", path="test/resource/input_files/input_File1.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="test/output/output_File1.txt") f2.type = output_entry f3 = IOFilePut(name="input1", path="test/output/output_File1.txt") f3.type = input_entry f3bis = IOFilePut(name="input1", path="test/output/output_File1.txt") f3bis.type = input_entry f4 = IOFilePut(name="output1", path="test/output/output_File2.txt") f4.type = output_entry f5 = IOFilePut(name="output1", path="test/output/output_File3.txt") f5.type = output_entry f6 = IOFilePut(name="output2", path="test/output/output_File4.txt") f6.type = output_entry f7 = IOFilePut(name="input1", path="test/output/output_File3.txt") f7.type = input_entry f8 = IOFilePut(name="input2", path="test/output/output_File2.txt") f8.type = input_entry f9 = IOFilePut(name="output1", path="test/output/output_File5.txt") f9.type = output_entry f10 = IOFilePut(name="input1", path="test/output/output_File4.txt") f10.type = input_entry f11 = IOFilePut(name="output1", path="test/output/output_File6.txt") f11.type = output_entry f12 = IOFilePut(name="input1", path="test/output/output_File1.txt") f12.type = input_entry f13 = IOFilePut(name="input2", path="test/output/output_File5.txt") f13.type = input_entry f14 = IOFilePut(name="input3", path="test/output/output_File6.txt") f14.type = input_entry f15 = IOFilePut(name="output1", path="test/output/output_File7.txt") f15.type = output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.type = output_entry t1bis = IODbPut(model="FooBase", tablename="FooBase") t1bis.type = input_entry t2 = IODbPut(model="FooBase2", tablename="FooBase2") t2.type = output_entry t2bis = IODbPut(model="FooBase2", tablename="FooBase2") t2bis.type = input_entry tw1 = FooWrapper4(rule_name="rule1") tw1.files.extend([f1, f2]) tw2 = FooWrapper5(rule_name="rule2") tw2.files.extend([f3, f4]) tw2.tables.extend([t1]) tw3 = FooWrapper6(rule_name="rule3") tw3.files.extend([f3bis, f5, f6]) tw4 = FooWrapper7(rule_name="rule4") tw4.tables.extend([t1bis, t2]) tw5 = FooWrapper8(rule_name="rule5") tw5.files.extend([f8, f7, f9]) tw6 = FooWrapper9(rule_name="rule6") tw6.files.extend([f10, f11]) tw6.tables.extend([t2bis]) tw7 = FooWrapper10(rule_name="rule7") tw7.files.extend([f12, f13, f14, f15]) set_toolwrappers = set([tw1, tw2, tw3, tw4, tw5, tw6, tw7]) OptionManager.instance()["--dot"] = None dag_expected = DAG(set_toolwrappers) OptionManager.instance()["--wopfile"] = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file.yml") dag_obtained = self.__parser.parse() self.assertEqual(dag_expected, dag_obtained) OptionManager.instance()["--wopfile"] = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file_not_a_dag.yml") with self.assertRaises(WopMarsException): self.__parser.parse() # Verify the dot file ----------------: OptionManager.instance()["--wopfile"] = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file.yml") #dot_path = os.path.join(self.__s_root_path, "test_bak.dot") #OptionManager.instance()["--dot"] = dot_path self.__parser.parse()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() # first # / \ # second third # \ / # fourth # self.__session = SQLManager.instance().get_session() input_entry = Type(name="input") output_entry = Type(name="output") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = output_entry self.__toolwrapper_first = FooWrapper2(rule_name="rule1") self.__toolwrapper_first.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file2.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="file3.txt") f2.type = output_entry self.__toolwrapper_second = FooWrapper2(rule_name="rule2") self.__toolwrapper_second.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file2.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="file4.txt") f2.type = output_entry self.__toolwrapper_third = FooWrapper2(rule_name="rule3") self.__toolwrapper_third.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file3.txt") f1.type = input_entry f2 = IOFilePut(name="input2", path="file4.txt") f2.type = input_entry f3 = IOFilePut(name="output1", path="file5.txt") f3.type = output_entry self.__toolwrapper_fourth = FooWrapper8(rule_name="rule4") self.__toolwrapper_fourth.files.extend([f1, f2, f3]) list_tool = [ self.__toolwrapper_first, self.__toolwrapper_second, self.__toolwrapper_third, self.__toolwrapper_fourth ] self.__set_tool = set(list_tool) SQLManager.instance().get_session().add_all(list_tool) SQLManager.instance().get_session().commit()
def setUp(self): OptionManager.initial_test_setup() SQLManager.instance().create_all() # first # / \ # second third # \ / # fourth # self.__session = SQLManager.instance().get_session() input_entry = Type(name="input") output_entry = Type(name="output") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = output_entry self.__toolwrapper_first = FooWrapper2(rule_name="rule1") self.__toolwrapper_first.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file2.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="file3.txt") f2.type = output_entry self.__toolwrapper_second = FooWrapper2(rule_name="rule2") self.__toolwrapper_second.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file2.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="file4.txt") f2.type = output_entry self.__toolwrapper_third = FooWrapper2(rule_name="rule3") self.__toolwrapper_third.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file3.txt") f1.type = input_entry f2 = IOFilePut(name="input2", path="file4.txt") f2.type = input_entry f3 = IOFilePut(name="output1", path="file5.txt") f3.type = output_entry self.__toolwrapper_fourth = FooWrapper8(rule_name="rule4") self.__toolwrapper_fourth.files.extend([f1, f2, f3]) list_tool = [self.__toolwrapper_first, self.__toolwrapper_second, self.__toolwrapper_third, self.__toolwrapper_fourth] self.__set_tool = set(list_tool) SQLManager.instance().get_session().add_all(list_tool) SQLManager.instance().get_session().commit()
def setUp(self): OptionManager.initial_test_setup() self.s_root_path = PathFinder.get_module_path() SQLManager.instance().create_all() set_tw_to_add = set() self.__session = SQLManager.instance().get_session() self.input_entry = Type(name="input") self.output_entry = Type(name="output") ### Toolwrappers for __eq__ test_bak opt1 = Option(name="param1", value="1") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper1 = ToolWrapper(rule_name="rule1") self.__toolwrapper1.files.extend([f1, f2]) self.__toolwrapper1.options.append(opt1) opt1 = Option(name="param1", value="1") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper2 = ToolWrapper(rule_name="rule2") self.__toolwrapper2.files.extend([f1, f2]) self.__toolwrapper2.options.append(opt1) opt1 = Option(name="param2", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper3 = ToolWrapper(rule_name="rule3") self.__toolwrapper3.files.extend([f1, f2]) self.__toolwrapper3.options.append(opt1) ### ToolWrappers for content_respected opt1 = Option(name="param1", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t1.type = self.input_entry t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 t2.type = self.output_entry self.__foowrapper_right_content = FooWrapper3(rule_name="rule1") self.__foowrapper_right_content.files.extend([f1, f2]) self.__foowrapper_right_content.tables.extend([t1, t2]) self.__foowrapper_right_content.options.append(opt1) opt1 = Option(name="param1", value="String") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content1 = FooWrapper3(rule_name="rule2") self.__foowrapper_wrong_content1.files.extend([f1, f2]) self.__foowrapper_wrong_content1.tables.extend([t1, t2]) self.__foowrapper_wrong_content1.options.append(opt1) opt1 = Option(name="param2", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry f3 = IOFilePut(name="input2", path="file2.txt") f3.type = self.input_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content2 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content2.files.extend([f1, f2, f3]) self.__foowrapper_wrong_content2.tables.extend([t1, t2]) self.__foowrapper_wrong_content2.options.append(opt1) opt1 = Option(name="param2", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content3 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content3.files.extend([f1, f2]) self.__foowrapper_wrong_content3.tables.extend([t1, t2]) self.__foowrapper_wrong_content3.options.append(opt1) opt1 = Option(name="param1", value="String") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content4 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content4.files.extend([f1, f2]) self.__foowrapper_wrong_content4.tables.extend([t1, t2]) self.__foowrapper_wrong_content4.options.append(opt1) f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content5 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content5.files.extend([f1, f2]) self.__foowrapper_wrong_content5.tables.extend([t1, t2]) ### TooLWrappers for follows f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper_first = FooWrapper2(rule_name="rule1") self.__toolwrapper_first.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file2.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file3.txt") f2.type = self.output_entry self.__toolwrapper_second = FooWrapper2(rule_name="rule2") self.__toolwrapper_second.files.extend([f1, f2]) ### ToolWrappers for are_input_ready s_root_path = PathFinder.get_module_path() s_path_to_example_file_that_exists = os.path.join(s_root_path, "test/resource/input_files/input_file1.txt") f1 = IOFilePut(name="input1", path=s_path_to_example_file_that_exists) f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper_ready = FooWrapper2(rule_name="rule2") self.__toolwrapper_ready.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="/not/existent/file") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper_not_ready = FooWrapper2(rule_name="rule2") self.__toolwrapper_not_ready.files.extend([f1, f2])
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables) self.__session = SQLManager.instance().get_session()
def setUp(self): OptionManager.initial_test_setup() self.s_root_path = PathFinder.get_module_path() SQLManager.instance().create_all() set_tw_to_add = set() self.__session = SQLManager.instance().get_session() self.input_entry = Type(name="input") self.output_entry = Type(name="output") ### Toolwrappers for __eq__ test_bak opt1 = Option(name="param1", value="1") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper1 = ToolWrapper(rule_name="rule1") self.__toolwrapper1.files.extend([f1, f2]) self.__toolwrapper1.options.append(opt1) opt1 = Option(name="param1", value="1") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper2 = ToolWrapper(rule_name="rule2") self.__toolwrapper2.files.extend([f1, f2]) self.__toolwrapper2.options.append(opt1) opt1 = Option(name="param2", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper3 = ToolWrapper(rule_name="rule3") self.__toolwrapper3.files.extend([f1, f2]) self.__toolwrapper3.options.append(opt1) ### ToolWrappers for content_respected opt1 = Option(name="param1", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t1.type = self.input_entry t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 t2.type = self.output_entry self.__foowrapper_right_content = FooWrapper3(rule_name="rule1") self.__foowrapper_right_content.files.extend([f1, f2]) self.__foowrapper_right_content.tables.extend([t1, t2]) self.__foowrapper_right_content.options.append(opt1) opt1 = Option(name="param1", value="String") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content1 = FooWrapper3(rule_name="rule2") self.__foowrapper_wrong_content1.files.extend([f1, f2]) self.__foowrapper_wrong_content1.tables.extend([t1, t2]) self.__foowrapper_wrong_content1.options.append(opt1) opt1 = Option(name="param2", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry f3 = IOFilePut(name="input2", path="file2.txt") f3.type = self.input_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content2 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content2.files.extend([f1, f2, f3]) self.__foowrapper_wrong_content2.tables.extend([t1, t2]) self.__foowrapper_wrong_content2.options.append(opt1) opt1 = Option(name="param2", value="2") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content3 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content3.files.extend([f1, f2]) self.__foowrapper_wrong_content3.tables.extend([t1, t2]) self.__foowrapper_wrong_content3.options.append(opt1) opt1 = Option(name="param1", value="String") f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content4 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content4.files.extend([f1, f2]) self.__foowrapper_wrong_content4.tables.extend([t1, t2]) self.__foowrapper_wrong_content4.options.append(opt1) f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.set_table(FooBase) t1.table = t1 t2 = IODbPut(model="FooBase", tablename="FooBase") t2.set_table(FooBase) t2.table = t2 self.__foowrapper_wrong_content5 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content5.files.extend([f1, f2]) self.__foowrapper_wrong_content5.tables.extend([t1, t2]) ### TooLWrappers for follows f1 = IOFilePut(name="input1", path="file1.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper_first = FooWrapper2(rule_name="rule1") self.__toolwrapper_first.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="file2.txt") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file3.txt") f2.type = self.output_entry self.__toolwrapper_second = FooWrapper2(rule_name="rule2") self.__toolwrapper_second.files.extend([f1, f2]) ### ToolWrappers for are_input_ready s_root_path = PathFinder.get_module_path() s_path_to_example_file_that_exists = os.path.join( s_root_path, "test/resource/input_files/input_File1.txt") f1 = IOFilePut(name="input1", path=s_path_to_example_file_that_exists) f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper_ready = FooWrapper2(rule_name="rule2") self.__toolwrapper_ready.files.extend([f1, f2]) f1 = IOFilePut(name="input1", path="/not/existent/file") f1.type = self.input_entry f2 = IOFilePut(name="output1", path="file2.txt") f2.type = self.output_entry self.__toolwrapper_not_ready = FooWrapper2(rule_name="rule2") self.__toolwrapper_not_ready.files.extend([f1, f2])
def setUp(self): OptionManager.initial_test_setup() self.s_root_path = PathFinder.get_module_path() SQLManager.instance().create_all() self.__session = SQLManager.instance().get_session()
def test_parse(self): OptionManager.initial_test_setup() # The good --------------------------: input_entry = TypeInputOrOutput(is_input=True) output_entry = TypeInputOrOutput(is_input=False) f1 = FileInputOutputInformation( file_key="input1", path="resource/input_files/input_file1.txt") f1.relation_file_or_tableioinfo_to_typeio = input_entry f2 = FileInputOutputInformation(file_key="output1", path="outdir/output_file1.txt") f2.relation_file_or_tableioinfo_to_typeio = output_entry f3 = FileInputOutputInformation(file_key="input1", path="outdir/output_file1.txt") f3.relation_file_or_tableioinfo_to_typeio = input_entry f3bis = FileInputOutputInformation(file_key="input1", path="outdir/output_file1.txt") f3bis.relation_file_or_tableioinfo_to_typeio = input_entry f4 = FileInputOutputInformation(file_key="output1", path="outdir/output_file2.txt") f4.relation_file_or_tableioinfo_to_typeio = output_entry f5 = FileInputOutputInformation(file_key="output1", path="outdir/output_file3.txt") f5.relation_file_or_tableioinfo_to_typeio = output_entry f6 = FileInputOutputInformation(file_key="output2", path="outdir/output_file4.txt") f6.relation_file_or_tableioinfo_to_typeio = output_entry f7 = FileInputOutputInformation(file_key="input1", path="outdir/output_file3.txt") f7.relation_file_or_tableioinfo_to_typeio = input_entry f8 = FileInputOutputInformation(file_key="input2", path="outdir/output_file2.txt") f8.relation_file_or_tableioinfo_to_typeio = input_entry f9 = FileInputOutputInformation(file_key="output1", path="outdir/output_file5.txt") f9.relation_file_or_tableioinfo_to_typeio = output_entry f10 = FileInputOutputInformation(file_key="input1", path="outdir/output_file4.txt") f10.relation_file_or_tableioinfo_to_typeio = input_entry f11 = FileInputOutputInformation(file_key="output1", path="outdir/output_file6.txt") f11.relation_file_or_tableioinfo_to_typeio = output_entry f12 = FileInputOutputInformation(file_key="input1", path="outdir/output_file1.txt") f12.relation_file_or_tableioinfo_to_typeio = input_entry f13 = FileInputOutputInformation(file_key="input2", path="outdir/output_file5.txt") f13.relation_file_or_tableioinfo_to_typeio = input_entry f14 = FileInputOutputInformation(file_key="input3", path="outdir/output_file6.txt") f14.relation_file_or_tableioinfo_to_typeio = input_entry f15 = FileInputOutputInformation(file_key="output1", path="outdir/output_file7.txt") f15.relation_file_or_tableioinfo_to_typeio = output_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") t1.relation_file_or_tableioinfo_to_typeio = output_entry t1bis = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") t1bis.relation_file_or_tableioinfo_to_typeio = input_entry t2 = TableInputOutputInformation(model_py_path="FooBase2", table_key="FooBase2", table_name="FooBase2") t2.relation_file_or_tableioinfo_to_typeio = output_entry t2bis = TableInputOutputInformation(model_py_path="FooBase2", table_key="FooBase2", table_name="FooBase2") t2bis.relation_file_or_tableioinfo_to_typeio = input_entry tw1 = FooWrapper4(rule_name="rule1") tw1.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) tw2 = FooWrapper5(rule_name="rule2") tw2.relation_toolwrapper_to_fileioinfo.extend([f3, f4]) tw2.relation_toolwrapper_to_tableioinfo.extend([t1]) tw3 = FooWrapper6(rule_name="rule3") tw3.relation_toolwrapper_to_fileioinfo.extend([f3bis, f5, f6]) tw4 = FooWrapper7(rule_name="rule4") tw4.relation_toolwrapper_to_tableioinfo.extend([t1bis, t2]) tw5 = FooWrapper8(rule_name="rule5") tw5.relation_toolwrapper_to_fileioinfo.extend([f8, f7, f9]) tw6 = FooWrapper9(rule_name="rule6") tw6.relation_toolwrapper_to_fileioinfo.extend([f10, f11]) tw6.relation_toolwrapper_to_tableioinfo.extend([t2bis]) tw7 = FooWrapper10(rule_name="rule7") tw7.relation_toolwrapper_to_fileioinfo.extend([f12, f13, f14, f15]) set_toolwrappers = set([tw1, tw2, tw3, tw4, tw5, tw6, tw7]) OptionManager.instance()["--dot"] = None dag_expected = DAG(set_toolwrappers) OptionManager.instance()["--wopfile"] = os.path.join( self.__test_path, "resource/wopfile/example_def_file1.yml") dag_obtained = self.__parser.parse() self.assertEqual(dag_expected, dag_obtained) OptionManager.instance()["--wopfile"] = os.path.join( self.__test_path, "resource/wopfile/example_def_file_not_a_dag.yml") with self.assertRaises(WopMarsException): self.__parser.parse() # Verify the dot file ----------------: OptionManager.instance()["--wopfile"] = os.path.join( self.__test_path, "resource/wopfile/example_def_file1.yml") #dot_path = os.path.join(self.__package_path, "test_bak.dot") #OptionManager.instance()["--dot"] = dot_path self.__parser.parse()
def setUp(self): OptionManager.initial_test_setup() self.s_root_path = PathFinder.get_module_path() SQLManager.instance().create_all() self.__session = SQLManager.instance().get_session()
def setUp(self): OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables # first # / \ # second third # \ / # fourth # self.__session = SQLManager.instance().get_session() input_entry = TypeInputOrOutput(is_input=True) output_entry = TypeInputOrOutput(is_input=False) f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = output_entry self.__toolwrapper_first = FooWrapper2(rule_name="rule1") self.__toolwrapper_first.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) f1 = FileInputOutputInformation(file_key="input1", path="file2.txt") f1.relation_file_or_tableioinfo_to_typeio = input_entry f2 = FileInputOutputInformation(file_key="output1", path="file3.txt") f2.relation_file_or_tableioinfo_to_typeio = output_entry self.__toolwrapper_second = FooWrapper2(rule_name="rule2") self.__toolwrapper_second.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) f1 = FileInputOutputInformation(file_key="input1", path="file2.txt") f1.relation_file_or_tableioinfo_to_typeio = input_entry f2 = FileInputOutputInformation(file_key="output1", path="file4.txt") f2.relation_file_or_tableioinfo_to_typeio = output_entry self.__toolwrapper_third = FooWrapper2(rule_name="rule3") self.__toolwrapper_third.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) f1 = FileInputOutputInformation(file_key="input1", path="file3.txt") f1.relation_file_or_tableioinfo_to_typeio = input_entry f2 = FileInputOutputInformation(file_key="input2", path="file4.txt") f2.relation_file_or_tableioinfo_to_typeio = input_entry f3 = FileInputOutputInformation(file_key="output1", path="file5.txt") f3.relation_file_or_tableioinfo_to_typeio = output_entry self.__toolwrapper_fourth = FooWrapper8(rule_name="rule4") self.__toolwrapper_fourth.relation_toolwrapper_to_fileioinfo.extend([f1, f2, f3]) list_tool = [self.__toolwrapper_first, self.__toolwrapper_second, self.__toolwrapper_third, self.__toolwrapper_fourth] self.__set_tool = set(list_tool) SQLManager.instance().get_session().add_all(list_tool) SQLManager.instance().get_session().commit()
def test_parse(self): OptionManager.initial_test_setup() # The good --------------------------: input_entry = Type(name="input") output_entry = Type(name="output") f1 = IOFilePut(name="input1", path="test/resource/input_files/input_file1.txt") f1.type = input_entry f2 = IOFilePut(name="output1", path="test/output/output_file1.txt") f2.type = output_entry f3 = IOFilePut(name="input1", path="test/output/output_file1.txt") f3.type = input_entry f3bis = IOFilePut(name="input1", path="test/output/output_file1.txt") f3bis.type = input_entry f4 = IOFilePut(name="output1", path="test/output/output_file2.txt") f4.type = output_entry f5 = IOFilePut(name="output1", path="test/output/output_file3.txt") f5.type = output_entry f6 = IOFilePut(name="output2", path="test/output/output_file4.txt") f6.type = output_entry f7 = IOFilePut(name="input1", path="test/output/output_file3.txt") f7.type = input_entry f8 = IOFilePut(name="input2", path="test/output/output_file2.txt") f8.type = input_entry f9 = IOFilePut(name="output1", path="test/output/output_file5.txt") f9.type = output_entry f10 = IOFilePut(name="input1", path="test/output/output_file4.txt") f10.type = input_entry f11 = IOFilePut(name="output1", path="test/output/output_file6.txt") f11.type = output_entry f12 = IOFilePut(name="input1", path="test/output/output_file1.txt") f12.type = input_entry f13 = IOFilePut(name="input2", path="test/output/output_file5.txt") f13.type = input_entry f14 = IOFilePut(name="input3", path="test/output/output_file6.txt") f14.type = input_entry f15 = IOFilePut(name="output1", path="test/output/output_file7.txt") f15.type = output_entry t1 = IODbPut(model="FooBase", tablename="FooBase") t1.type = output_entry t1bis = IODbPut(model="FooBase", tablename="FooBase") t1bis.type = input_entry t2 = IODbPut(model="FooBase2", tablename="FooBase2") t2.type = output_entry t2bis = IODbPut(model="FooBase2", tablename="FooBase2") t2bis.type = input_entry tw1 = FooWrapper4(rule_name="rule1") tw1.files.extend([f1, f2]) tw2 = FooWrapper5(rule_name="rule2") tw2.files.extend([f3, f4]) tw2.tables.extend([t1]) tw3 = FooWrapper6(rule_name="rule3") tw3.files.extend([f3bis, f5, f6]) tw4 = FooWrapper7(rule_name="rule4") tw4.tables.extend([t1bis, t2]) tw5 = FooWrapper8(rule_name="rule5") tw5.files.extend([f8, f7, f9]) tw6 = FooWrapper9(rule_name="rule6") tw6.files.extend([f10, f11]) tw6.tables.extend([t2bis]) tw7 = FooWrapper10(rule_name="rule7") tw7.files.extend([f12, f13, f14, f15]) set_toolwrappers = set([tw1, tw2, tw3, tw4, tw5, tw6, tw7]) OptionManager.instance()["--dot"] = None dag_expected = DAG(set_toolwrappers) OptionManager.instance()["--wopfile"] = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file1.yml") dag_obtained = self.__parser.parse() self.assertEqual(dag_expected, dag_obtained) OptionManager.instance()["--wopfile"] = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file_not_a_dag.yml") with self.assertRaises(WopMarsException): self.__parser.parse() # Verify the dot file ----------------: OptionManager.instance()["--wopfile"] = os.path.join(self.__s_root_path, "test/resource/wopfile/example_def_file1.yml") #dot_path = os.path.join(self.__s_root_path, "test_bak.dot") #OptionManager.instance()["--dot"] = dot_path self.__parser.parse()
def setUp(self): self.test_path = PathManager.get_test_path() OptionManager.initial_test_setup() # Set tests arguments SQLManager.instance().create_all() # Create database with tables set_tw_to_add = set() self.__session = SQLManager.instance().get_session() self.input_entry = TypeInputOrOutput(is_input=True) self.output_entry = TypeInputOrOutput(is_input=False) # Toolwrappers for __eq__ test_bak opt1 = Option(name="param1", value="1") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper1 = ToolWrapper(rule_name="rule1") self.__toolwrapper1.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__toolwrapper1.relation_toolwrapper_to_option.append(opt1) opt1 = Option(name="param1", value="1") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper2 = ToolWrapper(rule_name="rule2") self.__toolwrapper2.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__toolwrapper2.relation_toolwrapper_to_option.append(opt1) opt1 = Option(name="param2", value="2") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper3 = ToolWrapper(rule_name="rule3") self.__toolwrapper3.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__toolwrapper3.relation_toolwrapper_to_option.append(opt1) # ToolWrappers for content_respected opt1 = Option(name="param1", value="2") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") t1.set_table(FooBase) t1.model_declarative_meta = FooBase t1.table = t1 t1.relation_file_or_tableioinfo_to_typeio = self.input_entry t2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") t2.set_table(FooBase) t2.model_declarative_meta = FooBase t2.table = t2 t2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__foowrapper_right_content = FooWrapper3(rule_name="rule1") self.__foowrapper_right_content.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__foowrapper_right_content.relation_toolwrapper_to_tableioinfo.extend([t1, t2]) self.__foowrapper_right_content.relation_toolwrapper_to_option.append(opt1) opt1 = Option(name="param1", value="String") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t1.set_table(FooBase) t1.model_declarative_meta = FooBase t1.table = t1 t2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t2.set_table(FooBase) t2.model_declarative_meta = FooBase t2.table = t2 self.__foowrapper_wrong_content1 = FooWrapper3(rule_name="rule2") self.__foowrapper_wrong_content1.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__foowrapper_wrong_content1.relation_toolwrapper_to_tableioinfo.extend([t1, t2]) self.__foowrapper_wrong_content1.relation_toolwrapper_to_option.append(opt1) opt1 = Option(name="param2", value="2") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry f3 = FileInputOutputInformation(file_key="input2", path="file2.txt") f3.relation_file_or_tableioinfo_to_typeio = self.input_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t1.set_table(FooBase) t1.model_declarative_meta = FooBase t1.table = t1 t2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t2.set_table(FooBase) t2.model_declarative_meta = FooBase t2.table = t2 self.__foowrapper_wrong_content2 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content2.relation_toolwrapper_to_fileioinfo.extend([f1, f2, f3]) self.__foowrapper_wrong_content2.relation_toolwrapper_to_tableioinfo.extend([t1, t2]) self.__foowrapper_wrong_content2.relation_toolwrapper_to_option.append(opt1) opt1 = Option(name="param2", value="2") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t1.set_table(FooBase) t1.model_declarative_meta = FooBase t1.table = t1 t2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t2.set_table(FooBase) t2.model_declarative_meta = FooBase t2.table = t2 self.__foowrapper_wrong_content3 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content3.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__foowrapper_wrong_content3.relation_toolwrapper_to_tableioinfo.extend([t1, t2]) self.__foowrapper_wrong_content3.relation_toolwrapper_to_option.append(opt1) opt1 = Option(name="param1", value="String") f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t1.set_table(FooBase) t1.model_declarative_meta = FooBase t1.table = t1 t2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t2.set_table(FooBase) t2.model_declarative_meta = FooBase t2.table = t2 self.__foowrapper_wrong_content4 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content4.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__foowrapper_wrong_content4.relation_toolwrapper_to_tableioinfo.extend([t1, t2]) self.__foowrapper_wrong_content4.relation_toolwrapper_to_option.append(opt1) f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry t1 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t1.set_table(FooBase) t1.model_declarative_meta = FooBase t1.table = t1 t2 = TableInputOutputInformation(model_py_path="FooBase", table_key="FooBase", table_name="FooBase") # t2.set_table(FooBase) t2.model_declarative_meta = FooBase t2.table = t2 self.__foowrapper_wrong_content5 = FooWrapper3(rule_name="rule3") self.__foowrapper_wrong_content5.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) self.__foowrapper_wrong_content5.relation_toolwrapper_to_tableioinfo.extend([t1, t2]) # TooLWrappers for follows f1 = FileInputOutputInformation(file_key="input1", path="file1.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper_first = FooWrapper2(rule_name="rule1") self.__toolwrapper_first.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) f1 = FileInputOutputInformation(file_key="input1", path="file2.txt") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file3.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper_second = FooWrapper2(rule_name="rule2") self.__toolwrapper_second.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) # ToolWrappers for are_input_ready s_path_to_example_file_that_exists = os.path.join(self.test_path, "resource/input_files/input_file1.txt") f1 = FileInputOutputInformation(file_key="input1", path=s_path_to_example_file_that_exists) f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper_ready = FooWrapper2(rule_name="rule2") self.__toolwrapper_ready.relation_toolwrapper_to_fileioinfo.extend([f1, f2]) f1 = FileInputOutputInformation(file_key="input1", path="/not/existent/file") f1.relation_file_or_tableioinfo_to_typeio = self.input_entry f2 = FileInputOutputInformation(file_key="output1", path="file2.txt") f2.relation_file_or_tableioinfo_to_typeio = self.output_entry self.__toolwrapper_not_ready = FooWrapper2(rule_name="rule2") self.__toolwrapper_not_ready.relation_toolwrapper_to_fileioinfo.extend([f1, f2])