This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 21b6d5e971e Enable ppc64le support for mongodb (#16540)
21b6d5e971e is described below
commit 21b6d5e971e39108c518227bd5e18e597969883f
Author: anushkajuli <[email protected]>
AuthorDate: Thu Dec 12 15:21:51 2024 +0530
Enable ppc64le support for mongodb (#16540)
Co-authored-by: anushkajuli <[email protected]>
---
components/camel-mongodb/pom.xml | 1 -
.../component/mongodb/integration/MongoDbFindOperationIT.java | 11 ++++++++---
.../camel/test/infra/mongodb/common/MongoDBProperties.java | 1 +
.../infra/mongodb/services/MongoDBLocalContainerService.java | 11 ++++++++++-
.../camel/test/infra/mongodb/services/container.properties | 3 ++-
5 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/components/camel-mongodb/pom.xml b/components/camel-mongodb/pom.xml
index 6141f32b4d5..1fe7b148fc1 100644
--- a/components/camel-mongodb/pom.xml
+++ b/components/camel-mongodb/pom.xml
@@ -33,7 +33,6 @@
<properties>
<!-- MongoDB container is not available on these platforms -->
- <skipITs.ppc64le>true</skipITs.ppc64le>
<skipITs.s390x>true</skipITs.s390x>
</properties>
diff --git
a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbFindOperationIT.java
b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbFindOperationIT.java
index df6071f3809..5931d33a94c 100644
---
a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbFindOperationIT.java
+++
b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbFindOperationIT.java
@@ -45,6 +45,7 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.shaded.org.apache.commons.lang3.SystemUtils;
import static com.mongodb.client.model.Filters.eq;
import static org.apache.camel.component.mongodb.MongoDbConstants.MONGO_ID;
@@ -71,9 +72,13 @@ public class MongoDbFindOperationIT extends CamelTestSupport
{
static {
- // This one requires Mongo 4.4. This is related to
- // "CAMEL-15604 support allowDiskUse for MongoDB find operations"
- mongoDbContainer =
System.getProperty(MongoDBProperties.MONGODB_CONTAINER, "mongo:4.4");
+ if ("ppc64le".equals(SystemUtils.OS_ARCH)) {
+ mongoDbContainer = ("icr.io/ppc64le-oss/mongodb-ppc64le:4.4.24");
+ } else {
+ // This one requires Mongo 4.4. This is related to
+ // "CAMEL-15604 support allowDiskUse for MongoDB find operations"
+ mongoDbContainer =
System.getProperty(MongoDBProperties.MONGODB_CONTAINER, "mongo:4.4");
+ }
service = new MongoDBLocalContainerService(mongoDbContainer);
diff --git
a/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/common/MongoDBProperties.java
b/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/common/MongoDBProperties.java
index 45690207000..401e8e20dd3 100644
---
a/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/common/MongoDBProperties.java
+++
b/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/common/MongoDBProperties.java
@@ -21,6 +21,7 @@ public final class MongoDBProperties {
public static final String MONGODB_URL = "mongodb.url";
public static final String MONGODB_CONNECTION_ADDRESS =
"mongodb.connection.address";
public static final String MONGODB_CONTAINER = "mongodb.container";
+ public static final String MONGODB_CONTAINER_PPC64LE =
"mongodb.container.ppc64le";
private MongoDBProperties() {
diff --git
a/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/services/MongoDBLocalContainerService.java
b/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/services/MongoDBLocalContainerService.java
index 45f248f262f..7a16311d9ea 100644
---
a/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/services/MongoDBLocalContainerService.java
+++
b/test-infra/camel-test-infra-mongodb/src/test/java/org/apache/camel/test/infra/mongodb/services/MongoDBLocalContainerService.java
@@ -23,6 +23,7 @@ import
org.apache.camel.test.infra.mongodb.common.MongoDBProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.MongoDBContainer;
+import org.testcontainers.shaded.org.apache.commons.lang3.SystemUtils;
import org.testcontainers.utility.DockerImageName;
public class MongoDBLocalContainerService implements MongoDBService,
ContainerService<MongoDBContainer> {
@@ -31,7 +32,15 @@ public class MongoDBLocalContainerService implements
MongoDBService, ContainerSe
private final MongoDBContainer container;
public MongoDBLocalContainerService() {
-
this(LocalPropertyResolver.getProperty(MongoDBLocalContainerService.class,
MongoDBProperties.MONGODB_CONTAINER));
+
this(LocalPropertyResolver.getProperty(MongoDBLocalContainerService.class,
getPropertyKeyForContainerImage()));
+ }
+
+ private static String getPropertyKeyForContainerImage() {
+ if ("ppc64le".equals(SystemUtils.OS_ARCH)) {
+ return MongoDBProperties.MONGODB_CONTAINER_PPC64LE;
+ } else {
+ return MongoDBProperties.MONGODB_CONTAINER;
+ }
}
public MongoDBLocalContainerService(String imageName) {
diff --git
a/test-infra/camel-test-infra-mongodb/src/test/resources/org/apache/camel/test/infra/mongodb/services/container.properties
b/test-infra/camel-test-infra-mongodb/src/test/resources/org/apache/camel/test/infra/mongodb/services/container.properties
index c888a16d58d..b42628340ed 100644
---
a/test-infra/camel-test-infra-mongodb/src/test/resources/org/apache/camel/test/infra/mongodb/services/container.properties
+++
b/test-infra/camel-test-infra-mongodb/src/test/resources/org/apache/camel/test/infra/mongodb/services/container.properties
@@ -14,4 +14,5 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
-mongodb.container=mongo:7.0.12-jammy
\ No newline at end of file
+mongodb.container=mongo:7.0.12-jammy
+mongodb.container.ppc64le=icr.io/ppc64le-oss/mongodb-ppc64le:4.4.24