def test_checksum(tmppath): """Test checksum method.""" fs = XRootDFS(mkurl(tmppath)) # Local xrootd server does not support checksum operation pytest.raises(UnsupportedError, fs.xrd_checksum, "data/testa.txt") # Let's fake a success response fake_status = { "status": 0, "code": 0, "ok": True, "errno": 0, "error": False, "message": "[SUCCESS] ", "fatal": False, "shellcode": 0, } fs.xrd_client.query = Mock(return_value=(XRootDStatus(fake_status), "adler32 3836a69a\x00")) algo, val = fs.xrd_checksum("data/testa.txt") assert algo == "adler32" and val == "3836a69a" # Fake a bad response (e.g. on directory) fake_status = { "status": 1, "code": 400, "ok": False, "errno": 3011, "error": True, "message": "[ERROR] Server responded with an error: [3011] no such " "file or directory\n", "fatal": False, "shellcode": 54, } fs.xrd_client.query = Mock(return_value=(XRootDStatus(fake_status), None)) pytest.raises(FSError, fs.xrd_checksum, "data/")
def test_checksum(tmppath): """Test checksum method.""" fs = XRootDFS(mkurl(tmppath)) # Local xrootd server does not support checksum operation pytest.raises(UnsupportedError, fs.xrd_checksum, "data/testa.txt") # Let's fake a success response fake_status = { "status": 0, "code": 0, "ok": True, "errno": 0, "error": False, "message": '[SUCCESS] ', "fatal": False, "shellcode": 0 } fs.xrd_client.query = Mock(return_value=(XRootDStatus(fake_status), 'adler32 3836a69a\x00')) algo, val = fs.xrd_checksum("data/testa.txt") assert algo == 'adler32' and val == "3836a69a" # Fake a bad response (e.g. on directory) fake_status = { "status": 1, "code": 400, "ok": False, "errno": 3011, "error": True, "message": '[ERROR] Server responded with an error: [3011] no such ' 'file or directory\n', "fatal": False, "shellcode": 54 } fs.xrd_client.query = Mock(return_value=(XRootDStatus(fake_status), None)) pytest.raises(FSError, fs.xrd_checksum, "data/")