-
Notifications
You must be signed in to change notification settings - Fork 250
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #444 from ONLYOFFICE/feature/base-connector-tests
Integration tests for databases and GitHub actions
- Loading branch information
Showing
30 changed files
with
1,842 additions
and
1,018 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: Dameng database tests | ||
on: | ||
push: | ||
paths: | ||
- 'DocService/sources/databaseConnectors/baseConnector.js' | ||
- 'DocService/sources/databaseConnectors/damengConnector.js' | ||
jobs: | ||
dameng-tests: | ||
name: Dameng | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Run dameng DB docker container | ||
run: docker run --name dameng -p 5236:5236 -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8_01 -d danilaworker/damengdb:8.1.2 | ||
|
||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Caching dependencies | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
./npm-shrinkwrap.json | ||
./Common/npm-shrinkwrap.json | ||
./DocService/npm-shrinkwrap.json | ||
- name: Install modules | ||
run: | | ||
npm ci | ||
npm --prefix Common ci | ||
npm --prefix DocService ci | ||
- name: Await database service to finish startup | ||
run: sleep 15 | ||
|
||
- name: Creating service DB configuration | ||
run: | | ||
echo '{"services": {"CoAuthoring": {"sql": {"type": "dameng", "dbHost": "127.0.0.1", "dbPort": 5236, "dbUser": "SYSDBA", "dbPass": "SYSDBA001"}}}}' >> Common/config/local.json | ||
- name: Creating schema | ||
run: | | ||
docker cp ./schema/dameng/createdb.sql dameng:/ | ||
docker exec dameng bash -c "cat /createdb.sql | /opt/dmdbms/bin/disql SYSDBA/SYSDBA001:5236" | ||
- name: Run Jest | ||
run: npm run "integration database tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: MSSQL database tests | ||
on: | ||
push: | ||
paths: | ||
- 'DocService/sources/databaseConnectors/baseConnector.js' | ||
- 'DocService/sources/databaseConnectors/mssqlConnector.js' | ||
jobs: | ||
mssql-tests: | ||
name: MSSQL | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Run MSSQL DB docker container | ||
run: docker run --name mssql -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=onlYoff1ce" -p 8080:1433 -d mcr.microsoft.com/mssql/server:2022-latest | ||
|
||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Caching dependencies | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
./npm-shrinkwrap.json | ||
./Common/npm-shrinkwrap.json | ||
./DocService/npm-shrinkwrap.json | ||
- name: Install modules | ||
run: | | ||
npm ci | ||
npm --prefix Common ci | ||
npm --prefix DocService ci | ||
- name: Creating service DB configuration | ||
run: | | ||
echo '{"services": {"CoAuthoring": {"sql": {"type": "mssql", "dbHost": "localhost", "dbPort": 8080, "dbUser": "sa", "dbPass": "onlYoff1ce"}}}}' >> Common/config/local.json | ||
- name: Await database service to finish startup | ||
run: sleep 5 | ||
|
||
- name: Creating schema | ||
run: | | ||
docker cp ./schema/mssql/createdb.sql mssql:/ | ||
docker exec mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P onlYoff1ce -i /createdb.sql | ||
- name: Run Jest | ||
run: npm run "integration database tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: MYSQL database tests | ||
on: | ||
push: | ||
paths: | ||
- 'DocService/sources/databaseConnectors/baseConnector.js' | ||
- 'DocService/sources/databaseConnectors/mysqlConnector.js' | ||
jobs: | ||
mysql-tests: | ||
name: MYSQL | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Run Mysql DB docker container | ||
run: docker run --name mysql -p 8080:3306 -p 8081:33060 -e MYSQL_HOST=127.0.0.1 -e MYSQL_ROOT_PASSWORD=onlyoffice -e MYSQL_DATABASE=onlyoffice -d mysql:latest | ||
|
||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Caching dependencies | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
./npm-shrinkwrap.json | ||
./Common/npm-shrinkwrap.json | ||
./DocService/npm-shrinkwrap.json | ||
- name: Install modules | ||
run: | | ||
npm ci | ||
npm --prefix Common ci | ||
npm --prefix DocService ci | ||
- name: Creating service DB configuration | ||
run: | | ||
echo '{"services": {"CoAuthoring": {"sql": {"type": "mysql", "dbHost": "127.0.0.1", "dbPort": "8080", "dbUser": "root", "dbPass": "onlyoffice"}}}}' >> Common/config/local.json | ||
- name : Creating schema | ||
run: | | ||
docker cp ./schema/mysql/createdb.sql mysql:/ | ||
docker exec mysql mysql -h 127.0.0.1 -u root --password=onlyoffice -D onlyoffice -e 'source /createdb.sql' | ||
- name: Run Jest | ||
run: npm run "integration database tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: Oracle database tests | ||
on: | ||
push: | ||
paths: | ||
- 'DocService/sources/databaseConnectors/baseConnector.js' | ||
- 'DocService/sources/databaseConnectors/oracleConnector.js' | ||
jobs: | ||
oracle-tests: | ||
name: Oracle | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Run Oracle DB docker container | ||
run: docker run --name oracle -p 8080:1521 -p 8081:5500 -e ORACLE_PASSWORD=admin -e APP_USER=onlyoffice -e APP_USER_PASSWORD=onlyoffice -d gvenzl/oracle-xe:21-slim | ||
|
||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Caching dependencies | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
./npm-shrinkwrap.json | ||
./Common/npm-shrinkwrap.json | ||
./DocService/npm-shrinkwrap.json | ||
- name: Install modules | ||
run: | | ||
npm ci | ||
npm --prefix Common ci | ||
npm --prefix DocService ci | ||
- name: Creating service DB configuration | ||
run: | | ||
echo '{"services": {"CoAuthoring": {"sql": {"type": "oracle", "dbHost": "127.0.0.1", "dbPort": "8080", "dbUser": "onlyoffice", "dbPass": "onlyoffice", "dbName": "xepdb1"}}}}' >> Common/config/local.json | ||
- name: Await database service to finish startup | ||
run: sleep 15 | ||
|
||
- name: Creating schema | ||
run: | | ||
docker cp ./schema/oracle/createdb.sql oracle:/ | ||
docker exec oracle sqlplus -s onlyoffice/onlyoffice@//localhost/xepdb1 @/createdb.sql | ||
- name: Run Jest | ||
run: npm run "integration database tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Postgre database tests | ||
on: | ||
push: | ||
paths: | ||
- 'DocService/sources/databaseConnectors/baseConnector.js' | ||
- 'DocService/sources/databaseConnectors/postgreConnector.js' | ||
jobs: | ||
postgres-tests: | ||
name: Postgres | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Run Postgres DB docker container | ||
run: docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=onlyoffice -e POSTGRES_USER=onlyoffice -e POSTGRES_DB=onlyoffice -d postgres:latest | ||
|
||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Caching dependencies | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
./npm-shrinkwrap.json | ||
./Common/npm-shrinkwrap.json | ||
./DocService/npm-shrinkwrap.json | ||
- name: Install modules | ||
run: | | ||
npm ci | ||
npm --prefix Common ci | ||
npm --prefix DocService ci | ||
- name: Creating service DB configuration | ||
run: | | ||
echo '{"services": {"CoAuthoring": {"sql": {"dbHost": "127.0.0.1"}}}}' >> Common/config/local.json | ||
- name: Creating schema | ||
run: | | ||
docker cp ./schema/postgresql/createdb.sql postgres:/ | ||
docker exec postgres psql -d onlyoffice -U onlyoffice -a -f /createdb.sql | ||
- name: Run Jest | ||
run: npm run "integration database tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Service unit tests | ||
on: | ||
push: | ||
paths: | ||
- '**.js' | ||
- '!tests/integration/**' | ||
- '!DocService/sources/databaseConnectors/**' | ||
jobs: | ||
unit-tests: | ||
name: Service unit tests | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Caching dependencies | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
./npm-shrinkwrap.json | ||
./Common/npm-shrinkwrap.json | ||
./DocService/npm-shrinkwrap.json | ||
- name: Install modules | ||
run: | | ||
npm ci | ||
npm --prefix Common ci | ||
npm --prefix DocService ci | ||
- name: Run Jest | ||
run: npm run "unit tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.