def test_extract_parameters_from_logfile_valueerror(self): """Datastacks: verify that valuerror raised when no params found.""" from natcap.invest import datastack logfile_path = os.path.join(self.workspace, 'logfile') with open(logfile_path, 'w') as logfile: logfile.write(textwrap.dedent(""" 07/20/2017 16:37:48 natcap.invest.ui.model INFO 07/20/2017 16:37:48 natcap.invest.ui.model INFO post args. """)) with self.assertRaises(ValueError): datastack.extract_parameters_from_logfile(logfile_path)
def test_extract_parameters_from_logfile(self): """Datastacks: Verify we can read args from a logfile.""" from natcap.invest import datastack logfile_path = os.path.join(self.workspace, 'logfile') with open(logfile_path, 'w') as logfile: logfile.write( textwrap.dedent(""" 07/20/2017 16:37:48 natcap.invest.ui.model INFO Arguments for InVEST some_model some_version: suffix foo some_int 1 some_float 2.33 workspace_dir some_workspace_dir 07/20/2017 16:37:48 natcap.invest.ui.model INFO post args. """)) params = datastack.extract_parameters_from_logfile(logfile_path) expected_params = datastack.ParameterSet( { 'suffix': 'foo', 'some_int': 1, 'some_float': 2.33, 'workspace_dir': 'some_workspace_dir' }, 'some_model', 'some_version') self.assertEqual(params, expected_params)