LandRegistry/charges-scribe

Name: charges-scribe

Owner: HM Land Registry

Description: null

Created: 2015-06-25 10:27:29.0

Updated: 2015-09-10 13:24:28.0

Pushed: 2015-10-28 08:42:48.0

Homepage: null

Size: 371

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Scribe

The Scribe app is a part of the Charges “Sign your Mortgage” service. It provides the document signing functions that the service needs to create a legally binding digital signature.

Currently for Alpha the Scribe will perform signatures itself. By Live our plan is for the Scribe to handoff document signing to a Hardware Security Module, acting as a facade over this hardware.

Contents
Usage

GET /key # get all keys POST /deed///signature/ # sign the mortgage deed

Getting started

Get the git submodules

submodule init
submodule update

Install the requirements

install -r requirements.txt
install -r requirements_test.txt

Export your database URI

rt DATABASE_URI=postgresql://username:password@localhost/database

To run the migration run the command

on run.py db upgrade head

To run the application run the command

on run.py runserver

hanging the migration
you have to do is change/create the related model and run the command

python run.py db revision –autogenerate

r some helpful documentation on using alembic go [here](alembic.md)

urrent model




"id": 24,
"public_key": "PUBLIC_KEY",
"private_key": "PRIVATE_KEY"


esting

Unit tests

the unit tests

python tests.py

Acceptance tests

of the acceptance tests are contained within the acceptance-tests folder with the feature files under the features folder and the step-definitions under the steps folder.

ou would like to run all of the acceptance tests then navigate into the acceptance-tests folder and run the following command:

./run_tests.sh

can also pass arguments to this command as you would if you were just running cucumber on it's own.

example you can use the following command to display a cut down version of cucumbers progress when it is running:

./run_tests.sh –format progress

ou can use the following to run only the scenarios that have been tagged with whatever tags you specify:

/run_tests.sh –tags @USXX

Running Rubocop

cop is ruby gem that will check any ruby code in the repository against the ruby style guide and then provide a report of any offenses.

rder to run Rubocop on the acceptance test code then navigate into the acceptance test folder and run the command:

./run_linting.sh

ou wish to amend what cops are used, what files are ignored when running Rubocop then you will need to put this in the rubocop.yml file.

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.