You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2018/01/22 16:12:36 UTC

[ambari] 04/04: AMBARI-22811. Rewrite tests for alert types on branch-3.0-perf (aonishuk)

This is an automated email from the ASF dual-hosted git repository.

aonishuk pushed a commit to branch branch-3.0-perf
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 18ee0b73ebd063afa73681e87b61e2416ff980a3
Author: Andrew Onishuk <ao...@hortonworks.com>
AuthorDate: Mon Jan 22 18:09:18 2018 +0200

    AMBARI-22811. Rewrite tests for alert types on branch-3.0-perf (aonishuk)
---
 .../src/test/python/ambari_agent/TestAmsAlert.py   |  24 ++--
 .../src/test/python/ambari_agent/TestBaseAlert.py  |   3 +-
 .../test/python/ambari_agent/TestMetricAlert.py    |  12 +-
 .../src/test/python/ambari_agent/TestPortAlert.py  | 132 ++++++++-------------
 .../test/python/ambari_agent/TestScriptAlert.py    |  12 +-
 .../resource_management/libraries/script/script.py |   1 +
 6 files changed, 70 insertions(+), 114 deletions(-)

diff --git a/ambari-agent/src/test/python/ambari_agent/TestAmsAlert.py b/ambari-agent/src/test/python/ambari_agent/TestAmsAlert.py
index f1506f0..3a0ff15 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestAmsAlert.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestAmsAlert.py
@@ -141,17 +141,13 @@ class TestAmsAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_text = 'Warn: 4'
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     ca_connection = MagicMock()
@@ -165,8 +161,8 @@ class TestAmsAlert(TestCase):
     mock_collector.put = Mock(side_effect=collector_side_effect)
 
     alert = AmsAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_helpers(mock_collector, {'foo-site/bar': 12, 'foo-site/baz': 'asd'})
-    alert.set_cluster(cluster, host)
+    alert.set_helpers(mock_collector, MagicMock(), MagicMock())#{'foo-site/bar': 12, 'foo-site/baz': 'asd'})
+    alert.set_cluster(cluster, cluster_id, host)
 
     alert.collect()
 
@@ -212,17 +208,13 @@ class TestAmsAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_text = 'Crit: 10'
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     ca_connection = MagicMock()
@@ -236,8 +228,8 @@ class TestAmsAlert(TestCase):
     mock_collector.put = Mock(side_effect=collector_side_effect)
 
     alert = AmsAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_helpers(mock_collector, {'foo-site/bar': 12, 'foo-site/baz': 'asd'})
-    alert.set_cluster(cluster, host)
+    alert.set_helpers(mock_collector, MagicMock(), MagicMock())#{'foo-site/bar': 12, 'foo-site/baz': 'asd'})
+    alert.set_cluster(cluster, cluster_id, host)
 
     alert.collect()
 
diff --git a/ambari-agent/src/test/python/ambari_agent/TestBaseAlert.py b/ambari-agent/src/test/python/ambari_agent/TestBaseAlert.py
index 62877f2..a013c64 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestBaseAlert.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestBaseAlert.py
@@ -80,8 +80,9 @@ class TestBaseAlert(TestCase):
     alert_source_meta = {}
     cluster = 'cluster'
     host = 'host'
+    cluster_id = '0'
 
     alert = BaseAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
     self.assertEquals(alert.cluster_name, cluster)
     self.assertEquals(alert.host_name, host)
diff --git a/ambari-agent/src/test/python/ambari_agent/TestMetricAlert.py b/ambari-agent/src/test/python/ambari_agent/TestMetricAlert.py
index 9dfb8e9..6253ac6 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestMetricAlert.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestMetricAlert.py
@@ -188,17 +188,13 @@ class TestMetricAlert(TestCase):
       }
     }
     cluster = 'c1'
+    cluster_id = '0'
     host = 'host1'
     expected_text = 'Crit: 12'
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     response = Mock()
@@ -208,7 +204,7 @@ class TestMetricAlert(TestCase):
     mock_collector.put = Mock(side_effect=collector_side_effect)
 
     alert = MetricAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_helpers(mock_collector, {'foo-site/bar': 12, 'foo-site/baz': 'asd'})
-    alert.set_cluster(cluster, host)
+    alert.set_helpers(mock_collector, MagicMock(), MagicMock())#{'foo-site/bar': 12, 'foo-site/baz': 'asd'})
+    alert.set_cluster(cluster, cluster_id, host)
 
     alert.collect()
