Commit messages for posterity:
* wip transaction schema definition
* test for SchemaObject
* test SchemaObject definions meta property
* schema documentation updates
* test for basic validation
* commit before change to .json file definiton + rst generation
* move to straight .json schema, test for additionalProperties on each object
* add asset to transaction definiton
* remove outdated tx validation
* make all tests pass
* create own exception for validation error and start validating transactions
* more tx validation fixes
* move to yaml file for schema
* automatic schema documentation generator
* remove redundant section
* use YAML safe loading
* change current_owners to owners_before in tx schema
* re-run tests and make correct yaml schema
* fix some broken tests
* update Release_Process.md
* move tx validation into it's own method
* add jsonschema dependency
* perform schema validation after ID validation on Transaction
* Release_Process.md, markdown auto numbering
* remove old transaction.json
* resolve remaining TODOs in schema docuementation
* add `id` and `$schema` to transaction.yaml
* add transaction.yaml to setup.py so it gets copied
* address some concernes in PR for transaction.yaml
* address more PR concerns in transaction.yaml
* refactor validtion exceptions and move transaction schema validation into it's own function in bigchaindb.common.schema.__init__
* add note to generated schema.rst indicating when and how it's generated
* move tx schema validation back above ID validation in Transaction.validate_structure, test that structurally invalid transaction gets caught and 400 returned in TX POST handler
* remove timestamp from transaction schema index
* Add README.md to bigchaindb.common.schema for introduction to JSON Schema and reasons for YAML
* Use constant for schema definitions' base prefix
* Move import of ValidationError exception into only the tests that require it
* Move validate transaction test helper to tests/common/util.py
* move ordered transaction schema load to generate_schema_documentation.py where it's needed
* use double backticks to render terms in schema docs
* change more backticks and change transaction version description in transaction schema
* make details a mandatory property of condition
* Many more documentation fixes
* rename schema.rst to schema/transaction.rst
* Fix documentation for Metadata
* Add more links to documentation
* Various other documentation fixes
* Rename section titles in rendered documentation
* use to manage file handle
* fix extrenuous comma in test_tx_serialization_with_incorrect_hash args
* 'a' * 64
* remove schema validation until we can analyze properly impact on downstream consumers
* fix flake8 error
* use `with` always
* Adjust imports to bigchaindb_common
* Adjust get_spent function signature
* Adjust block serialization
* Fix BigchainApi Test
* Fix TestTransactionValidation tests
* Fix TestBlockValidation tests
* WIP: TestMultipleInputs
* Adjust tests to tx-model interface changes
- Fix old tests
- Fix tests in TestMultipleInputs class
* Remove fulfillment message tests
* Fix TransactionMalleability tests
* Remove Cryptoconditions tests
* Remove create_transaction
* Remove signing logic
* Remove consensus plugin
* Fix block_creation pipeline
* Fix election pipeline
* Replace some util functions with bdb_common ones
- timestamp ==> gen_timestamp
- serialize.
* Implement Block model
* Simplify function signatures for vote functions
Change parameter interface for the following functions:
- has_previous_vote
- verify_vote_signature
- block_election_status
so that they take a block's id and voters instead of a fake block.
* Integrate Block and Transaction model
* Fix leftover tests and cleanup conftest
* Add bigchaindb-common to install_requires
* Delete transactions after block is written (#609)
* delete transactions after block is written
* cleanup transaction_exists
* check for duplicate transactions
* delete invalid tx from backlog
* test duplicate transaction
* Remove dead code
* Test processes.py
* Test invalid tx in on server
* Fix tests for core.py
* Fix models tests
* Test commands main fn
* Add final coverage to vote pipeline
* Add more tests to voting pipeline
* Remove consensus plugin docs and misc
* Post rebase fixes
* Fix rebase mess
* Remove extra blank line
* Improve docstring
* Remove comment
handled in bigchaindb/cryptoconditions#27;
see https://github.com/bigchaindb/cryptoconditions/issues/27
* Fix block serialization in block creation
* Add signed_ prefix to transfer_tx
* Improve docs
* Add library documentation page on pipelines
* PR feedback for models.py
* Impr. readability of get_last_voted_block
* Use dict comprehension
* Add docker-compose file to build and serve docs
locally for development purposes
* Change private_key for signing_key
* Improve docstrings
* Remove consensus docs
* Document new consensus module
* Create different transactions for the block
* Cleanup variable names in block.py
* Create different transactions for the block
* Cleanup variable names in block.py
There was a problem related to the import of the module
`bigchaindb.web.views`.
The module, when imported, inizialises a new `Bigchain` instance, and
this is wrong for testing and because it's a bad practice.
I spent more or less 2h finding out the problem.