Skip to content

Commit

Permalink
Adding support for Cassandra and Scylla
Browse files Browse the repository at this point in the history
This add the support for those cassandra based dbs
and their drivers, cassandra-driver, scylla-driver

Ref: https://cassandra.apache.org/
Ref: https://www.scylladb.com/
Ref: https://pypi.org/project/cassandra-driver/
Ref: https://pypi.org/project/scylla-driver/
  • Loading branch information
fruch committed Sep 18, 2022
1 parent f899846 commit 19d9a39
Show file tree
Hide file tree
Showing 12 changed files with 425 additions and 221 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
- webdriver.py
- keycloak.py
- arangodb.py
- scylladb.py
- cassandra.py
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 2 additions & 0 deletions docs/database.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ Allows to spin up database images such as MySQL, PostgreSQL, MariaDB, Oracle XE,
.. autoclass:: testcontainers.clickhouse.ClickHouseContainer
.. autoclass:: testcontainers.neo4j.Neo4jContainer
.. autoclass:: testcontainers.arangodb.ArangoDbContainer
.. autoclass:: testcontainers.cassandra.CassandraContainer
.. autoclass:: testcontainers.scylla.ScyllaContainer
2 changes: 1 addition & 1 deletion requirements.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-e file:.[docker-compose,mysql,oracle,postgresql,selenium,google-cloud-pubsub,mongo,redis,mssqlserver,neo4j,kafka,rabbitmq,clickhouse,keycloak,arangodb]
-e file:.[docker-compose,mysql,oracle,postgresql,selenium,google-cloud-pubsub,mongo,redis,mssqlserver,neo4j,kafka,rabbitmq,clickhouse,keycloak,arangodb,cassandra,scylla]
codecov>=2.1.0
cryptography<37
flake8<3.8.0 # 3.8.0 adds a dependency on importlib-metadata which conflicts with other packages.
Expand Down
126 changes: 73 additions & 53 deletions requirements/3.10.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,44 @@ async-generator==1.10
# trio-websocket
async-timeout==4.0.2
# via redis
attrs==21.4.0
attrs==22.1.0
# via
# jsonschema
# outcome
# pytest
# trio
babel==2.10.1
babel==2.10.3
# via sphinx
bcrypt==3.2.2
bcrypt==4.0.0
# via paramiko
cachetools==5.2.0
# via google-auth
certifi==2022.5.18.1
cassandra-driver==3.25.0
# via testcontainers
certifi==2022.9.14
# via
# requests
# urllib3
cffi==1.15.0
# selenium
cffi==1.15.1
# via
# bcrypt
# cryptography
# pynacl
charset-normalizer==2.0.12
charset-normalizer==2.1.1
# via requests
clickhouse-driver==0.2.3
click==8.1.3
# via geomet
clickhouse-driver==0.2.4
# via testcontainers
codecov==2.1.12
# via -r requirements.in
coverage[toml]==6.4.1
coverage[toml]==6.4.4
# via
# codecov
# pytest-cov
cryptography==36.0.2
# via
# -r requirements.in
# paramiko
# pyopenssl
# urllib3
cx-oracle==8.3.0
# via testcontainers
deprecated==1.2.13
Expand All @@ -61,7 +62,7 @@ deprecation==2.1.0
# via testcontainers
distro==1.7.0
# via docker-compose
docker[ssh]==5.0.3
docker[ssh]==6.0.0
# via
# docker-compose
# testcontainers
Expand All @@ -71,45 +72,51 @@ dockerpty==0.4.1
# via docker-compose
docopt==0.6.2
# via docker-compose
docutils==0.18.1
docutils==0.19
# via sphinx
ecdsa==0.17.0
ecdsa==0.18.0
# via python-jose
entrypoints==0.3
# via flake8
flake8==3.7.9
# via -r requirements.in
google-api-core[grpc]==2.8.1
geomet==0.2.1.post1
# via
# cassandra-driver
# scylla-driver
google-api-core[grpc]==2.10.1
# via google-cloud-pubsub
google-auth==2.6.6
google-auth==2.11.0
# via google-api-core
google-cloud-pubsub==1.7.1
google-cloud-pubsub==2.13.6
# via testcontainers
googleapis-common-protos[grpc]==1.56.2
googleapis-common-protos[grpc]==1.56.4
# via
# google-api-core
# grpc-google-iam-v1
# grpcio-status
greenlet==1.1.2
greenlet==1.1.3
# via sqlalchemy
grpc-google-iam-v1==0.12.4
# via google-cloud-pubsub
grpcio==1.46.3
grpcio==1.49.0
# via
# google-api-core
# google-cloud-pubsub
# googleapis-common-protos
# grpc-google-iam-v1
# grpcio-status
grpcio-status==1.46.3
# via google-api-core
grpcio-status==1.49.0
# via
# google-api-core
# google-cloud-pubsub
h11==0.13.0
# via wsproto
idna==3.3
idna==3.4
# via
# requests
# trio
# urllib3
imagesize==1.3.0
imagesize==1.4.1
# via sphinx
iniconfig==1.1.1
# via pytest
Expand All @@ -123,29 +130,34 @@ markupsafe==2.1.1
# via jinja2
mccabe==0.6.1
# via flake8
neo4j==4.4.4
neo4j==5.0.0
# via testcontainers
outcome==1.1.0
outcome==1.2.0
# via trio
packaging==21.3
# via
# deprecation
# docker
# pytest
# redis
# sphinx
paramiko==2.11.0
# via docker
pg8000==1.29.1
# via -r requirements.in
pika==1.2.1
pika==1.3.0
# via testcontainers
pluggy==1.0.0
# via pytest
protobuf==3.20.1
proto-plus==1.22.1
# via google-cloud-pubsub
protobuf==4.21.6
# via
# google-api-core
# google-cloud-pubsub
# googleapis-common-protos
# grpcio-status
# proto-plus
psycopg2-binary==2.9.3
# via testcontainers
py==1.11.0
Expand All @@ -163,52 +175,52 @@ pycparser==2.21
# via cffi
pyflakes==2.1.1
# via flake8
pygments==2.12.0
pygments==2.13.0
# via sphinx
pyjwt==2.4.0
pyjwt==2.5.0
# via python-arango
pymongo==4.1.1
pymongo==4.2.0
# via testcontainers
pymssql==2.2.5
# via testcontainers
pymysql==1.0.2
# via testcontainers
pynacl==1.5.0
# via paramiko
pyopenssl==22.0.0
# via urllib3
pyparsing==3.0.9
# via packaging
pyrsistent==0.18.1
# via jsonschema
pysocks==1.7.1
# via urllib3
pytest==7.1.2
pytest==7.1.3
# via
# -r requirements.in
# pytest-cov
pytest-cov==3.0.0
# via -r requirements.in
python-arango==7.3.4
python-arango==7.4.1
# via testcontainers
python-dotenv==0.20.0
python-dotenv==0.21.0
# via docker-compose
python-jose==3.3.0
# via python-keycloak
python-keycloak==1.5.0
python-keycloak==2.5.0
# via testcontainers
pytz==2022.1
pytz==2022.2.1
# via
# babel
# clickhouse-driver
# neo4j
pytz-deprecation-shim==0.1.0.post0
# via tzlocal
pyyaml==5.4.1
# via docker-compose
redis==4.3.3
# via
# docker-compose
# scylla-driver
redis==4.3.4
# via testcontainers
requests==2.27.1
requests==2.28.1
# via
# codecov
# docker
Expand All @@ -219,31 +231,38 @@ requests==2.27.1
# requests-toolbelt
# sphinx
requests-toolbelt==0.9.1
# via python-arango
rsa==4.8
# via
# python-arango
# python-keycloak
rsa==4.9
# via
# google-auth
# python-jose
scramp==1.4.1
# via pg8000
selenium==4.2.0
scylla-driver==3.25.5
# via testcontainers
selenium==4.4.3
# via testcontainers
six==1.16.0
# via
# cassandra-driver
# dockerpty
# ecdsa
# geomet
# google-auth
# grpcio
# jsonschema
# paramiko
# scylla-driver
# websocket-client
sniffio==1.2.0
sniffio==1.3.0
# via trio
snowballstemmer==2.2.0
# via sphinx
sortedcontainers==2.4.0
# via trio
sphinx==5.0.1
sphinx==5.1.1
# via -r requirements.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
Expand All @@ -257,26 +276,27 @@ sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
sqlalchemy==1.4.37
sqlalchemy==1.4.41
# via testcontainers
texttable==1.6.4
# via docker-compose
tomli==2.0.1
# via
# coverage
# pytest
trio==0.20.0
trio==0.21.0
# via
# selenium
# trio-websocket
trio-websocket==0.9.2
# via selenium
tzdata==2022.1
tzdata==2022.2
# via pytz-deprecation-shim
tzlocal==4.2
# via clickhouse-driver
urllib3[secure,socks]==1.26.9
urllib3[socks]==1.26.12
# via
# docker
# python-arango
# python-keycloak
# requests
Expand All @@ -289,7 +309,7 @@ wrapt==1.14.1
# via
# deprecated
# testcontainers
wsproto==1.1.0
wsproto==1.2.0
# via trio-websocket

# The following packages are considered to be unsafe in a requirements file:
Expand Down
Loading

0 comments on commit 19d9a39

Please sign in to comment.