Bug 1976: MON fails to collect disk metrics fixed
[osm/MON.git] / osm_mon / tests / unit / collector / vnf_collectors / test_openstack.py
index 991d7f9..0fc5e99 100644 (file)
@@ -198,3 +198,50 @@ class CollectorTest(TestCase):
         mock_gnocchi_client.metric.get_measures.assert_any_call(
             "packets_received", resource_id="test_id_2", limit=1
         )
+
+    @mock.patch.object(GnocchiBackend, "_build_neutron_client")
+    @mock.patch.object(GnocchiBackend, "_build_gnocchi_client")
+    def test_collect_instance_disk_metric(
+        self, build_gnocchi_client, build_neutron_client
+    ):
+        mock_gnocchi_client = mock.Mock()
+        mock_gnocchi_client.resource.search.return_value = [
+            {"id": "test_id"},
+        ]
+        mock_gnocchi_client.metric.get_measures.return_value = [
+            (
+                datetime.datetime(
+                    2019,
+                    4,
+                    12,
+                    15,
+                    43,
+                    tzinfo=datetime.timezone(datetime.timedelta(0), "+00:00"),
+                ),
+                60.0,
+                0.0225808,
+            ),
+            (
+                datetime.datetime(
+                    2019,
+                    4,
+                    12,
+                    15,
+                    44,
+                    tzinfo=datetime.timezone(datetime.timedelta(0), "+00:00"),
+                ),
+                60.0,
+                230848,
+            ),
+        ]
+
+        build_gnocchi_client.return_value = mock_gnocchi_client
+
+        backend = GnocchiBackend({"_id": "test_uuid"})
+        value = backend._collect_instance_disk_metric(
+            "disk_read_bytes", "test_resource_id"
+        )
+        self.assertEqual(value, 230848)
+        mock_gnocchi_client.metric.get_measures.assert_any_call(
+            "disk_read_bytes", resource_id="test_id", limit=1
+        )