Fixes VIO collection
[osm/MON.git] / osm_mon / tests / unit / collector / vnf_collectors / vmware / mock_http.py
diff --git a/osm_mon/tests/unit/collector/vnf_collectors/vmware/mock_http.py b/osm_mon/tests/unit/collector/vnf_collectors/vmware/mock_http.py
new file mode 100644 (file)
index 0000000..36ee361
--- /dev/null
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+# Copyright 2019 VMware
+# *************************************************************
+
+# This file is part of OSM Monitoring module
+# All Rights Reserved to VMware
+
+# 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.
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact: mbeierl@vmware.com
+# #
+
+import os
+import re
+
+
+def mock_http_response(mocker, method='GET', site='https://vrops', url_pattern='', response_file='OK',
+                       status_code=200, exception=None):
+    '''Helper function to load a canned response from a file.'''
+    with open(os.path.join(os.path.dirname(__file__), 'vmware_mocks',
+                           '%s' % response_file), 'r') as f:
+        response = f.read()
+
+    matcher = re.compile(site + url_pattern)
+    if exception is None:
+        mocker.register_uri(method, matcher, text=response, status_code=status_code)
+    else:
+        mocker.register_uri(method, matcher, exc=exception)