dataverse-client-python
dataverse-client-python copied to clipboard
Travis builds failing
I just reran the Travis build and it's failing. https://travis-ci.org/IQSS/dataverse-client-python/builds/84656583 is an example and here's a screenshot:

Some details about the failure:
$ py.test -v
============================= test session starts ==============================
platform linux2 -- Python 2.7.9 -- py-1.4.26 -- pytest-2.6.4 -- /home/travis/virtualenv/python2.7.9/bin/python
collected 22 items
dataverse/test/test_dataverse.py::TestUtils::test_get_element PASSED
dataverse/test/test_dataverse.py::TestUtils::test_get_elements PASSED
dataverse/test/test_dataverse.py::TestUtils::test_format_term PASSED
dataverse/test/test_dataverse.py::TestUtils::test_format_term_replace PASSED
dataverse/test/test_dataverse.py::TestConnection::test_connect PASSED
dataverse/test/test_dataverse.py::TestConnection::test_connect_unauthorized PASSED
dataverse/test/test_dataverse.py::TestConnection::test_create_dataverse PASSED
dataverse/test/test_dataverse.py::TestConnection::test_delete_dataverse PASSED
dataverse/test/test_dataverse.py::TestConnection::test_get_dataverses PASSED
dataverse/test/test_dataverse.py::TestConnection::test_get_dataverse PASSED
dataverse/test/test_dataverse.py <- ../../../virtualenv/python2.7.9/lib/python2.7/site-packages/httpretty/core.py::TestConnection::test_connect_unknown_failure PASSED
dataverse/test/test_dataverse.py::TestDataset::test_init PASSED
dataverse/test/test_dataverse.py::TestDataset::test_init_from_xml PASSED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_create_dataset PASSED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_add_dataset_from_xml PASSED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_add_files FAILED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_upload_file FAILED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_display_atom_entry PASSED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_display_dataset_statement PASSED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_delete_a_file FAILED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_delete_a_dataset PASSED
dataverse/test/test_dataverse.py::TestDatasetOperations::test_publish_dataset SKIPPED
=================================== FAILURES ===================================
_____________________ TestDatasetOperations.test_add_files _____________________
self = <dataverse.test.test_dataverse.TestDatasetOperations object at 0x7f33371ff850>
def test_add_files(self):
self.dataset.upload_filepaths(EXAMPLE_FILES)
actual_files = [f.name for f in self.dataset.get_files()]
> assert '__init__.py' in actual_files
E assert '__init__.py' in ['temp.zip']
dataverse/test/test_dataverse.py:299: AssertionError
____________________ TestDatasetOperations.test_upload_file ____________________
self = <dataverse.test.test_dataverse.TestDatasetOperations object at 0x7f33370a1d10>
def test_upload_file(self):
self.dataset.upload_file('file.txt', 'This is a simple text file!')
self.dataset.upload_file('file2.txt', 'This is the second simple text file!')
actual_files = [f.name for f in self.dataset.get_files()]
> assert 'file.txt' in actual_files
E assert 'file.txt' in ['temp-1.zip', 'temp.zip']
dataverse/test/test_dataverse.py:307: AssertionError
___________________ TestDatasetOperations.test_delete_a_file ___________________
self = <dataverse.test.test_dataverse.TestDatasetOperations object at 0x7f33371ffa50>
def test_delete_a_file(self):
self.dataset.upload_file('cat.jpg', b'Whatever a cat looks like goes here.')
# Add file and confirm
files = self.dataset.get_files()
assert len(files) == 1
> assert files[0].name == 'cat.jpg'
E assert 'temp.zip' == 'cat.jpg'
E - temp.zip
E + cat.jpg
dataverse/test/test_dataverse.py:328: AssertionError
=============== 3 failed, 18 passed, 1 skipped in 67.34 seconds ================
The command "py.test -v" exited with 1.
cache.2
store build cache
0.00s
1.61schanges detected, packing new archive
uploading archive
Done. Your build exited with 1.
@rliebz recommended opening a new issue at https://github.com/IQSS/dataverse-client-python/pull/27#issuecomment-222808175 and I agree with him. I'm really not sure what's going on or why the tests in the Travis build are failing.
This comment from @rliebz at https://github.com/CenterForOpenScience/osf.io/pull/5344#issuecomment-222810884 seems important:
I believe the issue has to do with how files are being zipped, uploaded, and received, but it would need some investigation. Either way, the tests that are failing correspond specifically to the upload_file and upload_filepath methods, which are currently not being used by the OSF; they are instead reimplemented by WaterButler.