Skip to content

Commit

Permalink
fix(arangodb): tests to pass on ARM CPUs - change default image to 3.…
Browse files Browse the repository at this point in the history
…11.x where ARM image is published (#479)

- updated arangodb image version which now supports ARM CPUs
- skipping test for legacy version on ARM CPU

fixes #449

![Screenshot 2024-03-15 at 11 43
35](https://github.com/testcontainers/testcontainers-python/assets/13573675/9fe5edfc-9a83-44d2-beb5-9c917d41438c)
  • Loading branch information
max-pfeiffer committed Mar 20, 2024
1 parent c07e99c commit 7b58a50
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion modules/arangodb/testcontainers/arangodb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class ArangoDbContainer(DbContainer):
>>> from testcontainers.arangodb import ArangoDbContainer
>>> from arango import ArangoClient
>>> with ArangoDbContainer("arangodb:3.9.1") as arango:
>>> with ArangoDbContainer("arangodb:3.11.8") as arango:
... client = ArangoClient(hosts=arango.get_connection_url())
...
... # Connect
Expand Down
18 changes: 9 additions & 9 deletions modules/arangodb/tests/test_arangodb.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
from arango.exceptions import DatabaseCreateError, ServerVersionError

from testcontainers.arangodb import ArangoDbContainer
import platform

ARANGODB_IMAGE_NAME = "arangodb"
IMAGE_VERSION = "3.11.8"


def arango_test_ops(arango_client, expeced_version, username="root", password=""):
Expand Down Expand Up @@ -50,8 +52,7 @@ def test_docker_run_arango():
"""
Test ArangoDB container with default settings.
"""
image_version = "3.9.1"
image = f"{ARANGODB_IMAGE_NAME}:{image_version}"
image = f"{ARANGODB_IMAGE_NAME}:{IMAGE_VERSION}"
arango_root_password = "passwd"

with ArangoDbContainer(image) as arango:
Expand All @@ -62,22 +63,22 @@ def test_docker_run_arango():
with pytest.raises(DatabaseCreateError):
sys_db.create_database("test")

arango_test_ops(arango_client=client, expeced_version=image_version, password=arango_root_password)
arango_test_ops(arango_client=client, expeced_version=IMAGE_VERSION, password=arango_root_password)


def test_docker_run_arango_without_auth():
"""
Test ArangoDB container with ARANGO_NO_AUTH var set.
"""
image_version = "3.9.1"
image = f"{ARANGODB_IMAGE_NAME}:{image_version}"
image = f"{ARANGODB_IMAGE_NAME}:{IMAGE_VERSION}"

with ArangoDbContainer(image, arango_no_auth=True) as arango:
client = ArangoClient(hosts=arango.get_connection_url())

arango_test_ops(arango_client=client, expeced_version=image_version, password="")
arango_test_ops(arango_client=client, expeced_version=IMAGE_VERSION, password="")


@pytest.mark.skipif(platform.processor() == "arm", reason="Test does not run on machines with ARM CPU")
def test_docker_run_arango_older_version():
"""
Test ArangoDB container with older tag/version.
Expand All @@ -100,8 +101,7 @@ def test_docker_run_arango_random_root_password():
"""
Test ArangoDB container with ARANGO_RANDOM_ROOT_PASSWORD var set.
"""
image_version = "3.9.1"
image = f"{ARANGODB_IMAGE_NAME}:{image_version}"
image = f"{ARANGODB_IMAGE_NAME}:{IMAGE_VERSION}"
arango_root_password = "passwd"

with ArangoDbContainer(image, arango_random_root_password=True) as arango:
Expand All @@ -110,4 +110,4 @@ def test_docker_run_arango_random_root_password():
# Test invalid auth (we don't know the password in random mode)
sys_db = client.db("_system", username="root", password=arango_root_password)
with pytest.raises(ServerVersionError):
assert sys_db.version() == image_version
assert sys_db.version() == IMAGE_VERSION

0 comments on commit 7b58a50

Please sign in to comment.