From 3dd110ebf64e88104fa108f83c0e129c9647a167 Mon Sep 17 00:00:00 2001
From: Giorgos Korfiatis <gkorf@grnet.gr>
Date: Wed, 17 Jun 2015 12:01:35 +0300
Subject: [PATCH] Send ok messages when initializing clients

---
 agkyra/syncer/localfs_client.py |  4 +++-
 agkyra/syncer/messaging.py      | 12 ++++++++++++
 agkyra/syncer/pithos_client.py  |  4 +++-
 test.py                         |  4 ++++
 4 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/agkyra/syncer/localfs_client.py b/agkyra/syncer/localfs_client.py
index 4e70eed..37711ae 100644
--- a/agkyra/syncer/localfs_client.py
+++ b/agkyra/syncer/localfs_client.py
@@ -553,7 +553,9 @@ class LocalfsFileClient(FileClient):
     def check_enabled(self):
         if not self.settings.localfs_is_enabled():
             msg = messaging.LocalfsSyncDisabled(logger=logger)
-            self.settings.messager.put(msg)
+        else:
+            msg = messaging.LocalfsSyncEnabled(logger=logger)
+        self.settings.messager.put(msg)
 
     def remove_candidates(self, objnames, ident):
         with self.probe_candidates.lock() as d:
diff --git a/agkyra/syncer/messaging.py b/agkyra/syncer/messaging.py
index 6e4220d..516d6a8 100644
--- a/agkyra/syncer/messaging.py
+++ b/agkyra/syncer/messaging.py
@@ -179,3 +179,15 @@ class PithosSyncDisabled(Message):
     def __init__(self, *args, **kwargs):
         Message.__init__(self, *args, **kwargs)
         self.logger.warning("Pithos sync is disabled")
+
+
+class LocalfsSyncEnabled(Message):
+    def __init__(self, *args, **kwargs):
+        Message.__init__(self, *args, **kwargs)
+        self.logger.info("Localfs sync is enabled")
+
+
+class PithosSyncEnabled(Message):
+    def __init__(self, *args, **kwargs):
+        Message.__init__(self, *args, **kwargs)
+        self.logger.info("Pithos sync is enabled")
diff --git a/agkyra/syncer/pithos_client.py b/agkyra/syncer/pithos_client.py
index 5b06d06..0f18296 100644
--- a/agkyra/syncer/pithos_client.py
+++ b/agkyra/syncer/pithos_client.py
@@ -288,7 +288,9 @@ class PithosFileClient(FileClient):
     def check_enabled(self):
         if not self.settings.pithos_is_enabled():
             msg = messaging.PithosSyncDisabled(logger=logger)
-            self.settings.messager.put(msg)
+        else:
+            msg = messaging.PithosSyncEnabled(logger=logger)
+        self.settings.messager.put(msg)
 
     def remove_candidates(self, objnames, ident):
         with self.probe_candidates.lock() as d:
diff --git a/test.py b/test.py
index 2d8be6d..7a08895 100644
--- a/test.py
+++ b/test.py
@@ -104,6 +104,10 @@ class AgkyraTest(unittest.TestCase):
         cls.pithos = cls.master.endpoint
         cls.pithos.create_container(cls.ID)
         cls.db = cls.s.get_db()
+        m = cls.s.get_next_message(block=True)
+        assert isinstance(m, messaging.PithosSyncEnabled)
+        m = cls.s.get_next_message(block=True)
+        assert isinstance(m, messaging.LocalfsSyncEnabled)
 
     def assert_message(self, mtype):
         m = self.s.get_next_message(block=True)
-- 
GitLab