The mock system relies on the PUBS_TESTS_MODE environmental variable.
See the `tests/mock_requests.py` code for details.
By defaults, fast mock tests are used with data pre-fetched from real
calls.
- Make `python setup.py test work`. remove test/requirements.txt.
fix#154
- Detect if no connection is present, and skip tests if not.
stop-gap measure for issue #147
* This fixes the logic in the `pubs add` command so that an arxiv ID doesn't
overwrite a DOI. This also changes the logic so that if an invalid DOI, ISBN,
or arXiv ID is provided the program will raise an error.
* The code now uses the bibtexparser package to generate the bibtex file for
arxiv papers.
* A dedicated exception is added for references that can't be found.
Because of the mechanism for catching exceptions in pubs, the
UnexpectedInput exception raised by FakeInput never reached the catch
statement in the CommandTestCase and raised a FakeSystemExit instead.
This commit monkey-patches the exception handler in the ui at the same
time as the patching of the input functions to ignore UnexptectedInput
at the ui level.
This allows the user to add a reference via an arXiv ID similarly to how a reference can be added
from a DOI or ISBN. If the arXiv ID has a DOI associated with it (according to the arXiv server),
the DOI will be used. If it does not (perhaps the paper is unpublished), then a bibtex entry will
automatically be generated from the reference's metadata.
Note that a potential issue with this addition is that if a paper is added before it is published
(i.e., there is no DOI associated with it), and the paper is later published, the updated
information will have to be manually added.