Restructure project directory, python files are now in their own folder

This commit is contained in:
Eric Torres
2022-10-01 11:16:15 -07:00
parent 243b5207bf
commit a8972362fc
22 changed files with 783 additions and 783 deletions

0
python/tests/__init__.py Normal file
View File

View File

@@ -0,0 +1,27 @@
"""
.. moduleauthor:: Eric Torres
Tests for the rbackup.config module.
"""
import unittest
import file_scripts.editor as editor
# ========== Constants ==========
# ========== Tests ==========
"""Test the select_editor() function.
Test cases
-----------
* Returned object is an instance of str
* If override is not None, ensure that it is in the result
"""
class TestSelectEditor(unittest.TestCase):
def test_override(self):
override = "doesnotexist"
with self.assertRaises(FileNotFoundError):
editor.select_editor(override)

50
python/tests/test_fzf.py Normal file
View File

@@ -0,0 +1,50 @@
"""
.. moduleauthor:: Eric Torres
:synopsis: Unit tests for the fzf module.
"""
import subprocess
import unittest
from pathlib import Path
from unittest.mock import patch
import file_scripts.fzf as fzf
# ========== Constants ==========
TESTING_PACKAGE = "file_scripts"
TESTING_MODULE = f"{TESTING_PACKAGE}.fzf"
# ========== Test Cases ==========
class TestRunFZF(unittest.TestCase):
def setUp(self):
self.patched_subprocess = patch(f"{TESTING_MODULE}.subprocess.run")
self.mocked_run = self.patched_subprocess.start()
def test_creates_pathlike_object(self):
self.assertIsInstance(fzf.select_file_with_fzf(b"test"), Path)
def tearDown(self):
patch.stopall()
class TestFZFErrors(unittest.TestCase):
def setUp(self):
self.patched_subprocess = patch(f"{TESTING_MODULE}.subprocess.run")
self.mocked_run = self.patched_subprocess.start()
def test_raises_error(self):
self.mocked_run.side_effect = subprocess.CalledProcessError(1, "hi")
with self.assertRaises(fzf.FZFError):
fzf.select_file_with_fzf(b"test")
def tearDown(self):
patch.stopall()
class TestFZFErrorClass(unittest.TestCase):
def test_class_repr(self):
f = fzf.FZFError(1, "error")
f
str(f)

View File

@@ -0,0 +1,90 @@
"""
.. moduleauthor:: Eric Torres
Tests for the rbackup.config module.
"""
import unittest
from unittest.mock import patch
from hypothesis import given
from hypothesis.strategies import text, lists
import file_scripts.search as search
# ========== Constants ==========
TESTING_PACKAGE = "file_scripts"
TESTING_MODULE = f"{TESTING_PACKAGE}.search"
# ========== Tests ==========
"""Test the find_files() function.
Test cases
-----------
* Both cases of capture_text
* bin_override behaves correctly
* directory is not None
"""
class TestFindFiles(unittest.TestCase):
def setUp(self):
self.patched_subprocess = patch(f"{TESTING_MODULE}.subprocess.run")
self.mocked_run = self.patched_subprocess.start()
@given(test_override=text(), test_opts=lists(text()))
def test_bin_override(self, test_override, test_opts):
search.find_files(opts=test_opts, bin_override=test_override)
self.mocked_run.assert_called_with(
[test_override, *test_opts, "--"], capture_output=True, text=None
)
# bin, opts, pattern, directory
@given(text())
def test_directory_override(self, d):
test_override = "fd_bin"
test_opts = ["option1", "option2"]
expected_dir_options = ["--", ".", d]
search.find_files(opts=test_opts, directory=d, bin_override=test_override)
self.mocked_run.assert_called_with(
[test_override, *test_opts, *expected_dir_options],
capture_output=True,
text=None,
)
def test_default_directory(self):
test_override = "path/to/find"
test_opts = ["option1", "option2"]
expected_cmd = [test_override, *test_opts, "--"]
search.find_files(opts=test_opts, bin_override=test_override)
self.mocked_run.assert_called_with(expected_cmd, capture_output=True, text=None)
def tearDown(self):
patch.stopall()
"""Test search.locate_files()
"""
class LocateFiles(unittest.TestCase):
def setUp(self):
# self.patched_locate_opts = patch(f"{TESTING_MODULE}")
self.patched_subprocess = patch(f"{TESTING_MODULE}.subprocess.run")
self.mocked_run = self.patched_subprocess.start()
search.LOCATE_OPTS = ["opt1", "opt2"]
@given(test_patterns=lists(text()), bin=text())
def test_bin_override(self, test_patterns, bin):
search.locate_files(test_patterns, bin_override=bin)
self.mocked_run.assert_called_with(
[bin, *search.LOCATE_OPTS, "--", *test_patterns],
capture_output=True,
text=None,
)
def tearDown(self):
patch.stopall()