예제 #1
0
파일: test_fs.py 프로젝트: otron/xrootdfs
def test_init(tmppath):
    """Test initialization."""
    fs = XRootDFS("root://127.0.0.1//tmp/")
    assert fs.xrd_client
    assert fs.base_path == "//tmp/"
    assert fs.root_url == "root://127.0.0.1"

    XRootDFS("root://*****:*****@eosuser.cern.ch//")
    XRootDFS("root://eosuser.cern.ch//")
    XRootDFS("root://eosuser.cern.ch//")
    pytest.raises(InvalidPathError, XRootDFS, "http://localhost")
    pytest.raises(InvalidPathError, XRootDFS, "root://eosuser.cern.ch//lhc//")

    rooturl = mkurl(tmppath)
    fs = XRootDFS(rooturl)
    root_url, base_path, qargs = spliturl(rooturl)
    assert fs.xrd_client
    assert fs.base_path == base_path
    assert fs.root_url == root_url
    assert fs.queryargs is None

    qarg = "xrd.wantprot=krb5"
    fs = XRootDFS(rooturl + "?" + qarg)
    root_url, base_path, qargs = spliturl(rooturl + "?" + qarg)
    assert fs.base_path == base_path
    assert fs.root_url == root_url
    assert fs.queryargs == {"xrd.wantprot": "krb5"}
    assert qargs == qarg

    qarg = "xrd.wantprot=krb5"
    fs = XRootDFS(rooturl + "?" + qarg, query={"xrd.k5ccname": "/tmp/krb"})

    assert fs.queryargs == {"xrd.wantprot": "krb5", "xrd.k5ccname": "/tmp/krb"}

    pytest.raises(KeyError, XRootDFS, rooturl + "?" + qarg, query={"xrd.wantprot": "krb5"})
예제 #2
0
def test_spliturl():
    """Test spliturl."""
    root, path = spliturl("root://eosuser.cern.ch/eos/user/")
    assert root == "root://eosuser.cern.ch/"
    assert path == "/eos/user/"

    root, path = spliturl("root://eosuser.cern.ch/")
    assert root == "root://eosuser.cern.ch/"
    assert path == ""

    root, path = spliturl("root://eosuser.cern.ch//")
    assert root == "root://eosuser.cern.ch/"
    assert path == "//"

    root, path = spliturl("root://eosuser.cern.ch")
    assert root == "root://eosuser.cern.ch/"
    assert path == ""

    root, path = spliturl("root://*****:*****@eosuser.cern.ch")
    assert root == "root://*****:*****@eosuser.cern.ch/"
    assert path == ""

    root, path = spliturl("root://eosuser.cern.ch/?xrd.wantprot=krb5")
    assert root == "root://eosuser.cern.ch/?xrd.wantprot=krb5"
    assert path == ""

    root, path = spliturl("root://eosuser.cern.ch/eos?xrd.wantprot=krb5")
    assert root == "root://eosuser.cern.ch/?xrd.wantprot=krb5"
    assert path == "/eos"

    pytest.raises(FSError, spliturl, "http://localhost")
예제 #3
0
def test_spliturl():
    """Test spliturl."""
    root, path = spliturl("root://eosuser.cern.ch/eos/user/")
    assert root == "root://eosuser.cern.ch/"
    assert path == "/eos/user/"

    root, path = spliturl("root://eosuser.cern.ch/")
    assert root == "root://eosuser.cern.ch/"
    assert path == ""

    root, path = spliturl("root://eosuser.cern.ch//")
    assert root == "root://eosuser.cern.ch/"
    assert path == "//"

    root, path = spliturl("root://eosuser.cern.ch")
    assert root == "root://eosuser.cern.ch/"
    assert path == ""

    root, path = spliturl("root://*****:*****@eosuser.cern.ch")
    assert root == "root://*****:*****@eosuser.cern.ch/"
    assert path == ""

    root, path = spliturl("root://eosuser.cern.ch/?xrd.wantprot=krb5")
    assert root == "root://eosuser.cern.ch/?xrd.wantprot=krb5"
    assert path == ""

    root, path = spliturl("root://eosuser.cern.ch/eos?xrd.wantprot=krb5")
    assert root == "root://eosuser.cern.ch/?xrd.wantprot=krb5"
    assert path == "/eos"

    pytest.raises(FSError, spliturl, "http://localhost")
예제 #4
0
def test_spliturl():
    """Test spliturl."""
    root, path, args = spliturl("root://eosuser.cern.ch//eos/user/")
    assert root == "root://eosuser.cern.ch"
    assert path == "//eos/user/"

    root, path, args = spliturl("root://eosuser.cern.ch//")
    assert root == "root://eosuser.cern.ch"
    assert path == "//"

    root, path, arg = spliturl("root://eosuser.cern.ch//eos?xrd.wantprot=krb5")
    assert root == "root://eosuser.cern.ch"
    assert path == "//eos"
    assert arg == "xrd.wantprot=krb5"

    root, path, arg = spliturl("root://localhost//")
    assert root == "root://localhost"
    assert path == "//"
    assert arg == ""
예제 #5
0
def test_spliturl():
    """Test spliturl."""
    root, path, args = spliturl("root://eosuser.cern.ch//eos/user/")
    assert root == "root://eosuser.cern.ch"
    assert path == "//eos/user/"

    root, path, args = spliturl("root://eosuser.cern.ch//")
    assert root == "root://eosuser.cern.ch"
    assert path == "//"

    root, path, arg = spliturl("root://eosuser.cern.ch//eos?xrd.wantprot=krb5")
    assert root == "root://eosuser.cern.ch"
    assert path == "//eos"
    assert arg == "xrd.wantprot=krb5"

    root, path, arg = spliturl("root://localhost//")
    assert root == "root://localhost"
    assert path == "//"
    assert arg == ""
예제 #6
0
파일: test_fs.py 프로젝트: otron/xrootdfs
def test_init(tmppath):
    """Test initialization."""
    fs = XRootDFS("root://127.0.0.1//tmp/")
    assert fs.xrd_client
    assert fs.base_path == "//tmp/"
    assert fs.root_url == "root://127.0.0.1"

    XRootDFS("root://*****:*****@eosuser.cern.ch//")
    XRootDFS("root://eosuser.cern.ch//")
    XRootDFS("root://eosuser.cern.ch//")
    pytest.raises(InvalidPathError, XRootDFS, "http://localhost")
    pytest.raises(InvalidPathError, XRootDFS, "root://eosuser.cern.ch//lhc//")

    rooturl = mkurl(tmppath)
    fs = XRootDFS(rooturl)
    root_url, base_path, qargs = spliturl(rooturl)
    assert fs.xrd_client
    assert fs.base_path == base_path
    assert fs.root_url == root_url
    assert fs.queryargs is None

    qarg = "xrd.wantprot=krb5"
    fs = XRootDFS(rooturl + '?' + qarg)
    root_url, base_path, qargs = spliturl(rooturl + '?' + qarg)
    assert fs.base_path == base_path
    assert fs.root_url == root_url
    assert fs.queryargs == {'xrd.wantprot': 'krb5'}
    assert qargs == qarg

    qarg = "xrd.wantprot=krb5"
    fs = XRootDFS(rooturl + '?' + qarg, query={'xrd.k5ccname': '/tmp/krb'})

    assert fs.queryargs == {
        'xrd.wantprot': 'krb5',
        'xrd.k5ccname': '/tmp/krb',
    }

    pytest.raises(KeyError,
                  XRootDFS,
                  rooturl + '?' + qarg,
                  query={'xrd.wantprot': 'krb5'})