How to use _test_is_preserve_true method in tempest

Best Python code snippet using tempest_python

test_cleanup_services.py

Source:test_cleanup_services.py Github

copy

Full Screen

...221 self.assertIn(item['id'],222 serv.data[self.service_name])223 for fixture in fixtures:224 fixture.mock.assert_called_once()225 def _test_is_preserve_true(self, mocked_fixture_tuple_list):226 serv = self._create_cmd_service(self.service_class, is_preserve=True)227 resp, fixtures = self.run_function_with_mocks(228 serv.list,229 mocked_fixture_tuple_list230 )231 for fixture in fixtures:232 fixture.mock.assert_called_once()233 self.assertIn(resp[0], self.response[self.service_name])234 for rsp in resp:235 self.assertNotIn(rsp['id'], self.conf_values.values())236 self.assertNotIn(rsp['name'], self.conf_values.values())237class TestSnapshotService(BaseCmdServiceTests):238 service_class = 'SnapshotService'239 service_name = 'snapshots'240 response = {241 "snapshots": [242 {243 "status": "available",244 "metadata": {245 "name": "test"246 },247 "name": "test-volume-snapshot",248 "user_id": "40c2102f4a554b848d96b14f3eec39ed",249 "volume_id": "173f7b48-c4c1-4e70-9acc-086b39073506",250 "created_at": "2015-11-29T02:25:51.000000",251 "size": 1,252 "updated_at": "2015-11-20T05:36:40.000000",253 "os-extended-snapshot-attributes:progress": "100%",254 "id": "b1323cda-8e4b-41c1-afc5-2fc791809c8c",255 "description": "volume snapshot"256 },257 {258 "status": "available",259 "name": "saved-snapshot",260 "id": "1ad4c789-7e8w-4dwg-afc5",261 "description": "snapshot in saved state"262 }263 ]264 }265 def test_delete_fail(self):266 delete_mock = [(self.get_method, self.response, 200),267 (self.delete_method, 'error', None),268 (self.log_method, 'exception', None)]269 self._test_delete(delete_mock, fail=True)270 def test_delete_pass(self):271 delete_mock = [(self.get_method, self.response, 200),272 (self.delete_method, None, 202),273 (self.log_method, 'exception', None)]274 self._test_delete(delete_mock)275 def test_dry_run(self):276 dry_mock = [(self.get_method, self.response, 200),277 (self.delete_method, "delete", None)]278 self._test_dry_run_true(dry_mock)279 def test_save_state(self):280 self._test_saved_state_true([(self.get_method, self.response, 200)])281class TestServerService(BaseCmdServiceTests):282 service_class = 'ServerService'283 service_name = 'servers'284 response = {285 "servers": [286 {287 "id": "22c91117-08de-4894-9aa9-6ef382400985",288 "links": [289 {290 "href": "http://openstack.example.com/v2/6f70-6ef0985",291 "rel": "self"292 },293 {294 "href": "http://openstack.example.com/6f70656e7-6ef35",295 "rel": "bookmark"296 }297 ],298 "name": "new-server-test"299 },300 {301 "id": "7a6d4v7w-36ds-4216",302 "links": [303 {304 "href": "http://openstack.example.com/v2/6f70-6ef0985",305 "rel": "self"306 },307 {308 "href": "http://openstack.example.com/6f70656e7-6ef35",309 "rel": "bookmark"310 }311 ],312 "name": "saved-server"313 }314 ]315 }316 def test_delete_fail(self):317 delete_mock = [(self.get_method, self.response, 200),318 (self.delete_method, 'error', None),319 (self.log_method, 'exception', None)]320 self._test_delete(delete_mock, fail=True)321 def test_delete_pass(self):322 delete_mock = [(self.get_method, self.response, 200),323 (self.delete_method, None, 204),324 (self.log_method, 'exception', None)]325 self._test_delete(delete_mock)326 def test_dry_run(self):327 dry_mock = [(self.get_method, self.response, 200),328 (self.delete_method, "delete", None)]329 self._test_dry_run_true(dry_mock)330 def test_save_state(self):331 self._test_saved_state_true([(self.get_method, self.response, 200)])332class TestServerGroupService(BaseCmdServiceTests):333 service_class = 'ServerGroupService'334 service_name = 'server_groups'335 validate_response = ('tempest.lib.services.compute.server_groups_client'336 '.ServerGroupsClient.validate_response')337 response = {338 "server_groups": [339 {340 "id": "616fb98f-46ca-475e-917e-2563e5a8cd19",341 "name": "test",342 "policy": "anti-affinity",343 "rules": {"max_server_per_host": 3},344 "members": [],345 "project_id": "6f70656e737461636b20342065766572",346 "user_id": "fake"347 },348 {349 "id": "as6d5f7g-46ca-475e",350 "name": "saved-server-group"351 }352 ]353 }354 def test_delete_fail(self):355 delete_mock = [(self.get_method, self.response, 200),356 (self.validate_response, 'validate', None),357 (self.delete_method, 'error', None),358 (self.log_method, 'exception', None)]359 self._test_delete(delete_mock, fail=True)360 def test_delete_pass(self):361 delete_mock = [(self.get_method, self.response, 200),362 (self.validate_response, 'validate', None),363 (self.delete_method, None, 204),364 (self.log_method, 'exception', None)]365 self._test_delete(delete_mock)366 def test_dry_run(self):367 dry_mock = [(self.get_method, self.response, 200),368 (self.validate_response, 'validate', None),369 (self.delete_method, "delete", None)]370 self._test_dry_run_true(dry_mock)371 def test_save_state(self):372 self._test_saved_state_true([(self.get_method, self.response, 200),373 (self.validate_response, 'validate', None)374 ])375class TestKeyPairService(BaseCmdServiceTests):376 service_class = 'KeyPairService'377 service_name = 'keypairs'378 validate_response = ('tempest.lib.services.compute.keypairs_client'379 '.KeyPairsClient.validate_response')380 response = {381 "keypairs": [382 {383 "keypair": {384 "fingerprint": "7e:eb:ab:24:ba:d1:e1:88:ae:9a:fb:66:53:bd",385 "name": "keypair-5d935425-31d5-48a7-a0f1-e76e9813f2c3",386 "type": "ssh",387 "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkF\n"388 }389 },390 {391 "keypair": {392 "fingerprint": "7e:eb:ab:24",393 "name": "saved-key-pair"394 }395 }396 ]397 }398 def _test_saved_state_true(self, mocked_fixture_tuple_list):399 serv = self._create_cmd_service(self.service_class, is_save_state=True)400 _, fixtures = self.run_function_with_mocks(401 serv.run,402 mocked_fixture_tuple_list403 )404 for item in self.response[self.service_name]:405 self.assertTrue(item['keypair']['name'],406 serv.data[self.service_name])407 for fixture in fixtures:408 fixture.mock.assert_called_once()409 def test_delete_fail(self):410 delete_mock = [(self.get_method, self.response, 200),411 (self.validate_response, 'validate', None),412 (self.delete_method, 'error', None),413 (self.log_method, 'exception', None)]414 self._test_delete(delete_mock, fail=True)415 def test_delete_pass(self):416 delete_mock = [(self.get_method, self.response, 200),417 (self.validate_response, 'validate', None),418 (self.delete_method, None, 204),419 (self.log_method, 'exception', None)]420 self._test_delete(delete_mock)421 def test_dry_run(self):422 dry_mock = [(self.get_method, self.response, 200),423 (self.validate_response, 'validate', None),424 (self.delete_method, "delete", None)]425 self._test_dry_run_true(dry_mock)426 def test_save_state(self):427 self._test_saved_state_true([428 (self.get_method, self.response, 200),429 (self.validate_response, 'validate', None)430 ])431class TestVolumeService(BaseCmdServiceTests):432 service_class = 'VolumeService'433 service_name = 'volumes'434 response = {435 "volumes": [436 {437 "id": "efa54464-8fab-47cd-a05a-be3e6b396188",438 "links": [439 {440 "href": "http://127.0.0.1:37097/v3/89af/volumes/efa54",441 "rel": "self"442 },443 {444 "href": "http://127.0.0.1:37097/89af/volumes/efa54464",445 "rel": "bookmark"446 }447 ],448 "name": "volume-name"449 },450 {451 "id": "aa77asdf-1234",452 "name": "saved-volume"453 }454 ]455 }456 def test_delete_fail(self):457 delete_mock = [(self.get_method, self.response, 200),458 (self.delete_method, 'error', None),459 (self.log_method, 'exception', None)]460 self._test_delete(delete_mock, fail=True)461 def test_delete_pass(self):462 delete_mock = [(self.get_method, self.response, 200),463 (self.delete_method, None, 202),464 (self.log_method, 'exception', None)]465 self._test_delete(delete_mock)466 def test_dry_run(self):467 dry_mock = [(self.get_method, self.response, 200),468 (self.delete_method, "delete", None)]469 self._test_dry_run_true(dry_mock)470 def test_save_state(self):471 self._test_saved_state_true([(self.get_method, self.response, 200)])472# Begin network service classes473class TestNetworkService(BaseCmdServiceTests):474 service_class = 'NetworkService'475 service_name = 'networks'476 response = {477 "networks": [478 {479 "admin_state_up": True,480 "availability_zone_hints": [],481 "availability_zones": [482 "nova"483 ],484 "created_at": "2016-03-08T20:19:41",485 "dns_domain": "my-domain.org.",486 "id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",487 "l2_adjacency": False,488 "mtu": 1500,489 "name": "net1",490 "port_security_enabled": True,491 "project_id": "4fd44f30292945e481c7b8a0c8908869",492 "qos_policy_id": "6a8454ade84346f59e8d40665f878b2e",493 "revision_number": 1,494 "router:external": False,495 "shared": False,496 "status": "ACTIVE",497 "subnets": [498 "54d6f61d-db07-451c-9ab3-b9609b6b6f0b"499 ],500 "tenant_id": "4fd44f30292945e481c7b8a0c8908869",501 "updated_at": "2016-03-08T20:19:41",502 "vlan_transparent": True,503 "description": "",504 "is_default": False505 },506 {507 "id": "6722fc13-4319",508 "name": "saved-network"509 }510 ]511 }512 def test_delete_fail(self):513 delete_mock = [(self.get_method, self.response, 200),514 (self.delete_method, 'error', None),515 (self.log_method, 'exception', None)]516 self._test_delete(delete_mock, fail=True)517 def test_delete_pass(self):518 delete_mock = [(self.get_method, self.response, 200),519 (self.delete_method, None, 204),520 (self.log_method, 'exception', None)]521 self._test_delete(delete_mock)522 def test_dry_run(self):523 dry_mock = [(self.get_method, self.response, 200),524 (self.delete_method, "delete", None)]525 self._test_dry_run_true(dry_mock)526 def test_save_state(self):527 self._test_saved_state_true([(self.get_method, self.response, 200)])528 def test_preserve_list(self):529 self.response['networks'].append(530 {531 "admin_state_up": True,532 "availability_zone_hints": [],533 "availability_zones": [534 "nova"535 ],536 "created_at": "2017-03-08T20:19:41",537 "dns_domain": "my-domain.org.",538 "id": cleanup_service.CONF_PUB_NETWORK,539 "name": "net2",540 "port_security_enabled": True,541 "project_id": "4fd44f30292945e481c7b8a0c8908869",542 "qos_policy_id": "6a8454ade84346f59e8d40665f878b2e",543 "revision_number": 1,544 "status": "ACTIVE",545 "subnets": [546 "54d6f61d-db07-451c-9ab3-b9609b6b6f0b"547 ],548 "tenant_id": "4fd44f30292945e481c7b8a0c8908869",549 "updated_at": "2018-03-08T20:19:41",550 "vlan_transparent": True,551 "is_default": False552 })553 self._test_is_preserve_true([(self.get_method, self.response, 200)])554class TestNetworkFloatingIpService(BaseCmdServiceTests):555 service_class = 'NetworkFloatingIpService'556 service_name = 'floatingips'557 response = {558 "floatingips": [559 {560 "router_id": "d23abc8d-2991-4a55-ba98-2aaea84cc72f",561 "description": "for test",562 "dns_domain": "my-domain.org.",563 "dns_name": "myfip",564 "created_at": "2016-12-21T10:55:50Z",565 "updated_at": "2016-12-21T10:55:53Z",566 "revision_number": 1,567 "project_id": "4969c491a3c74ee4af974e6d800c62de",568 "tenant_id": "4969c491a3c74ee4af974e6d800c62de",569 "floating_network_id": "376da547-b977-4cfe-9cba-275c80debf57",570 "fixed_ip_address": "10.0.0.3",571 "floating_ip_address": "172.24.4.228",572 "port_id": "ce705c24-c1ef-408a-bda3-7bbd946164ab",573 "id": "2f245a7b-796b-4f26-9cf9-9e82d248fda7",574 "status": "ACTIVE",575 "port_details": {576 "status": "ACTIVE",577 "name": "",578 "admin_state_up": True,579 "network_id": "02dd8479-ef26-4398-a102-d19d0a7b3a1f",580 "device_owner": "compute:nova",581 "mac_address": "fa:16:3e:b1:3b:30",582 "device_id": "8e3941b4-a6e9-499f-a1ac-2a4662025cba"583 },584 "tags": ["tag1,tag2"],585 "port_forwardings": []586 },587 {588 "id": "9e82d248-408a",589 "status": "ACTIVE"590 }591 ]592 }593 def test_delete_fail(self):594 delete_mock = [(self.get_method, self.response, 200),595 (self.delete_method, 'error', None),596 (self.log_method, 'exception', None)]597 self._test_delete(delete_mock, fail=True)598 def test_delete_pass(self):599 delete_mock = [(self.get_method, self.response, 200),600 (self.delete_method, None, 204),601 (self.log_method, 'exception', None)]602 self._test_delete(delete_mock)603 def test_dry_run(self):604 dry_mock = [(self.get_method, self.response, 200),605 (self.delete_method, "delete", None)]606 self._test_dry_run_true(dry_mock)607 def test_save_state(self):608 self._test_saved_state_true([(self.get_method, self.response, 200)])609class TestNetworkRouterService(BaseCmdServiceTests):610 service_class = 'NetworkRouterService'611 service_name = 'routers'612 validate_response = ('tempest.lib.services.network.routers_client'613 '.RoutersClient.validate_response')614 response = {615 "routers": [616 {617 "admin_state_up": True,618 "availability_zone_hints": [],619 "availability_zones": [620 "nova"621 ],622 "created_at": "2018-03-19T19:17:04Z",623 "description": "",624 "distributed": False,625 "external_gateway_info": {626 "enable_snat": True,627 "external_fixed_ips": [628 {629 "ip_address": "172.24.4.3",630 "subnet_id": "b930d7f6-ceb7-40a0-8b81-a425dd994ccf"631 },632 {633 "ip_address": "2001:db8::c",634 "subnet_id": "0c56df5d-ace5-46c8-8f4c-45fa4e334d18"635 }636 ],637 "network_id": "ae34051f-aa6c-4c75-abf5-50dc9ac99ef3"638 },639 "flavor_id": "f7b14d9a-b0dc-4fbe-bb14-a0f4970a69e0",640 "ha": False,641 "id": "915a14a6-867b-4af7-83d1-70efceb146f9",642 "name": "router2",643 "revision_number": 1,644 "routes": [645 {646 "destination": "179.24.1.0/24",647 "nexthop": "172.24.3.99"648 }649 ],650 "status": "ACTIVE",651 "updated_at": "2018-03-19T19:17:22Z",652 "project_id": "0bd18306d801447bb457a46252d82d13",653 "tenant_id": "0bd18306d801447bb457a46252d82d13",654 "tags": ["tag1,tag2"]655 },656 {657 "id": "4s5w34hj-id44",658 "name": "saved-router"659 }660 ],661 # "ports" key is added to the response in order to simplify unit662 # testing - it's because NetworkRouterService's delete method lists663 # ports before deleting any router664 "ports": []665 }666 def _test_delete(self, mocked_fixture_tuple_list, fail=False):667 serv = self._create_cmd_service(self.service_class)668 resp, fixtures = self.run_function_with_mocks(669 serv.run,670 mocked_fixture_tuple_list,671 )672 for fixture in fixtures:673 if fail is False and fixture.mock.return_value == 'exception':674 fixture.mock.assert_not_called()675 elif self.service_name in self.saved_state.keys():676 fixture.mock.assert_called()677 for key in self.saved_state[self.service_name].keys():678 self.assertNotIn(key, fixture.mock.call_args[0][0])679 self.assertFalse(serv.data)680 def test_delete_fail(self):681 delete_mock = [(self.get_method, self.response, 200),682 (self.delete_method, 'error', None),683 (self.log_method, 'exception', None)]684 self._test_delete(delete_mock, fail=True)685 def test_delete_pass(self):686 delete_mock = [(self.get_method, self.response, 200),687 (self.delete_method, None, 204),688 (self.log_method, 'exception', None)]689 self._test_delete(delete_mock)690 def test_dry_run(self):691 dry_mock = [(self.get_method, self.response, 200),692 (self.delete_method, "delete", None)]693 self._test_dry_run_true(dry_mock)694 def test_save_state(self):695 self._test_saved_state_true([(self.get_method, self.response, 200)])696 def test_preserve_list(self):697 self.response['routers'].append(698 {699 "admin_state_up": True,700 "availability_zone_hints": [],701 "availability_zones": [702 "nova"703 ],704 "created_at": "2018-03-19T19:17:04Z",705 "id": cleanup_service.CONF_PUB_ROUTER,706 "name": "router-preserve",707 "status": "ACTIVE",708 "updated_at": "2018-03-19T19:17:22Z",709 "project_id": "0bd18306d801447bb457a46252d82d13",710 "tenant_id": "0bd18306d801447bb457a46252d82d13",711 "tags": ["tag1,tag2"]712 })713 self._test_is_preserve_true([(self.get_method, self.response, 200)])714class TestNetworkMeteringLabelRuleService(BaseCmdServiceTests):715 service_class = 'NetworkMeteringLabelRuleService'716 service_name = 'metering_label_rules'717 response = {718 "metering_label_rules": [719 {720 "remote_ip_prefix": "20.0.0.0/24",721 "direction": "ingress",722 "metering_label_id": "e131d186-b02d-4c0b-83d5-0c0725c4f812",723 "id": "9536641a-7d14-4dc5-afaf-93a973ce0eb8",724 "excluded": False725 },726 {727 "direction": "ingress",728 "id": "93a973ce-4dc5"729 }730 ]731 }732 def test_delete_fail(self):733 delete_mock = [(self.get_method, self.response, 200),734 (self.delete_method, 'error', None),735 (self.log_method, 'exception', None)]736 self._test_delete(delete_mock, fail=True)737 def test_delete_pass(self):738 delete_mock = [(self.get_method, self.response, 200),739 (self.delete_method, None, 204),740 (self.log_method, 'exception', None)]741 self._test_delete(delete_mock)742 def test_dry_run(self):743 dry_mock = [(self.get_method, self.response, 200),744 (self.delete_method, "delete", None)]745 self._test_dry_run_true(dry_mock)746 def test_save_state(self):747 self._test_saved_state_true([(self.get_method, self.response, 200)])748class TestNetworkMeteringLabelService(BaseCmdServiceTests):749 service_class = 'NetworkMeteringLabelService'750 service_name = 'metering_labels'751 response = {752 "metering_labels": [753 {754 "project_id": "45345b0ee1ea477fac0f541b2cb79cd4",755 "tenant_id": "45345b0ee1ea477fac0f541b2cb79cd4",756 "description": "label1 description",757 "name": "label1",758 "id": "a6700594-5b7a-4105-8bfe-723b346ce866",759 "shared": False760 },761 {762 "name": "saved-label",763 "id": "723b346ce866-4c7q",764 }765 ]766 }767 def test_delete_fail(self):768 delete_mock = [(self.get_method, self.response, 200),769 (self.delete_method, 'error', None),770 (self.log_method, 'exception', None)]771 self._test_delete(delete_mock, fail=True)772 def test_delete_pass(self):773 delete_mock = [(self.get_method, self.response, 200),774 (self.delete_method, None, 204),775 (self.log_method, 'exception', None)]776 self._test_delete(delete_mock)777 def test_dry_run(self):778 dry_mock = [(self.get_method, self.response, 200),779 (self.delete_method, "delete", None)]780 self._test_dry_run_true(dry_mock)781 def test_save_state(self):782 self._test_saved_state_true([(self.get_method, self.response, 200)])783class TestNetworkPortService(BaseCmdServiceTests):784 service_class = 'NetworkPortService'785 service_name = 'ports'786 response = {787 "ports": [788 {789 "admin_state_up": True,790 "allowed_address_pairs": [],791 "created_at": "2016-03-08T20:19:41",792 "description": "",793 "device_id": "9ae135f4-b6e0-4dad-9e91-3c223e385824",794 "device_owner": "",795 "dns_assignment": {796 "hostname": "myport",797 "ip_address": "172.24.4.2",798 "fqdn": "myport.my-domain.org"799 },800 "dns_domain": "my-domain.org.",801 "dns_name": "myport",802 "extra_dhcp_opts": [803 {804 "opt_value": "pxelinux.0",805 "ip_version": 4,806 "opt_name": "bootfile-name"807 }808 ],809 "fixed_ips": [810 {811 "ip_address": "172.24.4.2",812 "subnet_id": "008ba151-0b8c-4a67-98b5-0d2b87666062"813 }814 ],815 "id": "d80b1a3b-4fc1-49f3-952e-1e2ab7081d8b",816 "ip_allocation": "immediate",817 "mac_address": "fa:16:3e:58:42:ed",818 "name": "test_port",819 "network_id": "70c1db1f-b701-45bd-96e0-a313ee3430b3",820 "project_id": "",821 "revision_number": 1,822 "security_groups": [],823 "status": "ACTIVE",824 "tags": ["tag1,tag2"],825 "tenant_id": "",826 "updated_at": "2016-03-08T20:19:41",827 "qos_policy_id": "29d5e02e-d5ab-4929-bee4-4a9fc12e22ae",828 "port_security_enabled": False829 },830 {831 "id": "aa74aa4v-741a",832 "name": "saved-port",833 "device_owner": ""834 }835 ]836 }837 def test_delete_fail(self):838 delete_mock = [(self.get_method, self.response, 200),839 (self.delete_method, 'error', None),840 (self.log_method, 'exception', None)]841 self._test_delete(delete_mock, fail=True)842 def test_delete_pass(self):843 delete_mock = [(self.get_method, self.response, 200),844 (self.delete_method, None, 204),845 (self.log_method, 'exception', None)]846 self._test_delete(delete_mock)847 def test_dry_run(self):848 dry_mock = [(self.get_method, self.response, 200),849 (self.delete_method, "delete", None)]850 self._test_dry_run_true(dry_mock)851 def test_save_state(self):852 self._test_saved_state_true([(self.get_method, self.response, 200)])853 def test_preserve_list(self):854 self.response['ports'].append(855 {856 "created_at": "2018-03-08T20:19:41",857 "description": "",858 "device_id": "9ae135f4-b6e0-4dad-9e91-3c223e385824",859 "device_owner": "compute:router_gateway",860 "id": "d80b1a3b-4fc1-49f3-952e-1fdy1ws542",861 "ip_allocation": "immediate",862 "mac_address": "fa:16:3e:58:42:ed",863 "name": "preserve_port",864 "network_id": cleanup_service.CONF_PUB_NETWORK,865 "project_id": "",866 "security_groups": [],867 "status": "ACTIVE",868 "tags": ["tag1,tag2"],869 "tenant_id": "",870 "updated_at": "2018-03-08T20:19:41",871 })872 self._test_is_preserve_true([(self.get_method, self.response, 200)])873class TestNetworkSecGroupService(BaseCmdServiceTests):874 service_class = 'NetworkSecGroupService'875 service_name = 'security_groups'876 response = {877 "security_groups": [878 {879 "description": "default",880 "id": "85cc3048-abc3-43cc-89b3-377341426ac5",881 "name": "test",882 "security_group_rules": [883 {884 "direction": "egress",885 "ethertype": "IPv6",886 "id": "3c0e45ff-adaf-4124-b083-bf390e5482ff",887 "security_group_id": "85cc3048-abc3-43cc-89b3-3773414",888 "project_id": "e4f50856753b4dc6afee5fa6b9b6c550",889 "revision_number": 1,890 "tags": ["tag1,tag2"],891 "tenant_id": "e4f50856753b4dc6afee5fa6b9b6c550",892 "created_at": "2018-03-19T19:16:56Z",893 "updated_at": "2018-03-19T19:16:56Z",894 "description": ""895 }896 ]897 },898 {899 "id": "7q844add-3697",900 "name": "saved-sec-group"901 }902 ]903 }904 def test_delete_fail(self):905 delete_mock = [(self.get_method, self.response, 200),906 (self.delete_method, 'error', None),907 (self.log_method, 'exception', None)]908 self._test_delete(delete_mock, fail=True)909 def test_delete_pass(self):910 delete_mock = [(self.get_method, self.response, 200),911 (self.delete_method, None, 204),912 (self.log_method, 'exception', None)]913 self._test_delete(delete_mock)914 def test_dry_run(self):915 dry_mock = [(self.get_method, self.response, 200),916 (self.delete_method, "delete", None)]917 self._test_dry_run_true(dry_mock)918 def test_save_state(self):919 self._test_saved_state_true([(self.get_method, self.response, 200)])920 def test_preserve_list(self):921 self.response['security_groups'].append(922 {923 "description": "default",924 "id": "85cc3048-abc3-43cc-89b3-377341426ac5",925 "name": "test",926 "security_group_rules": [927 {928 "direction": "egress",929 "ethertype": "IPv6",930 "id": "3c0e45ff-adaf-4124-b083-bf390e5482ff",931 "security_group_id": "85cc3048-abc3-43cc-89b3-3773414",932 "project_id": cleanup_service.CONF_PROJECTS[0],933 "revision_number": 1,934 "tags": ["tag1,tag2"],935 "tenant_id": "e4f50856753b4dc6afee5fa6b9b6c550",936 "created_at": "2018-03-19T19:16:56Z",937 "updated_at": "2018-03-19T19:16:56Z",938 "description": ""939 }940 ]941 })942 self._test_is_preserve_true([(self.get_method, self.response, 200)])943class TestNetworkSubnetService(BaseCmdServiceTests):944 service_class = 'NetworkSubnetService'945 service_name = 'subnets'946 response = {947 "subnets": [948 {949 "name": "private-subnet",950 "enable_dhcp": True,951 "network_id": "db193ab3-96e3-4cb3-8fc5-05f4296d0324",952 "project_id": "26a7980765d0414dbc1fc1f88cdb7e6e",953 "tenant_id": "26a7980765d0414dbc1fc1f88cdb7e6e",954 "dns_nameservers": [],955 "allocation_pools": [956 {957 "start": "10.0.0.2",958 "end": "10.0.0.254"959 }960 ],961 "host_routes": [],962 "ip_version": 4,963 "gateway_ip": "10.0.0.1",964 "cidr": "10.0.0.0/24",965 "id": "08eae331-0402-425a-923c-34f7cfe39c1b",966 "created_at": "2016-10-10T14:35:34Z",967 "revision_number": 2,968 "service_types": [],969 "tags": ["tag1,tag2"],970 "updated_at": "2016-10-10T14:35:34Z"971 },972 {973 "id": "55ttda4a-2584",974 "name": "saved-subnet"975 }976 ]977 }978 def test_delete_fail(self):979 delete_mock = [(self.get_method, self.response, 200),980 (self.delete_method, 'error', None),981 (self.log_method, 'exception', None)]982 self._test_delete(delete_mock, fail=True)983 def test_delete_pass(self):984 delete_mock = [(self.get_method, self.response, 200),985 (self.delete_method, None, 204),986 (self.log_method, 'exception', None)]987 self._test_delete(delete_mock)988 def test_dry_run(self):989 dry_mock = [(self.get_method, self.response, 200),990 (self.delete_method, "delete", None)]991 self._test_dry_run_true(dry_mock)992 def test_save_state(self):993 self._test_saved_state_true([(self.get_method, self.response, 200)])994 def test_preserve_list(self):995 self.response['subnets'].append(996 {997 "name": "public-subnet",998 "network_id": cleanup_service.CONF_PUB_NETWORK,999 "project_id": "26a7980765d0414dbc1fc1f88cdb7e6e",1000 "tenant_id": "26a7980765d0414dbc1fc1f88cdb7e6e",1001 "ip_version": 4,1002 "gateway_ip": "10.0.0.1",1003 "cidr": "10.0.0.0/24",1004 "id": "08eae331-0402-425a-923c-34f7cfe39c1b",1005 "created_at": "2018-10-10T14:35:34Z",1006 "service_types": [],1007 "tags": ["tag1,tag2"],1008 "updated_at": "2018-10-10T14:35:34Z"1009 })1010 self._test_is_preserve_true([(self.get_method, self.response, 200)])1011class TestNetworkSubnetPoolsService(BaseCmdServiceTests):1012 service_class = 'NetworkSubnetPoolsService'1013 service_name = 'subnetpools'1014 response = {1015 "subnetpools": [1016 {1017 "min_prefixlen": "64",1018 "default_prefixlen": "64",1019 "id": "03f761e6-eee0-43fc-a921-8acf64c14988",1020 "max_prefixlen": "64",1021 "name": "my-subnet-pool-ipv6",1022 "is_default": False,1023 "project_id": "9fadcee8aa7c40cdb2114fff7d569c08",1024 "tenant_id": "9fadcee8aa7c40cdb2114fff7d569c08",1025 "prefixes": [1026 "2001:db8:0:2::/64",1027 "2001:db8::/63"1028 ],1029 "ip_version": 6,1030 "shared": False,1031 "description": "",1032 "created_at": "2016-03-08T20:19:41",1033 "updated_at": "2016-03-08T20:19:41",1034 "revision_number": 2,1035 "tags": ["tag1,tag2"]1036 },1037 {1038 "id": "8acf64c1-43fc",1039 "name": "saved-subnet-pool"1040 }1041 ]1042 }1043 def test_delete_fail(self):1044 delete_mock = [(self.get_method, self.response, 200),1045 (self.delete_method, 'error', None),1046 (self.log_method, 'exception', None)]1047 self._test_delete(delete_mock, fail=True)1048 def test_delete_pass(self):1049 delete_mock = [(self.get_method, self.response, 200),1050 (self.delete_method, None, 204),1051 (self.log_method, 'exception', None)]1052 self._test_delete(delete_mock)1053 def test_dry_run(self):1054 dry_mock = [(self.get_method, self.response, 200),1055 (self.delete_method, "delete", None)]1056 self._test_dry_run_true(dry_mock)1057 def test_save_state(self):1058 self._test_saved_state_true([(self.get_method, self.response, 200)])1059 def test_preserve_list(self):1060 self.response['subnetpools'].append(1061 {1062 "min_prefixlen": "64",1063 "default_prefixlen": "64",1064 "id": "9acf64c1-43fc",1065 "name": "preserve-pool",1066 "project_id": cleanup_service.CONF_PROJECTS[0],1067 "created_at": "2016-03-08T20:19:41",1068 "updated_at": "2016-03-08T20:19:41"1069 })1070 self._test_is_preserve_true([(self.get_method, self.response, 200)])1071# begin global services1072class TestDomainService(BaseCmdServiceTests):1073 service_class = 'DomainService'1074 service_name = 'domains'1075 response = {1076 "domains": [1077 {1078 "description": "Destroy all humans",1079 "enabled": True,1080 "id": "5a75994a3",1081 "links": {1082 "self": "http://example.com/identity/v3/domains/5a75994a3"1083 },1084 "name": "Sky_net"1085 },1086 {1087 "description": "Owns users and tenants on Identity API",1088 "enabled": False,1089 "id": "default",1090 "links": {1091 "self": "http://example.com/identity/v3/domains/default"1092 },1093 "name": "Default"1094 }1095 ]1096 }1097 mock_update = ("tempest.lib.services.identity.v3."1098 "domains_client.DomainsClient.update_domain")1099 def test_delete_fail(self):1100 delete_mock = [(self.get_method, self.response, 200),1101 (self.delete_method, 'error', None),1102 (self.log_method, 'exception', None),1103 (self.mock_update, 'update', None)]1104 self._test_delete(delete_mock, fail=True)1105 def test_delete_pass(self):1106 delete_mock = [(self.get_method, self.response, 200),1107 (self.delete_method, None, 204),1108 (self.log_method, 'exception', None),1109 (self.mock_update, 'update', None)]1110 self._test_delete(delete_mock)1111 def test_dry_run(self):1112 dry_mock = [(self.get_method, self.response, 200),1113 (self.delete_method, "delete", None)]1114 self._test_dry_run_true(dry_mock)1115 def test_save_state(self):1116 self._test_saved_state_true([(self.get_method, self.response, 200)])1117class TestProjectsService(BaseCmdServiceTests):1118 service_class = 'ProjectService'1119 service_name = 'projects'1120 response = {1121 "projects": [1122 {1123 "is_domain": False,1124 "description": None,1125 "domain_id": "default",1126 "enabled": True,1127 "id": "f38ohgp93jj032",1128 "links": {1129 "self": "http://example.com/identity/v3/projects"1130 "/f38ohgp93jj032"1131 },1132 "name": "manhattan",1133 "parent_id": None1134 },1135 {1136 "is_domain": False,1137 "description": None,1138 "domain_id": "default",1139 "enabled": True,1140 "id": "098f89d3292ri4jf4",1141 "links": {1142 "self": "http://example.com/identity/v3/projects"1143 "/098f89d3292ri4jf4"1144 },1145 "name": "Apollo",1146 "parent_id": None1147 }1148 ]1149 }1150 def test_delete_fail(self):1151 delete_mock = [(self.get_method, self.response, 200),1152 (self.delete_method, 'error', None),1153 (self.log_method, 'exception', None)]1154 self._test_delete(delete_mock, fail=True)1155 def test_delete_pass(self):1156 delete_mock = [(self.get_method, self.response, 200),1157 (self.delete_method, None, 204),1158 (self.log_method, 'exception', None)]1159 self._test_delete(delete_mock)1160 def test_dry_run(self):1161 dry_mock = [(self.get_method, self.response, 200),1162 (self.delete_method, "delete", None)]1163 self._test_dry_run_true(dry_mock)1164 def test_save_state(self):1165 self._test_saved_state_true([(self.get_method, self.response, 200)])1166 def test_preserve_list(self):1167 self.response['projects'].append(1168 {1169 "is_domain": False,1170 "description": None,1171 "domain_id": "default",1172 "enabled": True,1173 "id": "r343q98h09f3092",1174 "links": {1175 "self": "http://example.com/identity/v3/projects"1176 "/r343q98h09f3092"1177 },1178 "name": cleanup_service.CONF_PROJECTS[0],1179 "parent_id": None1180 })1181 self._test_is_preserve_true([(self.get_method, self.response, 200)])1182class TestImagesService(BaseCmdServiceTests):1183 service_class = 'ImageService'1184 service_name = 'images'1185 response = {1186 "images": [1187 {1188 "status": "ACTIVE",1189 "name": "stratus-0.3.2-x86_64-disk",1190 "id": "34yhwr-4t3q",1191 "updated": "2014-11-03T16:40:10Z",1192 "links": [{1193 "href": "http://openstack.ex.com/v2/openstack/images/"1194 "34yhwr-4t3q",1195 "rel": "self"}],1196 "created": "2014-10-30T08:23:39Z",1197 "minDisk": 0,1198 "minRam": 0,1199 "progress": 0,1200 "metadata": {},1201 },1202 {1203 "status": "ACTIVE",1204 "name": "cirros-0.3.2-x86_64-disk",1205 "id": "1bea47ed-f6a9",1206 "updated": "2014-11-03T16:40:10Z",1207 "links": [{1208 "href": "http://openstack.ex.com/v2/openstack/images/"1209 "1bea47ed-f6a9",1210 "rel": "self"}],1211 "created": "2014-10-30T08:23:39Z",1212 "minDisk": 0,1213 "minRam": 0,1214 "progress": 0,1215 "metadata": {},1216 }1217 ]1218 }1219 def test_delete_fail(self):1220 delete_mock = [(self.get_method, self.response, 200),1221 (self.delete_method, 'error', None),1222 (self.log_method, 'exception', None)]1223 self._test_delete(delete_mock, fail=True)1224 def test_delete_pass(self):1225 delete_mock = [(self.get_method, self.response, 200),1226 (self.delete_method, None, 204),1227 (self.log_method, 'exception', None)]1228 self._test_delete(delete_mock)1229 def test_dry_run(self):1230 dry_mock = [(self.get_method, self.response, 200),1231 (self.delete_method, "delete", None)]1232 self._test_dry_run_true(dry_mock)1233 def test_save_state(self):1234 self._test_saved_state_true([(self.get_method, self.response, 200)])1235 def test_preserve_list(self):1236 self.response['images'].append(1237 {1238 "status": "ACTIVE",1239 "name": "cirros-0.3.2-x86_64-disk",1240 "id": cleanup_service.CONF_IMAGES[0],1241 "updated": "2014-11-03T16:40:10Z",1242 "links": [{1243 "href": "http://openstack.ex.com/v2/openstack/images/"1244 "None",1245 "rel": "self"}],1246 "created": "2014-10-30T08:23:39Z",1247 "minDisk": 0,1248 "minRam": 0,1249 "progress": 0,1250 "metadata": {},1251 })1252 self._test_is_preserve_true([(self.get_method, self.response, 200)])1253class TestFlavorService(BaseCmdServiceTests):1254 service_class = 'FlavorService'1255 service_name = 'flavors'1256 response = {1257 "flavors": [1258 {1259 "disk": 1,1260 "id": "42",1261 "links": [{1262 "href": "http://openstack.ex.com/v2/openstack/flavors/1",1263 "rel": "self"}, {1264 "href": "http://openstack.ex.com/openstack/flavors/1",1265 "rel": "bookmark"}],1266 "name": "m1.tiny",1267 "ram": 512,1268 "swap": 1,1269 "vcpus": 11270 },1271 {1272 "disk": 2,1273 "id": "13",1274 "links": [{1275 "href": "http://openstack.ex.com/v2/openstack/flavors/2",1276 "rel": "self"}, {1277 "href": "http://openstack.ex.com/openstack/flavors/2",1278 "rel": "bookmark"}],1279 "name": "m1.tiny",1280 "ram": 512,1281 "swap": 1,1282 "vcpus": 11283 }1284 ]1285 }1286 def test_delete_fail(self):1287 delete_mock = [(self.get_method, self.response, 200),1288 (self.delete_method, 'error', None),1289 (self.log_method, 'exception', None)]1290 self._test_delete(delete_mock, fail=True)1291 def test_delete_pass(self):1292 delete_mock = [(self.get_method, self.response, 200),1293 (self.delete_method, None, 202),1294 (self.log_method, 'exception', None)]1295 self._test_delete(delete_mock)1296 def test_dry_run(self):1297 dry_mock = [(self.get_method, self.response, 200),1298 (self.delete_method, "delete", None)]1299 self._test_dry_run_true(dry_mock)1300 def test_save_state(self):1301 self._test_saved_state_true([(self.get_method, self.response, 200)])1302 def test_preserve_list(self):1303 self.response['flavors'].append(1304 {1305 "disk": 3,1306 "id": cleanup_service.CONF_FLAVORS[0],1307 "links": [{1308 "href": "http://openstack.ex.com/v2/openstack/flavors/3",1309 "rel": "self"}, {1310 "href": "http://openstack.ex.com/openstack/flavors/3",1311 "rel": "bookmark"}],1312 "name": "m1.tiny",1313 "ram": 512,1314 "swap": 1,1315 "vcpus": 11316 })1317 self._test_is_preserve_true([(self.get_method, self.response, 200)])1318class TestRoleService(BaseCmdServiceTests):1319 service_class = 'RoleService'1320 service_name = 'roles'1321 response = {1322 "roles": [1323 {1324 "domain_id": "FakeDomain",1325 "id": "3efrt74r45hn",1326 "name": "president",1327 "links": {1328 "self": "http://ex.com/identity/v3/roles/3efrt74r45hn"1329 }1330 },1331 {1332 "domain_id": 'FakeDomain',1333 "id": "39ruo5sdk040",1334 "name": "vice-p",1335 "links": {1336 "self": "http://ex.com/identity/v3/roles/39ruo5sdk040"1337 }1338 }1339 ]1340 }1341 def test_delete_fail(self):1342 delete_mock = [(self.get_method, self.response, 200),1343 (self.delete_method, 'error', None),1344 (self.log_method, 'exception', None)]1345 self._test_delete(delete_mock, fail=True)1346 def test_delete_pass(self):1347 delete_mock = [(self.get_method, self.response, 200),1348 (self.delete_method, None, 204),1349 (self.log_method, 'exception', None)]1350 self._test_delete(delete_mock)1351 def test_dry_run(self):1352 dry_mock = [(self.get_method, self.response, 200),1353 (self.delete_method, "delete", None)]1354 self._test_dry_run_true(dry_mock)1355 def test_save_state(self):1356 self._test_saved_state_true([(self.get_method, self.response, 200)])1357class TestUserService(BaseCmdServiceTests):1358 service_class = 'UserService'1359 service_name = 'users'1360 response = {1361 "users": [1362 {1363 "domain_id": "TempestDomain",1364 "enabled": True,1365 "id": "e812fb332456423fdv1b1320121qwe2",1366 "links": {1367 "self": "http://example.com/identity/v3/users/"1368 "e812fb332456423fdv1b1320121qwe2",1369 },1370 "name": "Thunder",1371 "password_expires_at": "3102-11-06T15:32:17.000000",1372 },1373 {1374 "domain_id": "TempestDomain",1375 "enabled": True,1376 "id": "32rwef64245tgr20121qw324bgg",1377 "links": {1378 "self": "http://example.com/identity/v3/users/"1379 "32rwef64245tgr20121qw324bgg",1380 },1381 "name": "Lightning",1382 "password_expires_at": "1893-11-06T15:32:17.000000",1383 }1384 ]1385 }1386 def test_delete_fail(self):1387 delete_mock = [(self.get_method, self.response, 200),1388 (self.delete_method, 'error', None),1389 (self.log_method, 'exception', None)]1390 self._test_delete(delete_mock, fail=True)1391 def test_delete_pass(self):1392 delete_mock = [(self.get_method, self.response, 200),1393 (self.delete_method, None, 204),1394 (self.log_method, 'exception', None)]1395 self._test_delete(delete_mock)1396 def test_dry_run(self):1397 dry_mock = [(self.get_method, self.response, 200),1398 (self.delete_method, "delete", None)]1399 self._test_dry_run_true(dry_mock)1400 def test_save_state(self):1401 self._test_saved_state_true([(self.get_method, self.response, 200)])1402 def test_preserve_list(self):1403 self.response['users'].append(1404 {1405 "domain_id": "TempestDomain",1406 "enabled": True,1407 "id": "23ads5tg3rtrhe30121qwhyth",1408 "links": {1409 "self": "http://example.com/identity/v3/users/"1410 "23ads5tg3rtrhe30121qwhyth",1411 },1412 "name": cleanup_service.CONF_USERS[0],1413 "password_expires_at": "1893-11-06T15:32:17.000000",1414 })...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run tempest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful