Add test for target parameters and fix requests lib error

1. Adds test for target-* parameters.
2. Fixes an error that is caused by requests not accepting non-string
   header parameters https://github.com/requests/requests/issues/3477

Closes-Bug: 1708099
Change-Id: Ia5d1ad5062751c15928cbfd7709665a3ed769603
This commit is contained in:
Andras Kovi
2017-07-31 16:18:23 +02:00
parent a6281a58f3
commit 9ec1235dff
3 changed files with 23 additions and 2 deletions

View File

@@ -178,7 +178,10 @@ class HTTPClient(object):
headers['X-Target-User-Id'] = self.target_user_id headers['X-Target-User-Id'] = self.target_user_id
if self.target_insecure: if self.target_insecure:
headers['X-Target-Insecure'] = self.target_insecure # Note(akovi): due to changes in requests, this parameter
# must be a string. Basically, it is a truthy value on
# the server side.
headers['X-Target-Insecure'] = str(self.target_insecure)
if self.target_region_name: if self.target_region_name:
headers['X-Target-Region-Name'] = self.target_region_name headers['X-Target-Region-Name'] = self.target_region_name

View File

@@ -2038,3 +2038,21 @@ class NegativeCLITests(base_v2.MistralClientTestBase):
'action-execution-update', 'action-execution-update',
params='%s ERROR' % direct_ex_id params='%s ERROR' % direct_ex_id
) )
def test_target_action_execution(self):
command = (
'--debug '
'--os-target-tenant-name={tenantname} '
'--os-target-username={username} '
'--os-target-password="{password}" '
'--os-target-auth-url="{auth_url}" '
'--target_insecure '
'run-action heat.stacks_list'
).format(
tenantname=self.clients.tenant_name,
username=self.clients.username,
password=self.clients.password,
auth_url=self.clients.uri
)
self.mistral_alt_user(cmd=command)

View File

@@ -162,7 +162,7 @@ class HTTPClientTest(base.BaseClientTest):
self.assertEqual(target_auth_token, headers['X-Target-Auth-Token']) self.assertEqual(target_auth_token, headers['X-Target-Auth-Token'])
self.assertEqual(target_user_id, headers['X-Target-User-Id']) self.assertEqual(target_user_id, headers['X-Target-User-Id'])
self.assertEqual(target_project_id, headers['X-Target-Project-Id']) self.assertEqual(target_project_id, headers['X-Target-Project-Id'])
self.assertEqual(target_insecure, headers['X-Target-Insecure']) self.assertEqual(str(target_insecure), headers['X-Target-Insecure'])
self.assertEqual(target_region, headers['X-Target-Region-Name']) self.assertEqual(target_region, headers['X-Target-Region-Name'])
self.assertEqual(target_user_domain_name, self.assertEqual(target_user_domain_name,
headers['X-Target-User-Domain-Name']) headers['X-Target-User-Domain-Name'])