diff --git a/ambari-agent/src/test/python/ambari_agent/TestPortAlert.py b/ambari-agent/src/test/python/ambari_agent/TestPortAlert.py
index efcb6a6..5e9eb82 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestPortAlert.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestPortAlert.py
@@ -45,22 +45,19 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'OK'
     expected_text = 'TCP OK - 0.2010 response on port 80'
     time.side_effect = [123, 324, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -85,22 +82,19 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'WARNING'
     expected_text = 'TCP OK - 3.1170 response on port 8080'
     time.side_effect = [123, 3240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
-
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
+    
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -125,22 +119,20 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'CRITICAL'
     expected_text = 'Connection failed: Socket Timeout to 192.168.0.1:8080'
     time.side_effect = [123, 5240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
 
     def collector_side_effect(clus, data):
+      print data
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -164,22 +156,19 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'CRITICAL'
     expected_text = 'Connection failed: Socket Timeout to host1:80'
     time.side_effect = [123, 5240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -204,23 +193,20 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'CRITICAL'
     expected_text = 'Connection failed: exception message to 192.168.0.1:8080'
     time.side_effect = [123, 345, 567]
     socket.side_effect = Exception('exception message')
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -250,22 +236,19 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'OK'
     expected_text = 'TCP OK - 3.1170 response on port 8080'
     time.side_effect = [123, 3240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
-
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
+    
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -295,22 +278,20 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'CRITICAL'
     expected_text = 'Connection failed: Socket Timeout to 192.168.0.1:8080'
     time.side_effect = [123, 3240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
-
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
+    
+    
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -340,22 +321,19 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'CRITICAL'
     expected_text = 'Connection failed: Socket Timeout to 192.168.0.1:8080'
     time.side_effect = [120, 123, 5240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
-
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
+    
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -398,24 +376,21 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'OK'
     expected_text = 'TCP OK - 0.2010 response on port 2181'
     time.side_effect = [123, 324, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
     s = socket()
     s.recv.return_value = "imok"
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -458,24 +433,21 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'WARNING'
     expected_text = 'TCP OK - 3.1170 response on port 2181'
     time.side_effect = [123, 3240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
     s = socket()
     s.recv.return_value = "imok"
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
@@ -518,24 +490,22 @@ class TestPortAlert(TestCase):
     }
     cluster = 'c1'
     host = 'host1'
+    cluster_id = '0'
     expected_state = 'CRITICAL'
     expected_text = 'Connection failed: Socket Timeout to 192.168.0.1:2181'
     time.side_effect = [123, 5240, 567]
     alert = PortAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_cluster(cluster, host)
+    alert.set_cluster(cluster, cluster_id, host)
+    alert.configuration_builder = MagicMock()
+    
     s = socket()
     s.recv.return_value = "imok"
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
       self.assertEquals(data['state'], expected_state)
       self.assertEquals(data['text'], expected_text)
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     alert.collector = MagicMock()
diff --git a/ambari-agent/src/test/python/ambari_agent/TestScriptAlert.py b/ambari-agent/src/test/python/ambari_agent/TestScriptAlert.py
index a56258b..8f5c220 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestScriptAlert.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestScriptAlert.py
@@ -48,24 +48,20 @@ class TestScriptAlert(TestCase):
       'host_scripts_directory': DUMMY_PATH,
     }
     cluster = 'c1'
+    cluster_id = '0'
     host = 'host1'
     expected_text = 'bar is 12, baz is asd'
 
     def collector_side_effect(clus, data):
       self.assertEquals(data['name'], alert_meta['name'])
-      self.assertEquals(data['label'], alert_meta['label'])
-      self.assertEquals(data['service'], alert_meta['serviceName'])
-      self.assertEquals(data['component'], alert_meta['componentName'])
-      self.assertEquals(data['uuid'], alert_meta['uuid'])
-      self.assertEquals(data['enabled'], alert_meta['enabled'])
-      self.assertEquals(data['cluster'], cluster)
+      self.assertEquals(data['clusterId'], cluster_id)
       self.assertEquals(clus, cluster)
 
     mock_collector = MagicMock()
     mock_collector.put = Mock(side_effect=collector_side_effect)
 
     alert = ScriptAlert(alert_meta, alert_source_meta, self.config)
-    alert.set_helpers(mock_collector, {'foo-site/bar': 12, 'foo-site/baz': 'asd'})
-    alert.set_cluster(cluster, host)
+    alert.set_helpers(mock_collector, MagicMock(), MagicMock())#{'foo-site/bar': 12, 'foo-site/baz': 'asd'})
+    alert.set_cluster(cluster, cluster_id, host)
 
     alert.collect()
diff --git a/ambari-common/src/main/python/resource_management/libraries/script/script.py b/ambari-common/src/main/python/resource_management/libraries/script/script.py
index 98dc9df..494dbec 100644
--- a/ambari-common/src/main/python/resource_management/libraries/script/script.py
+++ b/ambari-common/src/main/python/resource_management/libraries/script/script.py
@@ -28,6 +28,7 @@ import logging
 import platform
 import inspect
 import tarfile
+import traceback
 import time
 from optparse import OptionParser
 import resource_management

-- 
To stop receiving notification emails like this one, please contact
aonishuk@apache.org.