Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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
Exemplo n.º 3
0
#   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"
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
#
# ## ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ##
"""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"))