Videre
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Copyright (c) 2018 The Pooch Developers.
|
||||
# Distributed under the terms of the BSD 3-Clause License.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
# This code is part of the Fatiando a Terra project (https://www.fatiando.org)
|
||||
#
|
||||
# pylint: disable=redefined-outer-name
|
||||
"""
|
||||
Test the entire process of creating a Pooch and using it.
|
||||
"""
|
||||
import os
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from .. import create, os_cache
|
||||
from .. import __version__ as full_version
|
||||
from .utils import check_tiny_data, capture_log
|
||||
|
||||
|
||||
@pytest.mark.network
|
||||
def test_create_and_fetch():
|
||||
"Fetch a data file from the local storage"
|
||||
path = os_cache("pooch-testing")
|
||||
if path.exists():
|
||||
shutil.rmtree(str(path))
|
||||
pup = create(
|
||||
path=path,
|
||||
base_url="https://github.com/fatiando/pooch/raw/{version}/data/",
|
||||
version=full_version,
|
||||
version_dev="main",
|
||||
env="POOCH_DATA_DIR",
|
||||
)
|
||||
# Make sure the storage isn't created until a download is required
|
||||
assert not pup.abspath.exists()
|
||||
pup.load_registry(Path(os.path.dirname(__file__), "data", "registry.txt"))
|
||||
for target in ["tiny-data.txt", "subdir/tiny-data.txt"]:
|
||||
with capture_log() as log_file:
|
||||
fname = pup.fetch(target)
|
||||
assert log_file.getvalue().split()[0] == "Downloading"
|
||||
check_tiny_data(fname)
|
||||
# Now modify the file to trigger an update on the next fetch
|
||||
with open(fname, "w", encoding="utf-8") as fin:
|
||||
fin.write("The data is now different")
|
||||
with capture_log() as log_file:
|
||||
fname = pup.fetch(target)
|
||||
assert log_file.getvalue().split()[0] == "Updating"
|
||||
check_tiny_data(fname)
|
||||
Reference in New Issue
Block a user