Skip to content
Snippets Groups Projects
Commit 4d33393f authored by Albin Henriksson's avatar Albin Henriksson
Browse files

Issue/7 add test coverage report

parent cc7bfa24
No related branches found
No related tags found
1 merge request!12Issue/7 add test coverage report
Pipeline #34261 passed
stages: stages:
- setup - setup
- test - test
- report
include: include:
- local: .gitlab/server.gitlab-ci.yml - local: .gitlab/server.gitlab-ci.yml
......
...@@ -51,3 +51,25 @@ client:test: ...@@ -51,3 +51,25 @@ client:test:
- cd client - cd client
- npm run test:coverage - npm run test:coverage
coverage: /All files\s*\|\s*([\d\.]+)/ coverage: /All files\s*\|\s*([\d\.]+)/
artifacts:
paths:
- client/output/coverage/jest/cobertura-coverage.xml
expire_in: 5 min
client:report:
image: python
stage: report
needs: ["client:test"]
only:
refs:
- dev
- merge_requests
changes:
- client/**/*
script:
- cd client
- python coverage_report.py
artifacts:
reports:
cobertura: client/output/coverage/jest/cobertura-coverage.xml
expire_in: 1 week
...@@ -38,3 +38,26 @@ server:test: ...@@ -38,3 +38,26 @@ server:test:
- cd server - cd server
- source env/bin/activate - source env/bin/activate
- pytest --cov app tests/ - pytest --cov app tests/
- coverage xml
artifacts:
paths:
- server/coverage.xml
expire_in: 5 min
server:report:
image: python
stage: report
needs: ["server:test"]
only:
refs:
- dev
- merge_requests
changes:
- server/**/*
script:
- cd server
- python coverage_report.py
artifacts:
reports:
cobertura: server/coverage.xml
expire_in: 1 week
import xml.etree.ElementTree as et
tree = et.parse('output/coverage/jest/cobertura-coverage.xml')
root = tree.getroot()
for package_class in tree.find('.//packages'):
package_class.set('name', 'client.' + package_class.attrib.get('name'))
package_class.set('filename', 'client/' + package_class.attrib.get('filename'))
tree.write('output/coverage/jest/cobertura-coverage.xml')
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
"test": "react-scripts test", "test": "react-scripts test",
"eject": "react-scripts eject", "eject": "react-scripts eject",
"lint": "eslint \"./src/**/*.{js,ts,tsx}\"", "lint": "eslint \"./src/**/*.{js,ts,tsx}\"",
"test:coverage": "react-scripts test --coverage" "test:coverage": "react-scripts test --coverage --coverageDirectory=output/coverage/jest"
}, },
"browserslist": { "browserslist": {
"production": [ "production": [
...@@ -57,6 +57,10 @@ ...@@ -57,6 +57,10 @@
"src/**/*.{js,jsx,tsx,ts}", "src/**/*.{js,jsx,tsx,ts}",
"!src/index.tsx", "!src/index.tsx",
"!src/reportWebVitals.ts" "!src/reportWebVitals.ts"
],
"coverageReporters": [
"text",
"cobertura"
] ]
}, },
"proxy": "http://localhost:5000/api/" "proxy": "http://localhost:5000/api/"
......
...@@ -6,5 +6,4 @@ ...@@ -6,5 +6,4 @@
from flask import Blueprint from flask import Blueprint
admin_blueprint = Blueprint("admin", __name__) admin_blueprint = Blueprint("admin", __name__)
import datetime import datetime
from app import db
from app.api import api_blueprint
from app.database.models import Blacklist, User
from app.utils.validator import edit_user_schema, login_schema, register_schema, validateObject
from flask import request from flask import request
from flask_jwt_extended import ( from flask_jwt_extended import (
jwt_required,
create_access_token, create_access_token,
jwt_refresh_token_required,
create_refresh_token, create_refresh_token,
get_jwt_identity, get_jwt_identity,
get_raw_jwt, get_raw_jwt,
jwt_refresh_token_required,
jwt_required,
) )
from app import db
from app.api import api_blueprint
from app.database.models import User, Blacklist
from app.utils.validator import validateObject, login_schema, register_schema, edit_user_schema
def get_current_user(): def get_current_user():
......
import xml.etree.ElementTree as et
tree = et.parse('coverage.xml')
root = tree.getroot()
for package in tree.find('.//packages'):
package.set('name', 'server.' + package.attrib.get('name'))
for package_class in package.find('classes'):
package_class.set('name', 'server.' + package_class.attrib.get('name'))
package_class.set('filename', 'server/' + package_class.attrib.get('filename'))
tree.write('coverage.xml')
...@@ -9,7 +9,6 @@ def app(): ...@@ -9,7 +9,6 @@ def app():
with app.app_context(): with app.app_context():
db.drop_all() db.drop_all()
db.create_all() db.create_all()
return app return app
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment