edeposit.amqp.storage¶
Long term storage subsystem for the E-deposit project.
This project allows to store and retreive publications over AMQP and also to optionally access accessible publications via HTTP using builtin webserver written in bottle.py.
Installation¶
Installation of this project is little bit more complicated. Please read installation notes:
AMQP protocol¶
Here is the list of Request -> Response
pairs describing responses to AMQP communication:
SaveRequest.Archive -> Archive
SaveRequest.Publication -> Publication
SaveRequest.Tree -> TreeInfo
SearchRequest -> SearchResult
Source code¶
Project is released under the MIT license. Source code can be found at GitHub:
Unittests¶
Almost every feature of the project is tested by unittests. You can run those
tests using provided run_tests.sh
script, which can be found in the root
of the project.
If you have any trouble, just add --pdb
switch at the end of your run_tests.sh
command like this: ./run_tests.sh --pdb
. This will drop you to PDB shell.
Requirements¶
This script expects that packages pytest, fake-factory and sh is installed. In case you don’t have it yet, it can be easily installed using following command:
pip install --user pytest fake-factory sh
or for all users:
sudo pip install pytest fake-factory sh
Example¶
./run_tests.sh
============================= test session starts ==============================
platform linux2 -- Python 2.7.6, pytest-2.8.2, py-1.4.30, pluggy-0.3.1
rootdir: /home/bystrousak/Plocha/Dropbox/c0d3z/prace/edeposit.amqp.storage, inifile:
plugins: cov-1.8.1
collected 35 items
tests/test_amqp_chain.py .....
tests/test_publication_storage.py ........
tests/test_tree_handler.py ........
tests/structures/test_db_archive.py ...
tests/structures/test_db_publication.py ....
tests/structures/test_publication.py .
tests/structures/test_requests.py .
tests/structures/test_tree.py .....
========================== 35 passed in 11.02 seconds ==========================