Skip to content

Test coverage

Mladen edited this page Aug 3, 2023 · 21 revisions

Python

SDK

Integration tests

Missing:

  • Check that each example app is working in all supported runtime configurations

Unit tests

Summary
   
Generated on: 08/01/2023 - 04:50:02
Parser: Cobertura
Assemblies: 6
Classes: 27
Files: 27
Line coverage: 71.7% (1097 of 1528)
Covered lines: 1097
Uncovered lines: 431
Coverable lines: 1528
Total lines: 2906
Branch coverage: 53.1% (100 of 188)
Covered branches: 100
Total branches: 188
Method coverage: Feature is only available for sponsors
Tag: 298_5722708398

Coverage

. - 75%
Name Line Branch
. 75% 70.6%
init.py    
base.py 77.5%  
config.py 82.6% 60%
model.py 76.9% 86.8%
vehicle_app.py 51.6% 20%
dapr - 53.8%
Name Line Branch
dapr 53.8% 12.5%
init.py    
_servicier.py 35.9% 0%
client.py 33.3% 0%
locator.py 95.4% 66.6%
middleware.py 82.3%  
pubsub.py 69.2%  
server.py 65.5% 0%
native - 70.7%
Name Line Branch
native 70.7% 20%
init.py    
locator.py 88.8% 100%
middleware.py 84.2%  
mqtt.py 57.7% 0%
test - 87.9%
Name Line Branch
test 87.9% 74%
init.py    
databroker_testhelper.py 81.8%  
inttesthelper.py 97.3% 86.8%
mqtt_util.py 66.6% 43.7%
util - 0%
Name Line Branch
util 0% 0%
init.py    
log.py 0% 0%
vdb - 70.8%
Name Line Branch
vdb 70.8% 43.3%
init.py    
client.py 81.9% 83.3%
reply.py 63.3% 25%
subscriptions.py 68.1% 35%
types.py 100%

Template

Missing

There is a need for an automated test which would start provided environment and make sure that everything works in there.

Integration Tests

In current setup, there is an integration test which tests integration between vapp and vdb.

Unit Tests

Provided unit tests test vehicle app from the sdk, but not new app from the template, and it results in coverage of 0, therefore needs to be reworked.

Package Line Rate Health
. 0%
Summary 0% (0 / 38)

C++

Test coverage for C++ sdk and examples plus C++ template app is already measured in CI workflows.

SDK

Integration Tests

Missing:

  • Check that each example app is working in all supported runtime configurations

Unit Tests

Package Line Rate Branch Rate Health
examples.seat-adjuster.src 0% 0%
examples.set-data-points.src 0% 0%
sdk.include.sdk 85% 2%
sdk.include.sdk.grpc 3% 3%
sdk.include.sdk.middleware 77% 52%
sdk.include.sdk.vdb 25% 50%
sdk.src.sdk 54% 40%
sdk.src.sdk.grpc 20% 8%
sdk.src.sdk.middleware 73% 35%
sdk.src.sdk.pubsub 18% 2%
sdk.src.sdk.vdb 100% 67%
Summary 45% 24%

Template

Integration Tests

Missing:

  • Check that the template app can be started and is working in all supported runtime configurations
  • Check that each importable example app can be imported, can be started and is working in all supported runtime configurations

Unit Tests

Package Line Rate Branch Rate Health
app.src 0% 0%
Summary 0% 0%

Devenv-Packages

devenv-runtimes

Integration Tests

Tested that runtime is started successfully and all containers (services + app) are running.

Missing:

  • test for correct podspec and helm-chart (indirect test via deployment) generation

Unit Tests

