Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 1 | # Copyright 2015 Deutsche Telekom AG |
| 2 | # All Rights Reserved. |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may |
| 5 | # not use this file except in compliance with the License. You may obtain |
| 6 | # a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| 13 | # License for the specific language governing permissions and limitations |
| 14 | # under the License. |
| 15 | |
| 16 | from tempest.api.compute import base |
Ken'ichi Ohmichi | 757833a | 2017-03-10 10:30:30 -0800 | [diff] [blame] | 17 | from tempest.lib.common.utils import data_utils |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 18 | |
| 19 | |
Ken'ichi Ohmichi | 02a8ccd | 2015-11-05 06:05:29 +0000 | [diff] [blame] | 20 | class BaseKeypairTest(base.BaseV2ComputeTest): |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 21 | """Base test case class for all keypair API tests.""" |
| 22 | |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 23 | @classmethod |
| 24 | def setup_clients(cls): |
| 25 | super(BaseKeypairTest, cls).setup_clients() |
| 26 | cls.client = cls.keypairs_client |
| 27 | |
Ghanshyam | 4541bd1 | 2016-02-29 13:46:39 +0900 | [diff] [blame] | 28 | def _delete_keypair(self, keypair_name, **params): |
| 29 | self.client.delete_keypair(keypair_name, **params) |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 30 | |
zhufl | 5bcd7ee | 2017-01-13 17:47:14 +0800 | [diff] [blame] | 31 | def create_keypair(self, keypair_name=None, |
| 32 | pub_key=None, keypair_type=None, |
| 33 | user_id=None): |
| 34 | if keypair_name is None: |
| 35 | keypair_name = data_utils.rand_name( |
| 36 | self.__class__.__name__ + '-keypair') |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 37 | kwargs = {'name': keypair_name} |
Ghanshyam | 4541bd1 | 2016-02-29 13:46:39 +0900 | [diff] [blame] | 38 | delete_params = {} |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 39 | if pub_key: |
| 40 | kwargs.update({'public_key': pub_key}) |
ghanshyam | a1f8713 | 2015-11-13 14:49:27 +0900 | [diff] [blame] | 41 | if keypair_type: |
| 42 | kwargs.update({'type': keypair_type}) |
Ghanshyam | 4541bd1 | 2016-02-29 13:46:39 +0900 | [diff] [blame] | 43 | if user_id: |
| 44 | kwargs.update({'user_id': user_id}) |
| 45 | delete_params['user_id'] = user_id |
ghanshyam | dee01f2 | 2015-08-17 11:41:47 +0900 | [diff] [blame] | 46 | body = self.client.create_keypair(**kwargs)['keypair'] |
Ghanshyam | 4541bd1 | 2016-02-29 13:46:39 +0900 | [diff] [blame] | 47 | self.addCleanup(self._delete_keypair, keypair_name, **delete_params) |
Marc Koderer | 78e5a8b | 2015-08-03 15:04:53 +0200 | [diff] [blame] | 48 | return body |