IQSS / dataverse-client-python

Python library for writing clients that use APIs from Dataverse
http://guides.dataverse.org/en/latest/api
Apache License 2.0
31 stars 27 forks source link

Travis builds failing #32

Open pdurbin opened 8 years ago

pdurbin commented 8 years ago

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:

job_ 18 2_-_iqss_dataverse-client-python_-_travis_ci_-_2016-06-01_08 32 30

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.

pdurbin commented 8 years ago

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.