diff --git a/app/__main__.py b/app/__main__.py index aaf2942..1a674ad 100644 --- a/app/__main__.py +++ b/app/__main__.py @@ -1,6 +1,4 @@ """The main entrypoint of the program.""" - - import argparse import sys from parser import read_specs_file diff --git a/app/notifier.py b/app/notifier.py index 99b3ffa..903e791 100644 --- a/app/notifier.py +++ b/app/notifier.py @@ -1,6 +1,4 @@ """Module handling IFTTT notifications.""" - - from typing import List import os import requests diff --git a/app/parser.py b/app/parser.py index ce5fdf5..b02e5a0 100644 --- a/app/parser.py +++ b/app/parser.py @@ -1,6 +1,4 @@ """Handles parsing a config file from disk.""" - - import yaml from pathlib import Path from typing import List, Union diff --git a/app/specs/directory.py b/app/specs/directory.py index 34a92e8..b8fbc32 100644 --- a/app/specs/directory.py +++ b/app/specs/directory.py @@ -1,6 +1,4 @@ """Module defining a directory-based spec.""" - - from .spec import Spec from pathlib import Path from typing import Union diff --git a/app/specs/spec.py b/app/specs/spec.py index 8ba1e28..f26f54b 100644 --- a/app/specs/spec.py +++ b/app/specs/spec.py @@ -1,7 +1,4 @@ """This module contains the base Spec class.""" - - -from pathlib import Path from typing import Union, Dict import skeleton import os diff --git a/app/specs/volume.py b/app/specs/volume.py index 27d6e7c..403c51b 100644 --- a/app/specs/volume.py +++ b/app/specs/volume.py @@ -1,6 +1,4 @@ """Module defining a Docker volume-based spec.""" - - from .spec import Spec from typing import Union from pathlib import Path diff --git a/tests/.gitkeep b/tests/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_skeleton.py b/tests/test_skeleton.py new file mode 100644 index 0000000..2da81bf --- /dev/null +++ b/tests/test_skeleton.py @@ -0,0 +1,69 @@ +"""Tests for the skeleton module.""" +from app.skeleton import merge + + +def test_merge_empty(): + """Test correct response for an empty merge.""" + assert merge() == {} + + +def test_merge_single(): + """Test merge command with a single input.""" + assert merge({}) == {} + + dic = {"test": "value", "test2": "value2"} + + assert merge(dic) == dic + + +def test_merge_double_no_overlap(): + """Test merge command with two non-overlapping inputs.""" + d1 = {"test": "value", "test2": "value2"} + d2 = {"test3": "value3"} + d_res = {"test": "value", "test2": "value2", "test3": "value3"} + + assert merge(d1, d2) == d_res + + +def test_merge_double_overlap(): + """Test merge command with two overlapping inputs.""" + d1 = {"test": "value", "test2": "value2"} + d2 = {"test2": "value3"} + d_res = {"test": "value", "test2": "value3"} + + assert merge(d1, d2) == d_res + + +def test_merge_triple_no_overlap(): + """Test merge command with three non-overlapping inputs. + + This test tells us that the recursion works. + """ + d1 = {"test": "value", "test2": "value2"} + d2 = {"test3": "value3"} + d3 = {"test4": "value4"} + d_res = { + "test": "value", + "test2": "value2", + "test3": "value3", + "test4": "value4", + } + + assert merge(d1, d2, d3) == d_res + + +def test_merge_triple_overlap(): + """Test merge command with three overlapping inputs. + + This test tells us that the recursion works. + """ + d1 = {"test": "value", "test2": "value2"} + d2 = {"test3": "value3"} + d3 = {"test2": "value4"} + d_res = { + "test": "value", + "test2": "value4", + "test3": "value3", + } + + assert merge(d1, d2, d3) == d_res diff --git a/tests/test_succeed.py b/tests/test_succeed.py deleted file mode 100644 index a5797d6..0000000 --- a/tests/test_succeed.py +++ /dev/null @@ -1,2 +0,0 @@ -def test_succeed(): - pass