summaryrefslogtreecommitdiff
path: root/tests/common
diff options
context:
space:
mode:
Diffstat (limited to 'tests/common')
-rw-r--r--tests/common/osutil/test_bigip.py29
-rw-r--r--tests/common/test_event.py66
-rw-r--r--tests/common/test_logger.py66
3 files changed, 132 insertions, 29 deletions
diff --git a/tests/common/osutil/test_bigip.py b/tests/common/osutil/test_bigip.py
index 4d1b006..f5958cf 100644
--- a/tests/common/osutil/test_bigip.py
+++ b/tests/common/osutil/test_bigip.py
@@ -282,35 +282,6 @@ class TestBigIpOSUtil_mount_dvd(AgentTestCase):
self.assertEqual(args[1].call_count, 1)
-class TestBigIpOSUtil_set_admin_access_to_ip(AgentTestCase):
-
- @patch.object(shellutil, "run", return_value=0)
- @patch.object(osutil.BigIpOSUtil,
- '_set_accept_admin_access_to_ip', return_value=None)
- @patch.object(osutil.BigIpOSUtil,
- '_set_drop_admin_access_to_ip', return_value=None)
- def test_success(self, *args):
- osutil.BigIpOSUtil.set_admin_access_to_ip(
- osutil.BigIpOSUtil(), '192.168.10.10'
- )
- self.assertEqual(args[0].call_count, 1)
- self.assertEqual(args[1].call_count, 1)
-
- @patch.object(shellutil, "run", return_value=0)
- def test_accept_access(self, *args):
- osutil.BigIpOSUtil._set_accept_admin_access_to_ip(
- osutil.BigIpOSUtil(), '192.168.10.10'
- )
- self.assertEqual(args[0].call_count, 2)
-
- @patch.object(shellutil, "run", return_value=0)
- def test_drop_access(self, *args):
- osutil.BigIpOSUtil._set_drop_admin_access_to_ip(
- osutil.BigIpOSUtil(), '192.168.10.10'
- )
- self.assertEqual(args[0].call_count, 2)
-
-
class TestBigIpOSUtil_route_add(AgentTestCase):
@patch.object(shellutil, "run", return_value=0)
diff --git a/tests/common/test_event.py b/tests/common/test_event.py
index f535411..a485edf 100644
--- a/tests/common/test_event.py
+++ b/tests/common/test_event.py
@@ -17,12 +17,78 @@
from __future__ import print_function
+from datetime import datetime
+
+import azurelinuxagent.common.event as event
+import azurelinuxagent.common.logger as logger
+
from azurelinuxagent.common.event import init_event_logger, add_event
from azurelinuxagent.common.future import ustr
+from azurelinuxagent.common.version import CURRENT_VERSION
+
from tests.tools import *
class TestEvent(AgentTestCase):
+
+ @patch('azurelinuxagent.common.event.EventLogger.add_event')
+ def test_periodic_emits_if_not_previously_sent(self, mock_event):
+ init_event_logger(tempfile.mkdtemp())
+ event.__event_logger__.reset_periodic()
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ mock_event.assert_called_once()
+
+ @patch('azurelinuxagent.common.event.EventLogger.add_event')
+ def test_periodic_does_not_emit_if_previously_sent(self, mock_event):
+ init_event_logger(tempfile.mkdtemp())
+ event.__event_logger__.reset_periodic()
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ self.assertEqual(1, mock_event.call_count)
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ self.assertEqual(1, mock_event.call_count)
+
+ @patch('azurelinuxagent.common.event.EventLogger.add_event')
+ def test_periodic_emits_if_forced(self, mock_event):
+ init_event_logger(tempfile.mkdtemp())
+ event.__event_logger__.reset_periodic()
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ self.assertEqual(1, mock_event.call_count)
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent", force=True)
+ self.assertEqual(2, mock_event.call_count)
+
+ @patch('azurelinuxagent.common.event.EventLogger.add_event')
+ def test_periodic_emits_after_elapsed_delta(self, mock_event):
+ init_event_logger(tempfile.mkdtemp())
+ event.__event_logger__.reset_periodic()
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ self.assertEqual(1, mock_event.call_count)
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ self.assertEqual(1, mock_event.call_count)
+
+ h = hash("FauxEvent"+""+ustr(True)+"")
+ event.__event_logger__.periodic_messages[h] = \
+ datetime.now() - logger.EVERY_DAY - logger.EVERY_HOUR
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ self.assertEqual(2, mock_event.call_count)
+
+ @patch('azurelinuxagent.common.event.EventLogger.add_event')
+ def test_periodic_forwards_args(self, mock_event):
+ init_event_logger(tempfile.mkdtemp())
+ event.__event_logger__.reset_periodic()
+
+ event.add_periodic(logger.EVERY_DAY, "FauxEvent")
+ mock_event.assert_called_once_with(
+ "FauxEvent",
+ duration=0, evt_type='', is_internal=False, is_success=True,
+ log_event=True, message='', op='', version=str(CURRENT_VERSION))
+
def test_save_event(self):
tmp_evt = tempfile.mkdtemp()
init_event_logger(tmp_evt)
diff --git a/tests/common/test_logger.py b/tests/common/test_logger.py
new file mode 100644
index 0000000..9e298b3
--- /dev/null
+++ b/tests/common/test_logger.py
@@ -0,0 +1,66 @@
+# Copyright 2016 Microsoft Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Requires Python 2.4+ and Openssl 1.0+
+#
+
+from datetime import datetime
+
+import azurelinuxagent.common.logger as logger
+
+from tests.tools import *
+
+_MSG = "This is our test logging message {0} {1}"
+_DATA = ["arg1", "arg2"]
+
+class TestLogger(AgentTestCase):
+
+ @patch('azurelinuxagent.common.logger.Logger.info')
+ def test_periodic_emits_if_not_previously_sent(self, mock_info):
+ logger.reset_periodic()
+
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ mock_info.assert_called_once()
+
+ @patch('azurelinuxagent.common.logger.Logger.info')
+ def test_periodic_does_not_emit_if_previously_sent(self, mock_info):
+ logger.reset_periodic()
+
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ self.assertEqual(1, mock_info.call_count)
+
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ self.assertEqual(1, mock_info.call_count)
+
+ @patch('azurelinuxagent.common.logger.Logger.info')
+ def test_periodic_emits_after_elapsed_delta(self, mock_info):
+ logger.reset_periodic()
+
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ self.assertEqual(1, mock_info.call_count)
+
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ self.assertEqual(1, mock_info.call_count)
+
+ logger.DEFAULT_LOGGER.periodic_messages[hash(_MSG)] = \
+ datetime.now() - logger.EVERY_DAY - logger.EVERY_HOUR
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ self.assertEqual(2, mock_info.call_count)
+
+ @patch('azurelinuxagent.common.logger.Logger.info')
+ def test_periodic_forwards_message_and_args(self, mock_info):
+ logger.reset_periodic()
+
+ logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
+ mock_info.assert_called_once_with(_MSG, *_DATA)