File Coverage Lines Branches  
All files 37% 41% 33%
runtime-k3d/src/install_deps.py 0% 0% 0%
runtime-k3d/src/app_deployment/build_vehicleapp.py 0% 0% 0%
runtime-k3d/src/app_deployment/deploy_vehicleapp.py 0% 0% 0%
runtime-k3d/src/runtime/controlplane.py 0% 0% 0%
runtime-k3d/src/runtime/runtime-down.py 0% 0% 0%
runtime-k3d/src/runtime/runtime-up.py 0% 0% 0%
runtime-k3d/src/runtime/runtime.py 0% 0% 0%
runtime-k3d/src/runtime/deployment/gen_helm.py 29% 39% 19%
runtime-k3d/src/runtime/deployment/gen_podspec.py 44% 54% 35%
runtime-k3d/src/runtime/deployment/lib.py 93% 87% 100%
runtime-kanto/src/install_deps.py 0% 0% 0%
runtime-kanto/src/app_deployment/build_vehicleapp.py 0% 0% 0%
runtime-kanto/src/app_deployment/deploy_vehicleapp.py 0% 0% 0%
runtime-kanto/src/runtime/controlplane_kanto.py 0% 0% 0%
runtime-kanto/src/runtime/runtime_down.py 0% 0% 0%
runtime-kanto/src/runtime/runtime_kanto.py 0% 0% 0%
runtime-kanto/src/runtime/runtime_up.py 0% 0% 0%
runtime-local/src/install_deps.py 0% 0% 0%
runtime-local/src/local_lib.py 22% 22% 0%
runtime-local/src/run-dapr-sidecar.py 0% 0% 0%
runtime-local/src/run-vehicle-app.py 0% 0% 0%
runtime-local/src/run_service.py 30% 42% 18%
runtime-local/src/runtime-up.py 0% 0% 0%
velocitas_lib/src/velocitas_lib/init.py 84% 84% 83%
velocitas_lib/src/velocitas_lib/middleware.py 91% 83% 100%
velocitas_lib/src/velocitas_lib/services.py 87% 93% 81%
velocitas_lib/src/velocitas_lib/variables.py 95% 97% 93%

devenv-devcontainer-setup

Integration tests

  • Tests if Vehicle Model is generated
  • Tests if files are synced correctly

Missing

  • tests for the real setup of the devcontainer

Unit Tests

just for the Python files in vehicle-model-lifecycle

File Coverage Lines Branches  
All files 87% 90% 84%
vehicle-model-lifecycle/src/download_vspec.py 91% 95% 87%
vehicle-model-lifecycle/src/generate_model.py 62% 64% 60%

Missing

  • unit tests for all shell-scripts

devcontainer-base-images

No tests at all

vehicle-model-generator

Currently, no tests at all

  • Need to add unit tests
  • Test if model generator package is correct

project-generator

Integration Tests

Tests is project successfully generated with provided payload or not.

Unit tests

File Coverage Lines Branches  
All files 86% 92% 79%
src/code-converter.ts 92% 97% 88%
src/gitRequestHandler.ts 52% 78% 26%
src/project-generator-error.ts 86% 100% 72%
src/project-generator.ts 92% 84% 100%
src/pipeline/extract-classes.ts 96% 100% 92%
src/pipeline/extract-methods.ts 86% 95% 77%
src/pipeline/extract-variables.ts 79% 88% 70%
src/pipeline/pipeline-base.ts 90% 100% 80%
src/utils/helpers.ts 96% 97% 94%

CLI

Integration Tests

Tests general behaviour of the CLI, like starting programs, passing values, setting and getting envs. Looks quite good. Since CLI is used in other integration tests it is quite good tested.

Unit Tests

File % Stmts % Branch % Funcs % Lines Uncovered Line #s
All files 86.24 66.66 87.35 86.59
commands/cache 100 100 100 100
clear.ts 100 100 100 100
get.ts 100 100 100 100
set.ts 100 100 100 100
commands/exec 92.85 66.66 100 92.85
index.ts 92.85 66.66 100 92.85 73,77
commands/init 85.41 65 66.66 87.23
index.ts 85.41 65 66.66 87.23 45,102-107
commands/package 95.83 80.76 100 95.74
index.ts 95.83 80.76 100 95.74 91,104
commands/sync 100 100 100 100
index.ts 100 100 100 100
commands/upgrade 100 100 100 100
index.ts 100 100 100 100
modules 82.06 61.9 86.84 82.31
app-manifest.ts 100 100 100 100
component.ts 95.23 73.33 91.66 96.55 130,139
constants.ts 100 100 100 100
exec.ts 64.06 51.61 54.54 65.57 25-38,70-71,85-87,103,107,113,132-135
helpers.ts 100 100 100 100
package-downloader.ts 96.66 75 100 96.55 38
package.ts 92.3 90 100 92.15 66,89-91,98
project-cache.ts 96.15 71.42 100 96.15 54
project-config.ts 91.89 73.33 100 91.89 62-64
semver.ts 64.28 37.5 100 64.28 24-30,35
setup.ts 33.33 15.38 20 33.33 33-79,95-108
variables.ts 94.93 80.43 100 94.87 176-179
Clone this wiki locally