diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 78d381820..163604ed1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -162,6 +162,37 @@ jobs: min_coverage: 10 token: ${{ github.token }} + ############################################################################## + # JOB: UNIT TEST LOGIN-SERVER ############################################### + ############################################################################## + unit_test_login_server: + name: Unit tests - Login-Server + runs-on: ubuntu-latest + needs: [build_test_login_server] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGE ################################################## + ########################################################################## + - name: Download Docker Image (Login-Server) + uses: actions/download-artifact@v2 + with: + name: docker-loginserver-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/loginserver.tar + ########################################################################## + # UNIT TESTS FRONTEND #################################################### + ########################################################################## + - name: Login-Server | Unit tests + run: | + docker run -v ~/coverage:/app/coverage --rm gradido/frontend:test yarn run test + cp -r ~/coverage ./coverage + #test: # runs-on: ubuntu-latest # steps: diff --git a/login_server/Dockerfile.debug b/login_server/Dockerfile.debug index f1b235e4e..97f9333a9 100644 --- a/login_server/Dockerfile.debug +++ b/login_server/Dockerfile.debug @@ -24,12 +24,6 @@ RUN ./unix_parse_proto.sh FROM debug as login_server_debug ENV DOCKER_WORKDIR="/code" -#RUN apt-get update && \ -# apt-get install -y --no-install-recommends gdb && \ -# apt-get autoclean && \ -# apt-get autoremove && \ -# apt-get clean && \ -# rm -rf /var/lib/apt/lists/* VOLUME /var/log/grd_login VOLUME /code/src diff --git a/login_server/Dockerfiles/Dockerfile.dependencies b/login_server/Dockerfiles/Dockerfile.dependencies index 0194c7c82..569b7a56d 100644 --- a/login_server/Dockerfiles/Dockerfile.dependencies +++ b/login_server/Dockerfiles/Dockerfile.dependencies @@ -11,7 +11,15 @@ WORKDIR ${DOCKER_WORKDIR} COPY ./dependencies ./dependencies COPY ./conanfile.txt ./conanfile.txt +COPY ./cmake ./cmake +# install gcovr because it is needed for coverage report +RUN apt-get update && \ + apt-get install -y --no-install-recommends gcovr && \ + apt-get autoclean && \ + apt-get autoremove && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* RUN cd dependencies/mariadb-connector-c && \ mkdir build && \ diff --git a/login_server/Dockerfiles/build_and_run.sh b/login_server/Dockerfiles/build_and_run.sh index 59408daca..11e4ed0fb 100644 --- a/login_server/Dockerfiles/build_and_run.sh +++ b/login_server/Dockerfiles/build_and_run.sh @@ -3,7 +3,8 @@ cp build/conan* build_vol/ cd build_vol cmake -DCMAKE_BUILD_TYPE=Debug .. +make -j$(nproc) protoc grpc_cpp_plugin make -j$(nproc) Gradido_LoginServer #echo "building done" chmod +x ./bin/Gradido_LoginServer -#./bin/Gradido_LoginServer +./bin/Gradido_LoginServer diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index abfc45d1d..bd490ff9c 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -1,7 +1,7 @@ ######################################################################################################### # mariadb server ######################################################################################################### -From mariadb/server:10.5 as mariadb_server +FROM mariadb/server:10.5 as mariadb_server ENV DOCKER_WORKDIR="/docker-entrypoint-initdb.d" @@ -19,3 +19,19 @@ COPY ./community_server/skeema/ . RUN cd ./gradido_community/ && for f in *.sql; do cp -- "$f" "../d_$f"; sed -i '1i use gradido_community;' "../d_$f"; done RUN cd ./gradido_community/insert && for f in *.sql; do cp -- "$f" "../../e_$f"; sed -i '1i use gradido_community;' "../../e_$f"; done +######################################################################################################### +# mariadb server with test dbs +######################################################################################################### +FROM mariadb_server as mariadb_server_test + +# create test databases +COPY ./mariadb/setup_test_dbs.sql a2_setup_dbs.sql + +# login server test db +COPY ./login_server/skeema/ . +RUN cd ./gradido_login/ && for f in *.sql; do cp -- "$f" "../b_$f"; sed -i '1i use gradido_login_test;' "../b_$f"; done +RUN cd ./gradido_login/insert && for f in *.sql; do cp -- "$f" "../../c_$f"; sed -i '1i use gradido_login_test;' "../../c_$f"; done +# community server test db +COPY ./community_server/skeema/ . +RUN cd ./gradido_community/ && for f in *.sql; do cp -- "$f" "../d_$f"; sed -i '1i use gradido_community_test;' "../d_$f"; done +RUN cd ./gradido_community/insert && for f in *.sql; do cp -- "$f" "../../e_$f"; sed -i '1i use gradido_community_test;' "../../e_$f"; done