def test_skip_if_no_network(): cleaned_env = os.environ.copy() cleaned_env.pop('DATALAD_TESTS_NONETWORK', None) # we need to run under cleaned env to make sure we actually test in both conditions with patch('os.environ', cleaned_env): @skip_if_no_network def somefunc(a1): return a1 ok_(hasattr(somefunc, "network")) with patch_config({'datalad.tests.nonetwork': '1'}): assert_raises(SkipTest, somefunc, 1) with patch.dict('os.environ', {}): eq_(somefunc(1), 1) # and now if used as a function, not a decorator with patch_config({'datalad.tests.nonetwork': '1'}): assert_raises(SkipTest, skip_if_no_network) with patch.dict('os.environ', {}): eq_(skip_if_no_network(), None)
def test_binary_data(): # TODO: Skipped due to gh-4436 yield known_failure_windows(skip_ssh(_test_binary_data)), 'datalad-test' yield skip_if_no_network(_test_binary_data), None
# See COPYING file distributed along with the datalad package for the # copyright and license terms. # # ## ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ## """Test S3 supporting functionality """ from ..support.s3 import get_versioned_url from .utils import use_cassette from nose.tools import eq_, assert_raises from datalad.tests.utils import skip_if_no_network from ..downloaders.tests.utils import get_test_providers skip_if_no_network( ) # ATM we don't ship fixtures, so if no network -- no network! @use_cassette('s3_test0') def test_version_url(): get_test_providers( 's3://openfmri/tarballs' ) # to verify having credentials to access openfmri via S3 for url_pref in ('http://openfmri.s3.amazonaws.com', 'https://s3.amazonaws.com/openfmri'): eq_(get_versioned_url(url_pref + "/tarballs/ds001_raw.tgz"), url_pref + "/tarballs/ds001_raw.tgz?versionId=null") eq_( get_versioned_url( "http://openfmri.s3.amazonaws.com/tarballs/ds001_raw.tgz?param=1"
def newfunc(*args, **kwargs): skip_if_no_network() if not os.getenv('DATALAD_TEST_XNAT'): raise SkipTest('Run this test by setting DATALAD_TEST_XNAT') return func(*args, **kwargs)
# # ## ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ## """Test S3 supporting functionality """ from ..support.s3 import get_versioned_url from .utils import use_cassette from .utils import ok_startswith from nose.tools import eq_, assert_raises from datalad.tests.utils import skip_if_no_network from ..downloaders.tests.utils import get_test_providers skip_if_no_network() # ATM we don't ship fixtures, so if no network -- no network! @use_cassette('s3_test_version_url') def test_version_url(): get_test_providers('s3://openfmri/tarballs') # to verify having credentials to access openfmri via S3 for url_pref in ('http://openfmri.s3.amazonaws.com', 'https://s3.amazonaws.com/openfmri'): eq_(get_versioned_url(url_pref + "/tarballs/ds001_raw.tgz"), url_pref + "/tarballs/ds001_raw.tgz?versionId=null") eq_(get_versioned_url("http://openfmri.s3.amazonaws.com/tarballs/ds001_raw.tgz?param=1"), "http://openfmri.s3.amazonaws.com/tarballs/ds001_raw.tgz?param=1&versionId=null") # something is wrong there #print(get_versioned_url("http://openfmri.s3.amazonaws.com/ds001/demographics.txt"))