def test_validation_from_json(self): with ScratchDir("."): os.environ["BEEP_PROCESSING_DIR"] = os.getcwd() os.mkdir("data-share") os.mkdir(os.path.join("data-share", "validation")) paths = [ "2017-05-09_test-TC-contact_CH33.csv", "2017-12-04_4_65C-69per_6C_CH29.csv", ] paths = [os.path.join(TEST_FILE_DIR, path) for path in paths] # Create dummy json obj json_obj = { "file_list": paths, "run_list": list(range(len(paths))), } json_string = json.dumps(json_obj) json_output = validate_file_list_from_json(json_string) loaded = json.loads(json_output) self.assertEqual(loaded["validity"][0], "invalid") self.assertEqual(loaded["validity"][1], "valid") # Workflow output output_file_path = Path(tempfile.gettempdir()) / "results.json" self.assertTrue(output_file_path.exists()) output_json = json.loads(output_file_path.read_text()) self.assertEqual(paths[0], output_json["filename"]) self.assertEqual(os.path.getsize(output_json["filename"]), output_json["size"]) self.assertEqual(0, output_json["run_id"]) self.assertEqual("validating", output_json["action"]) self.assertEqual("invalid", output_json["status"])
def test_python(self): """Python script for end to end test""" # Copy mapped = collate.process_files_json() rename_output = json.loads(mapped) rename_output['mode'] = self.events_mode # mode run|test|events_off rename_output['run_list'] = list(range(len( rename_output['file_list']))) mapped = json.dumps(rename_output) # Validation validated = validate.validate_file_list_from_json(mapped) validated_output = json.loads(validated) validated_output['mode'] = self.events_mode # mode run|test|events_off validated_output['run_list'] = list( range(len(validated_output['file_list']))) validated = json.dumps(validated_output) # Data structuring structured = structure.process_file_list_from_json(validated) structured_output = json.loads(structured) structured_output[ 'mode'] = self.events_mode # mode run|test|events_off structured_output['run_list'] = list( range(len(structured_output['file_list']))) structured = json.dumps(structured_output) # Featurization featurized = featurize.process_file_list_from_json(structured) featurized_output = json.loads(featurized) featurized_output[ 'mode'] = self.events_mode # mode run|test|events_off featurized_output['run_list'] = list( range(len(featurized_output['file_list']))) featurized = json.dumps(featurized_output) # Prediction predictions = run_model.process_file_list_from_json( featurized, model_dir=MODEL_DIR) # Validate output files self._check_result_file_validity()
def test_validation_from_json(self): with ScratchDir('.'): os.environ['BEEP_PROCESSING_DIR'] = os.getcwd() os.mkdir("data-share") os.mkdir(os.path.join("data-share", "validation")) paths = [ "2017-05-09_test-TC-contact_CH33.csv", "2017-12-04_4_65C-69per_6C_CH29.csv" ] paths = [os.path.join(TEST_FILE_DIR, path) for path in paths] # Create dummy json obj json_obj = { "mode": self.events_mode, "file_list": paths, 'run_list': list(range(len(paths))) } json_string = json.dumps(json_obj) json_output = validate_file_list_from_json(json_string) loaded = json.loads(json_output) self.assertEqual(loaded['validity'][0], 'invalid') self.assertEqual(loaded['validity'][1], 'valid')