diff --git a/osm_mon/test/OpenStack/test_alarming.py b/osm_mon/test/OpenStack/test_alarming.py
index 92c21f6..effd920 100644
--- a/osm_mon/test/OpenStack/test_alarming.py
+++ b/osm_mon/test/OpenStack/test_alarming.py
@@ -204,18 +204,21 @@
         values = {"severity": "warning",
                   "statistic": "COUNT",
                   "threshold_value": 12,
-                  "operation": "GT"}
+                  "operation": "GT",
+                  "granularity": 300,
+                  "resource_type": "generic"}
         payload = self.alarming.check_payload(
-            values, "my_metric", "r_id", "alarm_name")
+            values, "disk_write_ops", "r_id", "alarm_name")
 
-        self.assertEqual(
+        self.assertDictEqual(
             json.loads(payload), {"name": "alarm_name",
                                   "gnocchi_resources_threshold_rule":
                                   {"resource_id": "r_id",
-                                   "metric": "my_metric",
+                                   "metric": "disk.disk_ops",
                                    "comparison_operator": "gt",
                                    "aggregation_method": "count",
                                    "threshold": 12,
+                                   "granularity": 300,
                                    "resource_type": "generic"},
                                   "severity": "low",
                                   "state": "ok",
@@ -227,18 +230,21 @@
         values = {"severity": "warning",
                   "statistic": "COUNT",
                   "threshold_value": 12,
-                  "operation": "GT"}
+                  "operation": "GT",
+                  "granularity": 300,
+                  "resource_type": "generic"}
         payload = self.alarming.check_payload(
-            values, "my_metric", "r_id", "alarm_name", alarm_state="alarm")
+            values, "disk_write_ops", "r_id", "alarm_name", alarm_state="alarm")
 
         self.assertEqual(
             json.loads(payload), {"name": "alarm_name",
                                   "gnocchi_resources_threshold_rule":
                                   {"resource_id": "r_id",
-                                   "metric": "my_metric",
+                                   "metric": "disk.disk_ops",
                                    "comparison_operator": "gt",
                                    "aggregation_method": "count",
                                    "threshold": 12,
+                                   "granularity": 300,
                                    "resource_type": "generic"},
                                   "severity": "low",
                                   "state": "alarm",
@@ -270,4 +276,4 @@
         self.alarming.check_for_metric(auth_token, "metric_name", "r_id")
 
         perf_req.assert_called_with(
-            "gnocchi_endpoint/v1/metric/", auth_token, req_type="get")
+            "gnocchi_endpoint/v1/metric?sort=name:asc", auth_token, req_type="get")
diff --git a/osm_mon/test/OpenStack/test_metric_calls.py b/osm_mon/test/OpenStack/test_metric_calls.py
index 3c4a7c8..d209f61 100644
--- a/osm_mon/test/OpenStack/test_metric_calls.py
+++ b/osm_mon/test/OpenStack/test_metric_calls.py
@@ -40,7 +40,7 @@
 auth_token = mock.ANY
 
 # Mock a valid metric list for some tests, and a resultant list
-metric_list = [{"name": "disk_write_ops",
+metric_list = [{"name": "disk.write.requests",
                 "id": "metric_id",
                 "unit": "units",
                 "resource_id": "r_id"}]
@@ -52,7 +52,7 @@
 
     def __init__(self):
         """Initialise test and status code values."""
-        self.text = json.dumps("mock_response_text")
+        self.text = json.dumps([{"id": "test_id"}])
         self.status_code = "STATUS_CODE"
 
 
@@ -116,7 +116,7 @@
         # Test valid configuration and payload for creating a metric
         values = {"resource_uuid": "r_id",
                   "metric_unit": "units"}
-        get_metric_name.return_value = "metric_name", "norm_name"
+        get_metric_name.return_value = "norm_name", "metric_name"
         get_metric.return_value = None
         payload = {"id": "r_id",
                    "metrics": {"metric_name":
@@ -158,8 +158,8 @@
         self.metrics.list_metrics(endpoint, auth_token, values)
 
         perf_req.assert_called_with(
-            "<ANY>/v1/metric/", auth_token, req_type="get")
-        resp_list.assert_called_with("mock_response_text")
+            "<ANY>/v1/metric?sort=name:asc", auth_token, req_type="get")
+        resp_list.assert_called_with([{u'id': u'test_id'}])
 
     @mock.patch.object(metric_req.Metrics, "response_list")
     @mock.patch.object(Common, "_perform_request")
@@ -172,9 +172,9 @@
         self.metrics.list_metrics(endpoint, auth_token, values)
 
         perf_req.assert_called_with(
-            "<ANY>/v1/metric/", auth_token, req_type="get")
+            "<ANY>/v1/metric?sort=name:asc", auth_token, req_type="get")
         resp_list.assert_called_with(
-            "mock_response_text", resource="resource_id")
+            [{u'id': u'test_id'}], resource="resource_id")
 
     @mock.patch.object(metric_req.Metrics, "response_list")
     @mock.patch.object(Common, "_perform_request")
@@ -187,9 +187,9 @@
         self.metrics.list_metrics(endpoint, auth_token, values)
 
         perf_req.assert_called_with(
-            "<ANY>/v1/metric/", auth_token, req_type="get")
+            "<ANY>/v1/metric?sort=name:asc", auth_token, req_type="get")
         resp_list.assert_called_with(
-            "mock_response_text", metric_name="disk_write_bytes")
+            [{u'id': u'test_id'}], metric_name="disk_write_bytes")
 
     @mock.patch.object(metric_req.Metrics, "response_list")
     @mock.patch.object(Common, "_perform_request")
@@ -203,9 +203,9 @@
         self.metrics.list_metrics(endpoint, auth_token, values)
 
         perf_req.assert_called_with(
-            "<ANY>/v1/metric/", auth_token, req_type="get")
+            "<ANY>/v1/metric?sort=name:asc", auth_token, req_type="get")
         resp_list.assert_called_with(
-            "mock_response_text", resource="resource_id",
+            [{u'id': u'test_id'}], resource="resource_id",
             metric_name="packets_sent")
 
     @mock.patch.object(Common, "_perform_request")
@@ -224,7 +224,7 @@
         metric_name, norm_name = self.metrics.get_metric_name(values)
 
         self.assertEqual(metric_name, "disk_write_ops")
-        self.assertEqual(norm_name, "disk.disk_ops")
+        self.assertEqual(norm_name, "disk.write.requests")
 
         # test with an invalid metric name
         values = {"metric_name": "my_invalid_metric"}
diff --git a/osm_mon/test/OpenStack/test_settings.py b/osm_mon/test/OpenStack/test_settings.py
index 44bed82..66da6af 100644
--- a/osm_mon/test/OpenStack/test_settings.py
+++ b/osm_mon/test/OpenStack/test_settings.py
@@ -44,9 +44,10 @@
 
     def test_set_os_username(self):
         """Test reading the environment for OpenStack plugin configuration."""
+        os.environ["OS_USERNAME"] = "test"
         self.cfg.read_environ("my_service")
 
-        self.assertEqual(self.cfg.OS_USERNAME, "my_service")
+        self.assertEqual(self.cfg.OS_USERNAME, "test")
 
     @mock.patch.object(os, "environ")
     def test_read_environ(self, environ):
