From 3131630c23db9e176849df51bdf94678b73a78a8 Mon Sep 17 00:00:00 2001 From: Thiago Castro Ferreira Date: Thu, 14 Mar 2024 16:23:50 -0300 Subject: [PATCH 1/3] New pipeline functional tests --- tests/functional/pipelines/run_test.py | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/functional/pipelines/run_test.py b/tests/functional/pipelines/run_test.py index 99e66a10..ef409fc6 100644 --- a/tests/functional/pipelines/run_test.py +++ b/tests/functional/pipelines/run_test.py @@ -107,3 +107,63 @@ 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( + "input,output,batchmode", + [ + (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(input, output, batchmode: bool): + pipeline = PipelineFactory.list(query="Router Test - DO NOT DELETE")["results"][0] + response = pipeline.run(input, **{"batchmode": batchmode}) + + assert response["status"] == "SUCCESS" + output = response["data"][0] + assert output["label"] == output + + +@pytest.mark.parametrize( + "input,output,batchmode", + [ + (True, "I love it.", "PositiveOutput"), + (False, "I love it.", "PositiveOutput") + (True, "I hate it.", "NegativeOutput"), + (False, "I hate it.", "NegativeOutput") + ] +) +def test_run_decision(input, output, batchmode: bool): + pipeline = PipelineFactory.list(query="Decision Test - DO NOT DELETE")["results"][0] + response = pipeline.run(input, **{"batchmode": batchmode}) + + assert response["status"] == "SUCCESS" + output = response["data"][0] + assert output["label"] == output \ No newline at end of file From 758c21a42049368e777d3f1572928d23ca1f9c6b Mon Sep 17 00:00:00 2001 From: Thiago Castro Ferreira Date: Thu, 14 Mar 2024 16:33:52 -0300 Subject: [PATCH 2/3] Fixe on attribute name --- tests/functional/pipelines/run_test.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/functional/pipelines/run_test.py b/tests/functional/pipelines/run_test.py index ef409fc6..8df61d67 100644 --- a/tests/functional/pipelines/run_test.py +++ b/tests/functional/pipelines/run_test.py @@ -147,8 +147,7 @@ def test_run_router(input, output, batchmode: bool): response = pipeline.run(input, **{"batchmode": batchmode}) assert response["status"] == "SUCCESS" - output = response["data"][0] - assert output["label"] == output + assert response["data"][0]["label"] == output @pytest.mark.parametrize( @@ -165,5 +164,4 @@ def test_run_decision(input, output, batchmode: bool): response = pipeline.run(input, **{"batchmode": batchmode}) assert response["status"] == "SUCCESS" - output = response["data"][0] - assert output["label"] == output \ No newline at end of file + assert response["data"][0]["label"] == output \ No newline at end of file From 55ba6f90d796614b8db9fa789d1198d375367df4 Mon Sep 17 00:00:00 2001 From: Thiago Castro Ferreira Date: Thu, 14 Mar 2024 17:18:33 -0300 Subject: [PATCH 3/3] Fixing test cases --- tests/functional/pipelines/run_test.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/functional/pipelines/run_test.py b/tests/functional/pipelines/run_test.py index 8df61d67..e7af6c4e 100644 --- a/tests/functional/pipelines/run_test.py +++ b/tests/functional/pipelines/run_test.py @@ -134,34 +134,34 @@ def test_run_metric(batchmode: bool): @pytest.mark.parametrize( - "input,output,batchmode", + "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") + (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(input, output, batchmode: bool): +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, **{"batchmode": batchmode}) + response = pipeline.run(input_data, **{"batchmode": batchmode}) assert response["status"] == "SUCCESS" - assert response["data"][0]["label"] == output + assert response["data"][0]["label"] == output_data @pytest.mark.parametrize( - "input,output,batchmode", + "batchmode,input_data,output_data", [ (True, "I love it.", "PositiveOutput"), - (False, "I love it.", "PositiveOutput") + (False, "I love it.", "PositiveOutput"), (True, "I hate it.", "NegativeOutput"), (False, "I hate it.", "NegativeOutput") ] ) -def test_run_decision(input, output, batchmode: bool): +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, **{"batchmode": batchmode}) + response = pipeline.run(input_data, **{"batchmode": batchmode}) assert response["status"] == "SUCCESS" - assert response["data"][0]["label"] == output \ No newline at end of file + assert response["data"][0]["label"] == output_data \ No newline at end of file