.. module:: "Testing_Clients" Testing Clients Locally =============================================================================== We can test the clients locally by executing the below commands that are required to install dependencies, run Docker containers and perform a series of query execution in the database engine to ensure it's working as expected... PostgreSQL ------------------------------------------------------------------------------- .. code-block:: bash docker run \ --env=POSTGRES_PASSWORD=postgres \ --env=PGDATA=/var/lib/postgresql/data \ --volume=/var/lib/postgresql/data \ -p 5432:5432 -d postgres:12.18-bullseye python manager.py run-database-test \ -client PostgresClient \ -params '{"conninfo":"postgresql://postgres:postgres@localhost:5432/postgres"}' MySQL ------------------------------------------------------------------------------- .. code-block:: bash docker run \ --env=MYSQL_ROOT_PASSWORD=mysql_password \ --volume=/var/lib/mysql \ -p 3306:3306 \ --restart=no \ --runtime=runc \ -d mysql:latest python manager.py run-database-test \ -client MySQLClient \ -params '{"host": "localhost", "database": "sys", "user": "root", "password": "mysql_password"}' Oracle ------------------------------------------------------------------------------- .. code-block:: bash docker pull container-registry.oracle.com/database/express:latest docker container create -it --name OracleSQL -p 1521:1521 -e ORACLE_PWD=oracle_password container-registry.oracle.com/database/express:latest docker start OracleSQL python manager.py run-database-test \ -client OracleClient \ -params '{"user": "SYSTEM", "password": "oracle_password", "dsn": "localhost:1521/xe"}' MsSQL ------------------------------------------------------------------------------- .. code-block:: bash docker pull mcr.microsoft.com/mssql/server:2022-latest docker run\ -e "ACCEPT_EULA=Y" \ -e "MSSQL_SA_PASSWORD=sOm3str0ngP@33w0rd" \ -p 1433:1433 --name MsSQL --hostname MsSQL \ -d mcr.microsoft.com/mssql/server:2022-latest docker start MsSQL sudo /bin/bash ./scripts/install_mssql_driver.sh python manager.py run-database-test \ -client MsSqlClient \ -params '{"dsn": "DRIVER={ODBC Driver 18 for SQL Server};SERVER=localhost;DATABASE=master;UID=SA;PWD=sOm3str0ngP@33w0rd;Encrypt=no"}' IBM DB2 ------------------------------------------------------------------------------- **Driver Installation** -- Debian-based and Ubuntu-based Distributions More information: https://ibmi-oss-docs.readthedocs.io/en/latest/odbc/installation.html .. code-block:: bash curl https://public.dhe.ibm.com/software/ibmi/products/odbc/debs/dists/1.1.0/ibmi-acs-1.1.0.list | sudo tee /etc/apt/sources.list.d/ibmi-acs-1.1.0.list sudo apt update sudo apt install ibm-iaccess .. code-block:: text # Create file -> .env_db2 LICENSE=accept DB2INSTANCE=db2inst1 DB2INST1_PASSWORD=SomePassword DBNAME=sample BLU=false ENABLE_ORACLE_COMPATIBILITY=false UPDATEAVAIL=NO TO_CREATE_SAMPLEDB=false REPODB=false IS_OSXFS=false PERSISTENT_HOME=true HADR_ENABLED=false ETCD_ENDPOINT= ETCD_USERNAME= ETCD_PASSWORD= .. code-block:: bash docker pull icr.io/db2_community/db2 docker run \ -h db2server --name db2server \ --restart=always --detach --privileged=true \ -p 50000:50000 --env-file .env_db2 \ -v /var/lib/db2:/database \ icr.io/db2_community/db2 .. code-block:: bash docker exec -ti db2server bash -c "su - db2inst1" db2sampl -force -sql Output... .. code-block:: text [db2inst1@db2server ~]$ db2sampl -force -sql Creating database "SAMPLE"... Connecting to database "SAMPLE"... Creating tables and data in schema "DB2INST1"... 'db2sampl' processing complete. .. code-block:: bash docker run \ -d --name=db2 \ --privileged=true \ -v /var/lib/db2:/database \ -e DB2INST1_PASSWORD=SomePassword \ -e LICENSE=accept \ -p 50000:50000 ibmcom/db2 python manager.py run-database-test \ -client Db2Client \ -params '{"dsn": "DATABASE=sample;HOSTNAME=localhost;PORT=50000;PROTOCOL=TCPIP;UID=db2inst1;PWD=SomePassword;"}'