diff --git a/tests/functional/pipelines/run_test.py b/tests/functional/pipelines/run_test.py index 99e66a10..e7af6c4e 100644 --- a/tests/functional/pipelines/run_test.py +++ b/tests/functional/pipelines/run_test.py @@ -107,3 +107,61 @@ def test_run_multipipe_with_datasets(batchmode: bool): **{"batchmode": batchmode} ) assert response["status"] == "SUCCESS" + + +@pytest.mark.parametrize("batchmode", [True, False]) +def test_run_segment_reconstruct(batchmode: bool): + pipeline = PipelineFactory.list(query="Segmentation/Reconstruction Functional Test - DO NOT DELETE")["results"][0] + response = pipeline.run("https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.wav", **{"batchmode": batchmode}) + + assert response["status"] == "SUCCESS" + output = response["data"][0] + assert output["label"] == "Output 1" + + +@pytest.mark.parametrize("batchmode", [True, False]) +def test_run_metric(batchmode: bool): + pipeline = PipelineFactory.list(query="ASR Metric Functional Test - DO NOT DELETE")["results"][0] + response = pipeline.run({ + "AudioInput": "https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.wav", + "ReferenceInput": "https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.txt" + }, **{"batchmode": batchmode}) + + assert response["status"] == "SUCCESS" + assert len(response["data"]) == 2 + assert response["data"][0]["label"] in ["TranscriptOutput", "ScoreOutput"] + assert response["data"][1]["label"] in ["TranscriptOutput", "ScoreOutput"] + + +@pytest.mark.parametrize( + "batchmode,input_data,output_data", + [ + (True, "https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.wav", "AudioOutput"), + (False, "https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.wav", "AudioOutput"), + (True, "https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.txt", "TextOutput"), + (False, "https://aixplain-platform-assets.s3.amazonaws.com/samples/en/CPAC1x2.txt", "TextOutput") + ] +) +def test_run_router(batchmode: bool, input_data: str, output_data: str): + pipeline = PipelineFactory.list(query="Router Test - DO NOT DELETE")["results"][0] + response = pipeline.run(input_data, **{"batchmode": batchmode}) + + assert response["status"] == "SUCCESS" + assert response["data"][0]["label"] == output_data + + +@pytest.mark.parametrize( + "batchmode,input_data,output_data", + [ + (True, "I love it.", "PositiveOutput"), + (False, "I love it.", "PositiveOutput"), + (True, "I hate it.", "NegativeOutput"), + (False, "I hate it.", "NegativeOutput") + ] +) +def test_run_decision(batchmode: bool, input_data: str, output_data: str): + pipeline = PipelineFactory.list(query="Decision Test - DO NOT DELETE")["results"][0] + response = pipeline.run(input_data, **{"batchmode": batchmode}) + + assert response["status"] == "SUCCESS" + assert response["data"][0]["label"] == output_data \ No newline at end of file