summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-12-15 17:14:43 +0200
committerLars Wirzenius <liw@liw.fi>2017-12-15 17:14:43 +0200
commitbc1eb6165749d3ff8ed1846c37673cfed56ad9e9 (patch)
treea0ea343aeb0f6142f58f1ba85284a6a9774374eb
parent4cb311fe68585f3286e7ec013e1c82c242d9310d (diff)
downloadick2-bc1eb6165749d3ff8ed1846c37673cfed56ad9e9.tar.gz
Refactor: give ControllerAPI the state object to use
It's cleaner than having ControllerAPI create it itself. Less coupling.
-rw-r--r--ick2/controllerapi.py10
-rw-r--r--ick2/controllerapi_tests.py16
-rw-r--r--ick_controller.py9
-rw-r--r--pylint.conf1
4 files changed, 12 insertions, 24 deletions
diff --git a/ick2/controllerapi.py b/ick2/controllerapi.py
index 1ef71cc..fe28c29 100644
--- a/ick2/controllerapi.py
+++ b/ick2/controllerapi.py
@@ -18,14 +18,8 @@ import ick2
class ControllerAPI:
- def __init__(self):
- self._state = ick2.ControllerState()
-
- def get_state_directory(self):
- return self._state.get_state_directory()
-
- def set_state_directory(self, dirname):
- self._state.set_state_directory(dirname)
+ def __init__(self, state):
+ self._state = state
def find_missing_route(self, missing_path): # pragma: no cover
apis = {
diff --git a/ick2/controllerapi_tests.py b/ick2/controllerapi_tests.py
index bb24e4a..89c553f 100644
--- a/ick2/controllerapi_tests.py
+++ b/ick2/controllerapi_tests.py
@@ -32,17 +32,11 @@ class ControllerAPITests(unittest.TestCase):
shutil.rmtree(self.tempdir)
def create_api(self):
- api = ick2.ControllerAPI()
- api.set_state_directory(self.statedir)
+ state = ick2.ControllerState()
+ state.set_state_directory(self.statedir)
+ api = ick2.ControllerAPI(state)
return api
- def test_has_no_state_directory_initially(self):
- api = ick2.ControllerAPI()
- statedir = api.get_state_directory()
- self.assertTrue(statedir is None)
-
def test_sets_and_creates_state_directory(self):
- api = self.create_api()
- statedir = api.get_state_directory()
- self.assertEqual(statedir, self.statedir)
- self.assertTrue(os.path.exists(statedir))
+ self.create_api()
+ self.assertTrue(os.path.exists(self.statedir))
diff --git a/ick_controller.py b/ick_controller.py
index 7c611a8..85c0bca 100644
--- a/ick_controller.py
+++ b/ick_controller.py
@@ -89,12 +89,11 @@ def main():
ick2.log.log('info', msg_text='Ick2 controller starts', config=config)
- api = ick2.ControllerAPI()
- ick2.log.log('info', msg_text='created ControllerAPI')
+ state = ick2.ControllerState()
+ state.set_state_directory(config['statedir'])
- api.set_state_directory(config['statedir'])
- ick2.log.log(
- 'info', msg_text='called ControllerAPI.set_state_directory')
+ api = ick2.ControllerAPI(state)
+ ick2.log.log('info', msg_text='created ControllerAPI')
application = apifw.create_bottle_application(
api, counter, dict_logger, config)
diff --git a/pylint.conf b/pylint.conf
index 3434ccd..1871f36 100644
--- a/pylint.conf
+++ b/pylint.conf
@@ -7,6 +7,7 @@ disable=
missing-docstring,
no-self-use,
not-callable,
+ too-few-public-methods,
unused-argument
[REPORTS]