예제 #1
0
 def test_with_single_parameter_file_and_nonfile_arg(self):
     with open("test.param", 'w') as f:
         f.write("a = 2\nb = 3\n")
     parameter_sets, input_data, script_args = commands.parse_arguments(["spam", "test.param"], self.input_datastore)
     self.assertEqual(parameter_sets, [{'this': 'mock'}])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "spam <parameters>")
     os.remove("test.param")
예제 #2
0
 def test_with_cmdline_parameters(self):
     with open("test.param", 'w') as f:
         f.write("a = 2\nb = 3\n")
     parameter_sets, input_data, script_args = commands.parse_arguments(["test.param", "a=17", "umlue=43"], self.input_datastore)
     self.assertEqual(parameter_sets, [{'this': 'mock', 'a': 17, 'umlue': 43}])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "<parameters>")
     os.remove("test.param")
예제 #3
0
 def test_with_cmdline_parameters(self):
     with open("test.param", 'w') as f:
         f.write("a = 2\nb = 3\n")
     parameter_sets, input_data, script_args = commands.parse_arguments(["test.param", "a=17", "umlue=43"], self.input_datastore)
     self.assertEqual(parameter_sets, [{'this': 'mock', 'a': 17, 'umlue': 43}])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "<parameters>")
     os.remove("test.param")
예제 #4
0
 def test_with_single_parameter_file_and_nonfile_arg(self):
     with open("test.param", 'w') as f:
         f.write("a = 2\nb = 3\n")
     parameter_sets, input_data, script_args = commands.parse_arguments(["spam", "test.param"], self.input_datastore)
     self.assertEqual(parameter_sets, [{'this': 'mock'}])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "spam <parameters>")
     os.remove("test.param")
예제 #5
0
 def test_with_arg_that_is_directory(self):
     test_dir = "__pycache__"  # a directory that is likely to exist already, easier than creating one since we have mocked out os.mkdir
     if os.path.exists(test_dir):
         parameter_sets, input_data, script_args = commands.parse_arguments([test_dir], self.input_datastore)
         self.assertEqual(parameter_sets, [])
         self.assertEqual(input_data, [])
         self.assertEqual(script_args, test_dir)
     else:
         raise unittest.SkipTest("test directory doesn't exist")
예제 #6
0
 def test_with_arg_that_is_directory(self):
     test_dir = "__pycache__"  # a directory that is likely to exist already, easier than creating one since we have mocked out os.mkdir
     if os.path.exists(test_dir):
         parameter_sets, input_data, script_args = commands.parse_arguments([test_dir], self.input_datastore)
         self.assertEqual(parameter_sets, [])
         self.assertEqual(input_data, [])
         self.assertEqual(script_args, test_dir)
     else:
         raise unittest.SkipTest("test directory doesn't exist")
예제 #7
0
 def test_with_single_datafile(self):
     data_content = "23496857243968b24cbc4275dc82470a\n"
     with open("this.is.not.a.parameter.file", 'w') as f:
         f.write(data_content)
     parameter_sets, input_data, script_args = commands.parse_arguments(
         ["this.is.not.a.parameter.file"], self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(os.path.basename(input_data[0].path), "this.is.not.a.parameter.file")
     self.assertEqual(script_args, "this.is.not.a.parameter.file")
     os.remove("this.is.not.a.parameter.file")
예제 #8
0
 def test_with_single_datafile(self):
     data_content = "23496857243968b24cbc4275dc82470a\n"
     with open("this.is.not.a.parameter.file", 'w') as f:
         f.write(data_content)
     parameter_sets, input_data, script_args = commands.parse_arguments(
         ["this.is.not.a.parameter.file"], self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(os.path.basename(input_data[0].path), "this.is.not.a.parameter.file")
     self.assertEqual(script_args, "this.is.not.a.parameter.file")
     os.remove("this.is.not.a.parameter.file")
예제 #9
0
 def test_with_everything(self):
     with open("test.param", 'w') as f:
         f.write("a = 2\nb = 3\n")
     data_content = "23496857243968b24cbc4275dc82470a\n"
     with open("this.is.not.a.parameter.file", 'w') as f:
         f.write(data_content)
     parameter_sets, input_data, script_args = commands.parse_arguments(["spam", "test.param", "eggs", "this.is.not.a.parameter.file", "a=17", "umlue=43", "beans"],
                                                                        self.input_datastore)
     self.assertEqual(parameter_sets, [{'this': 'mock', 'a': 17, 'umlue': 43}])
     self.assertEqual(os.path.basename(input_data[0].path), "this.is.not.a.parameter.file")
     self.assertEqual(script_args, "spam <parameters> eggs this.is.not.a.parameter.file beans")
예제 #10
0
 def test_with_everything(self):
     with open("test.param", 'w') as f:
         f.write("a = 2\nb = 3\n")
     data_content = "23496857243968b24cbc4275dc82470a\n"
     with open("this.is.not.a.parameter.file", 'w') as f:
         f.write(data_content)
     parameter_sets, input_data, script_args = commands.parse_arguments(["spam", "test.param", "eggs", "this.is.not.a.parameter.file", "a=17", "umlue=43", "beans"],
                                                                        self.input_datastore)
     self.assertEqual(parameter_sets, [{'this': 'mock', 'a': 17, 'umlue': 43}])
     self.assertEqual(os.path.basename(input_data[0].path), "this.is.not.a.parameter.file")
     self.assertEqual(script_args, "spam <parameters> eggs this.is.not.a.parameter.file beans")
예제 #11
0
 def test_with_nonfile_args(self):
     parameter_sets, input_data, script_args = commands.parse_arguments(["spam", "eggs"],
                                                                        self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "spam eggs")
예제 #12
0
 def test_with_no_args(self):
     parameter_sets, input_data, script_args = commands.parse_arguments([], self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "")
예제 #13
0
 def test_with_nonfile_args(self):
     parameter_sets, input_data, script_args = commands.parse_arguments(["spam", "eggs"],
                                                                        self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "spam eggs")
예제 #14
0
 def test_with_no_args(self):
     parameter_sets, input_data, script_args = commands.parse_arguments([], self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, "")
예제 #15
0
 def test_with_arg_that_is_directory(self):
     parameter_sets, input_data, script_args = commands.parse_arguments([self.tmp_test_dir], self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, self.tmp_test_dir)
예제 #16
0
 def test_with_arg_that_is_directory(self):
     parameter_sets, input_data, script_args = commands.parse_arguments(
         [self.tmp_test_dir], self.input_datastore)
     self.assertEqual(parameter_sets, [])
     self.assertEqual(input_data, [])
     self.assertEqual(script_args, self.tmp_test_dir)