Blame tests/test_data_fetch.py
|
Packit Service |
39273c |
import tempfile
|
|
Packit Service |
39273c |
import filecmp
|
|
Packit Service |
39273c |
import contextlib
|
|
Packit Service |
39273c |
import pathlib
|
|
Packit Service |
39273c |
import sys
|
|
Packit Service |
39273c |
import subprocess
|
|
Packit Service |
39273c |
import time
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
from org_fedora_oscap import data_fetch
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
PORT = 8001
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
@contextlib.contextmanager
|
|
Packit Service |
39273c |
def serve_directory_in_separate_process(port):
|
|
Packit Service |
39273c |
args = [sys.executable, "-m", "http.server", str(port)]
|
|
Packit Service |
39273c |
proc = subprocess.Popen(
|
|
Packit Service |
39273c |
args,
|
|
Packit Service |
39273c |
stdout=subprocess.DEVNULL,
|
|
Packit Service |
39273c |
stderr=subprocess.DEVNULL)
|
|
Packit Service |
39273c |
# give the server some time to start
|
|
Packit Service |
39273c |
time.sleep(0.4)
|
|
Packit Service |
39273c |
yield
|
|
Packit Service |
39273c |
proc.terminate()
|
|
Packit Service |
39273c |
proc.wait()
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
def test_file_retreival():
|
|
Packit Service |
39273c |
filename_to_test = pathlib.Path(__file__)
|
|
Packit Service |
39273c |
relative_filename_to_test = filename_to_test.relative_to(pathlib.Path.cwd())
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
temp_file = tempfile.NamedTemporaryFile()
|
|
Packit Service |
39273c |
temp_filename = temp_file.name
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
with serve_directory_in_separate_process(PORT):
|
|
Packit Service |
39273c |
data_fetch._curl_fetch(
|
|
Packit Service |
39273c |
"http://localhost:{}/{}".format(PORT, relative_filename_to_test), temp_filename)
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
assert filecmp.cmp(relative_filename_to_test, temp_filename)
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
def test_supported_url():
|
|
Packit Service |
39273c |
assert data_fetch.can_fetch_from("http://example.com")
|
|
Packit Service |
39273c |
assert data_fetch.can_fetch_from("https://example.com")
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
|
|
Packit Service |
39273c |
def test_unsupported_url():
|
|
Packit Service |
39273c |
assert not data_fetch.can_fetch_from("aaaaa")
|