Commit 1218d6ae authored by Patrick Shriwise's avatar Patrick Shriwise
Browse files

Adding final tests for the configuration setup.

parent 9d18eb1a
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -23,23 +23,24 @@ class PyGriffinConfig():
    """

    __MOD_PATH = os.path.abspath(os.path.dirname(__file__))
    __RC_FILE = __MOD_PATH + '/.pygriffin.rc'
    _RC_FILE = __MOD_PATH + '/.pygriffin.rc'

    def __init__(self, griffin_exec=None):

        # always read the config file,
        # even if we don't use it
        self.__config = ConfigParser()
        self.__config.read(self.__RC_FILE)
        print("Parsing file {}".format(self._RC_FILE))
        self.__config.read(self._RC_FILE)

        # if the Griffin path parameter is set, use that
        if griffin_exec is not None:
            self.griffin_exec = griffin_exec
        # next, try the GRIFFFIN_EXEC environment variable
        elif os.getenv('GRIFFIN_EXEC') is not None:
            self.griffin_dir = os.getenv('GRIFFIN_EXEC')
            self.griffin_exec = os.getenv('GRIFFIN_EXEC')
        elif self.get('exec', 'griffin'):
            self.griffin_exec = self.get('griffin_exec')
            self.griffin_exec = self.get('exec', 'griffin')
        else:
            msg = ('All methods of determining the location '
            'of the Griffin executable have failed.')
@@ -76,4 +77,4 @@ class PyGriffinConfig():

    @property
    def rc_file(self):
        return self.__RC_FILE
        return self._RC_FILE
+13 −0
Original line number Diff line number Diff line
import os
import pytest
from pathlib import Path

@@ -6,9 +7,21 @@ from pygriffin import PyGriffinConfig

def test_griffin_exec_direct():
    config = PyGriffinConfig(griffin_exec='./griffin_mock')
    assert config.griffin_exec == Path('./griffin_mock').absolute()
    assert config.griffin_dir == Path('.').absolute()

def test_griffin_exec_config():
    PyGriffinConfig._RC_FILE = "./.pygriffin.test.rc"
    config = PyGriffinConfig()
    assert config.griffin_exec == Path('./griffin_mock').absolute()
    assert config.griffin_dir == Path('.').absolute()

def test_griffin_env_config():
    os.environ['GRIFFIN_EXEC'] = str(Path("./griffin_mock"))
    config = PyGriffinConfig()
    assert config.griffin_exec == Path('./griffin_mock').absolute()
    assert config.griffin_dir == Path('.').absolute()


if __name__ == "__main__":
    pytest.main()