Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions components/camel-aws/camel-aws2-textract/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,10 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,9 @@ private void detectDocumentText(TextractClient textractClient, Exchange exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"detectDocumentText operation requires DetectDocumentTextRequest in POJO mode");
}
} else {
DetectDocumentTextRequest.Builder request = DetectDocumentTextRequest.builder();
Expand Down Expand Up @@ -154,6 +157,9 @@ private void analyzeDocument(TextractClient textractClient, Exchange exchange) t
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"analyzeDocument operation requires AnalyzeDocumentRequest in POJO mode");
}
} else {
AnalyzeDocumentRequest.Builder request = AnalyzeDocumentRequest.builder();
Expand Down Expand Up @@ -194,6 +200,9 @@ private void analyzeExpense(TextractClient textractClient, Exchange exchange) th
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"analyzeExpense operation requires AnalyzeExpenseRequest in POJO mode");
}
} else {
AnalyzeExpenseRequest.Builder request = AnalyzeExpenseRequest.builder();
Expand Down Expand Up @@ -226,6 +235,9 @@ private void startDocumentTextDetection(TextractClient textractClient, Exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"startDocumentTextDetection operation requires StartDocumentTextDetectionRequest in POJO mode");
}
} else {
StartDocumentTextDetectionRequest.Builder request = StartDocumentTextDetectionRequest.builder();
Expand Down Expand Up @@ -258,6 +270,9 @@ private void startDocumentAnalysis(TextractClient textractClient, Exchange excha
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"startDocumentAnalysis operation requires StartDocumentAnalysisRequest in POJO mode");
}
} else {
StartDocumentAnalysisRequest.Builder request = StartDocumentAnalysisRequest.builder();
Expand Down Expand Up @@ -297,6 +312,9 @@ private void startExpenseAnalysis(TextractClient textractClient, Exchange exchan
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"startExpenseAnalysis operation requires StartExpenseAnalysisRequest in POJO mode");
}
} else {
StartExpenseAnalysisRequest.Builder request = StartExpenseAnalysisRequest.builder();
Expand Down Expand Up @@ -329,6 +347,9 @@ private void getDocumentTextDetection(TextractClient textractClient, Exchange ex
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"getDocumentTextDetection operation requires GetDocumentTextDetectionRequest in POJO mode");
}
} else {
GetDocumentTextDetectionRequest.Builder request = GetDocumentTextDetectionRequest.builder();
Expand Down Expand Up @@ -377,6 +398,9 @@ private void getDocumentAnalysis(TextractClient textractClient, Exchange exchang
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"getDocumentAnalysis operation requires GetDocumentAnalysisRequest in POJO mode");
}
} else {
GetDocumentAnalysisRequest.Builder request = GetDocumentAnalysisRequest.builder();
Expand Down Expand Up @@ -425,6 +449,9 @@ private void getExpenseAnalysis(TextractClient textractClient, Exchange exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
} else {
throw new IllegalArgumentException(
"getExpenseAnalysis operation requires GetExpenseAnalysisRequest in POJO mode");
}
} else {
GetExpenseAnalysisRequest.Builder request = GetExpenseAnalysisRequest.builder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,14 @@
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.services.textract.model.DetectDocumentTextRequest;
import software.amazon.awssdk.services.textract.model.DetectDocumentTextResponse;
import software.amazon.awssdk.services.textract.model.Document;

import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;

Expand Down Expand Up @@ -112,6 +115,24 @@ public void process(Exchange exchange) {

}

@ParameterizedTest
@CsvSource({
"direct:detectDocumentTextPojo,detectDocumentText operation requires DetectDocumentTextRequest in POJO mode",
"direct:analyzeDocumentPojo,analyzeDocument operation requires AnalyzeDocumentRequest in POJO mode",
"direct:analyzeExpensePojo,analyzeExpense operation requires AnalyzeExpenseRequest in POJO mode",
"direct:startDocumentTextDetectionPojo,startDocumentTextDetection operation requires StartDocumentTextDetectionRequest in POJO mode",
"direct:startDocumentAnalysisPojo,startDocumentAnalysis operation requires StartDocumentAnalysisRequest in POJO mode",
"direct:startExpenseAnalysisPojo,startExpenseAnalysis operation requires StartExpenseAnalysisRequest in POJO mode",
"direct:getDocumentTextDetectionPojo,getDocumentTextDetection operation requires GetDocumentTextDetectionRequest in POJO mode",
"direct:getDocumentAnalysisPojo,getDocumentAnalysis operation requires GetDocumentAnalysisRequest in POJO mode",
"direct:getExpenseAnalysisPojo,getExpenseAnalysis operation requires GetExpenseAnalysisRequest in POJO mode",
})
void pojoRequestWithWrongBodyTypeThrows(String route, String expectedMessage) {
assertThatThrownBy(() -> template.requestBody(route, "not the expected request type"))
.hasRootCauseInstanceOf(IllegalArgumentException.class)
.hasRootCauseMessage(expectedMessage);
}

@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
Expand All @@ -126,6 +147,22 @@ public void configure() {
from("direct:detectDocumentTextOptions").to(
"aws2-textract://test?textractClient=#amazonTextractClient&operation=detectDocumentText&s3Bucket=testbucket&s3Object=testobject.pdf")
.to("mock:result");
from("direct:analyzeDocumentPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=analyzeDocument&pojoRequest=true");
from("direct:analyzeExpensePojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=analyzeExpense&pojoRequest=true");
from("direct:startDocumentTextDetectionPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=startDocumentTextDetection&pojoRequest=true");
from("direct:startDocumentAnalysisPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=startDocumentAnalysis&pojoRequest=true");
from("direct:startExpenseAnalysisPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=startExpenseAnalysis&pojoRequest=true");
from("direct:getDocumentTextDetectionPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=getDocumentTextDetection&pojoRequest=true");
from("direct:getDocumentAnalysisPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=getDocumentAnalysis&pojoRequest=true");
from("direct:getExpenseAnalysisPojo")
.to("aws2-textract://test?textractClient=#amazonTextractClient&operation=getExpenseAnalysis&pojoRequest=true");
}
};
}
Expand Down