From 9f09abd6ec8c9fd7909ac303973d63be39e9a927 Mon Sep 17 00:00:00 2001
From: licanwei
Date: Fri, 9 Nov 2018 10:44:35 +0800
Subject: [PATCH] Fix version header in the response
This patch updates response header
from OpenStack-API-Version: [VERSION_STRING]
to OpenStack-API-Version: [SERVICE_TYPE] [VERSION_STRING]
Change-Id: I10577ff1123ef781bd4aa0b26577574a3f7e9c39
---
watcher/api/controllers/v1/__init__.py | 3 ++-
watcher/tests/api/v1/test_microversions.py | 12 ++++++++----
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/watcher/api/controllers/v1/__init__.py b/watcher/api/controllers/v1/__init__.py
index b3250bee8..8d5d711f7 100644
--- a/watcher/api/controllers/v1/__init__.py
+++ b/watcher/api/controllers/v1/__init__.py
@@ -250,7 +250,8 @@ class Controller(rest.RestController):
# assert that requested version is supported
self._check_version(v, pecan.response.headers)
- pecan.response.headers[base.Version.string] = str(v)
+ pecan.response.headers[base.Version.string] = (
+ ' '.join([versions.service_type_string(), str(v)]))
pecan.request.version = v
return super(Controller, self)._route(args, request)
diff --git a/watcher/tests/api/v1/test_microversions.py b/watcher/tests/api/v1/test_microversions.py
index 2dac17b72..c3d97493e 100644
--- a/watcher/tests/api/v1/test_microversions.py
+++ b/watcher/tests/api/v1/test_microversions.py
@@ -52,7 +52,8 @@ class TestMicroversions(api_base.FunctionalTest):
return_json=False)
self.assertEqual(response.headers[H_MIN_VER], MIN_VER)
self.assertEqual(response.headers[H_MAX_VER], MAX_VER)
- self.assertEqual(response.headers[H_RESP_VER], MIN_VER)
+ self.assertEqual(response.headers[H_RESP_VER],
+ ' '.join([SERVICE_TYPE, MIN_VER]))
self.assertTrue(all(x in response.json.keys() for x in
self.controller_list_response))
@@ -60,7 +61,8 @@ class TestMicroversions(api_base.FunctionalTest):
response = self.get_json('/', return_json=False)
self.assertEqual(response.headers[H_MIN_VER], MIN_VER)
self.assertEqual(response.headers[H_MAX_VER], MAX_VER)
- self.assertEqual(response.headers[H_RESP_VER], MIN_VER)
+ self.assertEqual(response.headers[H_RESP_VER],
+ ' '.join([SERVICE_TYPE, MIN_VER]))
self.assertTrue(all(x in response.json.keys() for x in
self.controller_list_response))
@@ -72,7 +74,8 @@ class TestMicroversions(api_base.FunctionalTest):
return_json=False)
self.assertEqual(response.headers[H_MIN_VER], MIN_VER)
self.assertEqual(response.headers[H_MAX_VER], MAX_VER)
- self.assertEqual(response.headers[H_RESP_VER], '1.1')
+ self.assertEqual(response.headers[H_RESP_VER],
+ ' '.join([SERVICE_TYPE, '1.1']))
self.assertTrue(all(x in response.json.keys() for x in
self.controller_list_response))
@@ -84,7 +87,8 @@ class TestMicroversions(api_base.FunctionalTest):
return_json=False)
self.assertEqual(response.headers[H_MIN_VER], MIN_VER)
self.assertEqual(response.headers[H_MAX_VER], MAX_VER)
- self.assertEqual(response.headers[H_RESP_VER], MAX_VER)
+ self.assertEqual(response.headers[H_RESP_VER],
+ ' '.join([SERVICE_TYPE, MAX_VER]))
self.assertTrue(all(x in response.json.keys() for x in
self.controller_list_response))