datacustodian 1.2.1

Creator: coderz1093

Last updated:

Add to Cart

Description:

datacustodian 1.2.1

[![pipeline status](https://gitlab.com/clearos/clearfoundation/datacustodian/badges/master/pipeline.svg)](https://gitlab.com/clearos/clearfoundation/datacustodian/commits/master) [![coverage report](https://gitlab.com/clearos/clearfoundation/datacustodian/badges/master/coverage.svg)](https://gitlab.com/clearos/clearfoundation/datacustodian/commits/master)
# DataCustodian Data Privacy Package Generator
DataCustodian generates other repositories for generalized
data privacy and consent systems. The generation follows YML specification files
that define the endpoints, handlers, authentication, validation, etc. for each
component of a data privacy solution.
DataCustodian is built to work with decentralized and distributed systems to
provide decentralized trust for storage and consent of data.
Check out the [API Documentation](https://clearos.gitlab.io/clearfoundation/datacustodian) and a [real-world implementation](https://gitlab.com/clearos/clearfoundation/clearshare).
## Installation
The package is available from the PyPI repository:
`bash pip install datacustodian `
## Generating a Package
Look at the documentation in docs/configs for an example setup that we use for
the unit tests. Customize that to your own application and then run:
`bash datacustodian_app.py path/to/your/app_spec.yml --generate `
That will auto-generate the package and start the REST API server.
## Running Unit Tests
Running unit tests can prove to be a massive pain because the gitlab CI runner
runs on docker. For a project like this that uses docker-compose, we have
to use docker-in-docker according to their instructions. However, the
documentation is sparse and there are lots of dead-ends… Here are the steps to
get the docker-compose.yml file to work:

Install a local gitlab-runner using brew install gitlab-runner.
gitlab-runner exec docker –docker-privileged test. Notice that there is a
–docker-privileged argument. Without that, the docker-in-docker won’t
work.
Make sure all the multiaddr reference the docker service (which hosts
all the other containers using dind).
tox should work, but for some reason: running the tests using tox produces
connection refused errors, whereas running straight with pytest does not.
Something about the tox environment screws things up.

## Problems with coverage
For an yet-unknown reason, when the unit tests run in the CI server using:

Only pytest, they pass with no issues.
coverage run with pytest, we get problems with connection reset errors,
and connection refused errors.

Insead of trying to figure this out now, we just do the following:

Before pushing to the remote server, run coverage locally (which has no
problems on MacOS).
Generate the coverage report -m > codecov.out.
Commit codecov.out and then push.

The CI server only runs pytest, but it also cat codecov.out so that the
output includes the regular code coverage matrix. That way, gitlab still has
correct statistics about code coverage.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.