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

Reply via email to