1 # Copyright (c) 2017 Cable Television Laboratories, Inc. ("CableLabs")
2 # and others. All rights reserved.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at:
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
19 from snaps.domain.test.flavor_tests import FlavorDomainObjectTests
20 from snaps.domain.test.image_tests import ImageDomainObjectTests
21 from snaps.domain.test.keypair_tests import KeypairDomainObjectTests
22 from snaps.domain.test.network_tests import (
23 SecurityGroupDomainObjectTests, SecurityGroupRuleDomainObjectTests,
24 PortDomainObjectTests, RouterDomainObjectTests,
25 InterfaceRouterDomainObjectTests, NetworkObjectTests, SubnetObjectTests)
26 from snaps.domain.test.project_tests import (
27 ProjectDomainObjectTests, DomainDomainObjectTests,
28 ComputeQuotasDomainObjectTests, NetworkQuotasDomainObjectTests)
29 from snaps.domain.test.role_tests import RoleDomainObjectTests
30 from snaps.domain.test.stack_tests import (
31 StackDomainObjectTests, ResourceDomainObjectTests)
32 from snaps.domain.test.user_tests import UserDomainObjectTests
33 from snaps.domain.test.vm_inst_tests import (
34 VmInstDomainObjectTests, FloatingIpDomainObjectTests)
35 from snaps.openstack.tests.conf.os_credentials_tests import (
36 ProxySettingsUnitTests, OSCredsUnitTests)
37 from snaps.openstack.tests.create_flavor_tests import (
38 CreateFlavorTests, FlavorSettingsUnitTests)
39 from snaps.openstack.tests.create_image_tests import (
40 CreateImageSuccessTests, CreateImageNegativeTests, ImageSettingsUnitTests,
41 CreateMultiPartImageTests)
42 from snaps.openstack.tests.create_instance_tests import (
43 CreateInstanceSingleNetworkTests, CreateInstancePubPrivNetTests,
44 CreateInstanceOnComputeHost, CreateInstanceSimpleTests,
45 FloatingIpSettingsUnitTests, InstanceSecurityGroupTests,
46 VmInstanceSettingsUnitTests, CreateInstancePortManipulationTests,
47 SimpleHealthCheck, CreateInstanceFromThreePartImage,
48 CreateInstanceMockOfflineTests, CreateInstanceTwoNetTests)
49 from snaps.openstack.tests.create_keypairs_tests import (
50 CreateKeypairsTests, KeypairSettingsUnitTests, CreateKeypairsCleanupTests)
51 from snaps.openstack.tests.create_network_tests import (
52 CreateNetworkSuccessTests, NetworkSettingsUnitTests, PortSettingsUnitTests,
53 SubnetSettingsUnitTests, CreateNetworkTypeTests)
54 from snaps.openstack.tests.create_project_tests import (
55 CreateProjectSuccessTests, ProjectSettingsUnitTests,
56 CreateProjectUserTests)
57 from snaps.openstack.tests.create_router_tests import (
58 CreateRouterSuccessTests, CreateRouterNegativeTests,
59 RouterSettingsUnitTests)
60 from snaps.openstack.tests.create_security_group_tests import (
61 CreateSecurityGroupTests, SecurityGroupRuleSettingsUnitTests,
62 SecurityGroupSettingsUnitTests)
63 from snaps.openstack.tests.create_stack_tests import (
64 StackSettingsUnitTests, CreateStackSuccessTests, CreateStackNegativeTests,
65 CreateComplexStackTests)
66 from snaps.openstack.tests.create_user_tests import (
67 UserSettingsUnitTests, CreateUserSuccessTests)
68 from snaps.openstack.tests.os_source_file_test import (
69 OSComponentTestCase, OSIntegrationTestCase)
70 from snaps.openstack.utils.tests.glance_utils_tests import (
71 GlanceSmokeTests, GlanceUtilsTests)
72 from snaps.openstack.utils.tests.heat_utils_tests import (
73 HeatSmokeTests, HeatUtilsCreateSimpleStackTests,
74 HeatUtilsCreateComplexStackTests)
75 from snaps.openstack.utils.tests.keystone_utils_tests import (
76 KeystoneSmokeTests, KeystoneUtilsTests)
77 from snaps.openstack.utils.tests.neutron_utils_tests import (
78 NeutronSmokeTests, NeutronUtilsNetworkTests, NeutronUtilsSubnetTests,
79 NeutronUtilsRouterTests, NeutronUtilsSecurityGroupTests,
80 NeutronUtilsFloatingIpTests)
81 from snaps.openstack.utils.tests.nova_utils_tests import (
82 NovaSmokeTests, NovaUtilsKeypairTests, NovaUtilsFlavorTests,
83 NovaUtilsInstanceTests)
84 from snaps.provisioning.tests.ansible_utils_tests import (
85 AnsibleProvisioningTests)
86 from snaps.tests.file_utils_tests import FileUtilsTests
88 __author__ = 'spisarski'
91 def add_unit_tests(suite):
93 Adds tests that do not require external resources
94 :param suite: the unittest.TestSuite object to which to add the tests
95 :return: None as the tests will be adding to the 'suite' parameter object
97 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(FileUtilsTests))
98 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
99 SecurityGroupRuleSettingsUnitTests))
100 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
101 ProxySettingsUnitTests))
102 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
104 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
105 SecurityGroupSettingsUnitTests))
106 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
107 SecurityGroupDomainObjectTests))
108 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
109 SecurityGroupRuleDomainObjectTests))
110 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
111 ImageSettingsUnitTests))
112 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
113 ImageDomainObjectTests))
114 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
115 FlavorSettingsUnitTests))
116 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
117 FlavorDomainObjectTests))
118 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
119 KeypairSettingsUnitTests))
120 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
121 KeypairDomainObjectTests))
122 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
123 UserSettingsUnitTests))
124 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
125 UserDomainObjectTests))
126 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
127 ProjectSettingsUnitTests))
128 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
129 ProjectDomainObjectTests))
130 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
131 DomainDomainObjectTests))
132 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
133 ComputeQuotasDomainObjectTests))
134 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
135 NetworkQuotasDomainObjectTests))
136 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
137 RoleDomainObjectTests))
138 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
139 NetworkSettingsUnitTests))
140 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
142 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
143 SubnetSettingsUnitTests))
144 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
146 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
147 PortSettingsUnitTests))
148 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
149 PortDomainObjectTests))
150 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
151 RouterSettingsUnitTests))
152 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
153 RouterDomainObjectTests))
154 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
155 InterfaceRouterDomainObjectTests))
156 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
157 FloatingIpSettingsUnitTests))
158 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
159 VmInstanceSettingsUnitTests))
160 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
161 StackDomainObjectTests))
162 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
163 ResourceDomainObjectTests))
164 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
165 StackSettingsUnitTests))
166 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
167 VmInstDomainObjectTests))
168 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(
169 FloatingIpDomainObjectTests))
172 def add_openstack_client_tests(suite, os_creds, ext_net_name,
173 use_keystone=True, log_level=logging.INFO):
175 Adds tests written to exercise OpenStack client retrieval
176 :param suite: the unittest.TestSuite object to which to add the tests
177 :param os_creds: and instance of OSCreds that holds the credentials
178 required by OpenStack
179 :param ext_net_name: the name of an external network on the cloud under
181 :param use_keystone: when True, tests requiring direct access to Keystone
182 are added as these need to be running on a host that
183 has access to the cloud's private network
184 :param log_level: the logging level
185 :return: None as the tests will be adding to the 'suite' parameter object
187 # Basic connection tests
189 OSComponentTestCase.parameterize(
190 GlanceSmokeTests, os_creds=os_creds, ext_net_name=ext_net_name,
191 log_level=log_level))
195 OSComponentTestCase.parameterize(
196 KeystoneSmokeTests, os_creds=os_creds,
197 ext_net_name=ext_net_name, log_level=log_level))
200 OSComponentTestCase.parameterize(
201 NeutronSmokeTests, os_creds=os_creds, ext_net_name=ext_net_name,
202 log_level=log_level))
204 OSComponentTestCase.parameterize(
205 NovaSmokeTests, os_creds=os_creds, ext_net_name=ext_net_name,
206 log_level=log_level))
208 OSComponentTestCase.parameterize(
209 HeatSmokeTests, os_creds=os_creds, ext_net_name=ext_net_name,
210 log_level=log_level))
213 def add_openstack_api_tests(suite, os_creds, ext_net_name, use_keystone=True,
214 image_metadata=None, log_level=logging.INFO):
216 Adds tests written to exercise all existing OpenStack APIs
217 :param suite: the unittest.TestSuite object to which to add the tests
218 :param os_creds: Instance of OSCreds that holds the credentials
219 required by OpenStack
220 :param ext_net_name: the name of an external network on the cloud under
222 :param use_keystone: when True, tests requiring direct access to Keystone
223 are added as these need to be running on a host that
224 has access to the cloud's private network
225 :param image_metadata: dict() object containing metadata for creating an
226 image with custom config
227 (see YAML files in examples/image-metadata)
228 :param log_level: the logging level
229 :return: None as the tests will be adding to the 'suite' parameter object
231 # Tests the OpenStack API calls
233 suite.addTest(OSComponentTestCase.parameterize(
234 KeystoneUtilsTests, os_creds=os_creds, ext_net_name=ext_net_name,
235 log_level=log_level))
236 suite.addTest(OSComponentTestCase.parameterize(
237 CreateUserSuccessTests, os_creds=os_creds,
238 ext_net_name=ext_net_name, log_level=log_level))
239 suite.addTest(OSComponentTestCase.parameterize(
240 CreateProjectSuccessTests, os_creds=os_creds,
241 ext_net_name=ext_net_name, log_level=log_level))
242 suite.addTest(OSComponentTestCase.parameterize(
243 CreateProjectUserTests, os_creds=os_creds,
244 ext_net_name=ext_net_name, log_level=log_level))
246 suite.addTest(OSComponentTestCase.parameterize(
247 GlanceUtilsTests, os_creds=os_creds, ext_net_name=ext_net_name,
248 image_metadata=image_metadata,
249 log_level=log_level))
250 suite.addTest(OSComponentTestCase.parameterize(
251 NeutronUtilsNetworkTests, os_creds=os_creds, ext_net_name=ext_net_name,
252 log_level=log_level))
253 suite.addTest(OSComponentTestCase.parameterize(
254 NeutronUtilsSubnetTests, os_creds=os_creds, ext_net_name=ext_net_name,
255 log_level=log_level))
256 suite.addTest(OSComponentTestCase.parameterize(
257 NeutronUtilsRouterTests, os_creds=os_creds, ext_net_name=ext_net_name,
258 log_level=log_level))
259 suite.addTest(OSComponentTestCase.parameterize(
260 NeutronUtilsSecurityGroupTests, os_creds=os_creds,
261 ext_net_name=ext_net_name, log_level=log_level))
262 suite.addTest(OSComponentTestCase.parameterize(
263 NeutronUtilsFloatingIpTests, os_creds=os_creds,
264 ext_net_name=ext_net_name, log_level=log_level))
265 suite.addTest(OSComponentTestCase.parameterize(
266 NovaUtilsKeypairTests, os_creds=os_creds, ext_net_name=ext_net_name,
267 log_level=log_level))
268 suite.addTest(OSComponentTestCase.parameterize(
269 NovaUtilsFlavorTests, os_creds=os_creds, ext_net_name=ext_net_name,
270 log_level=log_level))
271 suite.addTest(OSComponentTestCase.parameterize(
272 NovaUtilsInstanceTests, os_creds=os_creds, ext_net_name=ext_net_name,
273 log_level=log_level, image_metadata=image_metadata))
274 suite.addTest(OSComponentTestCase.parameterize(
275 CreateFlavorTests, os_creds=os_creds, ext_net_name=ext_net_name,
276 log_level=log_level))
277 suite.addTest(OSComponentTestCase.parameterize(
278 HeatUtilsCreateSimpleStackTests, os_creds=os_creds,
279 ext_net_name=ext_net_name, log_level=log_level,
280 image_metadata=image_metadata))
281 suite.addTest(OSComponentTestCase.parameterize(
282 HeatUtilsCreateComplexStackTests, os_creds=os_creds,
283 ext_net_name=ext_net_name, log_level=log_level,
284 image_metadata=image_metadata))
287 def add_openstack_integration_tests(suite, os_creds, ext_net_name,
288 use_keystone=True, flavor_metadata=None,
289 image_metadata=None, use_floating_ips=True,
290 log_level=logging.INFO):
292 Adds tests written to exercise all long-running OpenStack integration tests
293 meaning they will be creating VM instances and potentially performing some
294 SSH functions through floatingIPs
295 :param suite: the unittest.TestSuite object to which to add the tests
296 :param os_creds: and instance of OSCreds that holds the credentials
297 required by OpenStack
298 :param ext_net_name: the name of an external network on the cloud under
300 :param use_keystone: when True, tests requiring direct access to Keystone
301 are added as these need to be running on a host that
302 has access to the cloud's private network
303 :param image_metadata: dict() object containing metadata for creating an
304 image with custom config
305 (see YAML files in examples/image-metadata)
306 :param flavor_metadata: dict() object containing the metadata required by
307 your flavor based on your configuration:
308 (i.e. {'hw:mem_page_size': 'large'})
309 :param use_floating_ips: when true, all tests requiring Floating IPs will
310 be added to the suite
311 :param log_level: the logging level
312 :return: None as the tests will be adding to the 'suite' parameter object
314 # Tests the OpenStack API calls via a creator. If use_keystone, objects
315 # will be created with a custom user and project
317 # Creator Object tests
318 suite.addTest(OSIntegrationTestCase.parameterize(
319 CreateSecurityGroupTests, os_creds=os_creds, ext_net_name=ext_net_name,
320 use_keystone=use_keystone,
321 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
322 log_level=log_level))
323 suite.addTest(OSIntegrationTestCase.parameterize(
324 CreateImageSuccessTests, os_creds=os_creds, ext_net_name=ext_net_name,
325 use_keystone=use_keystone,
326 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
327 log_level=log_level))
328 suite.addTest(OSIntegrationTestCase.parameterize(
329 CreateImageNegativeTests, os_creds=os_creds, ext_net_name=ext_net_name,
330 use_keystone=use_keystone,
331 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
332 log_level=log_level))
333 suite.addTest(OSIntegrationTestCase.parameterize(
334 CreateMultiPartImageTests, os_creds=os_creds,
335 ext_net_name=ext_net_name, use_keystone=use_keystone,
336 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
337 log_level=log_level))
338 suite.addTest(OSIntegrationTestCase.parameterize(
339 CreateKeypairsTests, os_creds=os_creds, ext_net_name=ext_net_name,
340 use_keystone=use_keystone,
341 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
342 log_level=log_level))
343 suite.addTest(OSIntegrationTestCase.parameterize(
344 CreateKeypairsCleanupTests, os_creds=os_creds,
345 ext_net_name=ext_net_name,
346 use_keystone=use_keystone,
347 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
348 log_level=log_level))
349 suite.addTest(OSIntegrationTestCase.parameterize(
350 CreateNetworkSuccessTests, os_creds=os_creds,
351 ext_net_name=ext_net_name, use_keystone=use_keystone,
352 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
353 log_level=log_level))
354 suite.addTest(OSIntegrationTestCase.parameterize(
355 CreateRouterSuccessTests, os_creds=os_creds, ext_net_name=ext_net_name,
356 use_keystone=use_keystone,
357 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
358 log_level=log_level))
359 suite.addTest(OSIntegrationTestCase.parameterize(
360 CreateRouterNegativeTests, os_creds=os_creds,
361 ext_net_name=ext_net_name, use_keystone=use_keystone,
362 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
363 log_level=log_level))
366 suite.addTest(OSIntegrationTestCase.parameterize(
367 SimpleHealthCheck, os_creds=os_creds, ext_net_name=ext_net_name,
368 use_keystone=use_keystone,
369 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
370 log_level=log_level))
371 suite.addTest(OSIntegrationTestCase.parameterize(
372 CreateInstanceTwoNetTests, os_creds=os_creds,
373 ext_net_name=ext_net_name, use_keystone=use_keystone,
374 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
375 log_level=log_level))
376 suite.addTest(OSIntegrationTestCase.parameterize(
377 CreateInstanceSimpleTests, os_creds=os_creds,
378 ext_net_name=ext_net_name, use_keystone=use_keystone,
379 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
380 log_level=log_level))
381 suite.addTest(OSIntegrationTestCase.parameterize(
382 CreateInstancePortManipulationTests, os_creds=os_creds,
383 ext_net_name=ext_net_name, use_keystone=use_keystone,
384 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
385 log_level=log_level))
386 suite.addTest(OSIntegrationTestCase.parameterize(
387 InstanceSecurityGroupTests, os_creds=os_creds,
388 ext_net_name=ext_net_name, use_keystone=use_keystone,
389 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
390 log_level=log_level))
391 suite.addTest(OSIntegrationTestCase.parameterize(
392 CreateInstanceOnComputeHost, os_creds=os_creds,
393 ext_net_name=ext_net_name, use_keystone=use_keystone,
394 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
395 log_level=log_level))
396 suite.addTest(OSIntegrationTestCase.parameterize(
397 CreateInstanceFromThreePartImage, os_creds=os_creds,
398 ext_net_name=ext_net_name, use_keystone=use_keystone,
399 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
400 log_level=log_level))
401 suite.addTest(OSIntegrationTestCase.parameterize(
402 CreateStackSuccessTests, os_creds=os_creds, ext_net_name=ext_net_name,
403 use_keystone=use_keystone,
404 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
405 log_level=log_level))
406 suite.addTest(OSIntegrationTestCase.parameterize(
407 CreateStackNegativeTests, os_creds=os_creds, ext_net_name=ext_net_name,
408 use_keystone=use_keystone,
409 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
410 log_level=log_level))
413 suite.addTest(OSIntegrationTestCase.parameterize(
414 CreateInstanceSingleNetworkTests, os_creds=os_creds,
415 ext_net_name=ext_net_name, use_keystone=use_keystone,
416 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
417 log_level=log_level))
418 # TODO - uncomment after all OPNFV projects have cut a stable/euphrates
419 # branch as this test was not meant to be exercised until F
420 # suite.addTest(OSIntegrationTestCase.parameterize(
421 # CreateComplexStackTests, os_creds=os_creds,
422 # ext_net_name=ext_net_name, use_keystone=use_keystone,
423 # flavor_metadata=flavor_metadata, image_metadata=image_metadata,
424 # log_level=log_level))
425 suite.addTest(OSIntegrationTestCase.parameterize(
426 AnsibleProvisioningTests, os_creds=os_creds,
427 ext_net_name=ext_net_name, use_keystone=use_keystone,
428 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
429 log_level=log_level))
432 def add_openstack_ci_tests(
433 suite, os_creds, ext_net_name, use_keystone=True, flavor_metadata=None,
434 image_metadata=None, use_floating_ips=True, log_level=logging.INFO):
436 Adds tests written for a CI server to run the tests to validate code
438 :param suite: the unittest.TestSuite object to which to add the tests
439 :param os_creds: and instance of OSCreds that holds the credentials
440 required by OpenStack
441 :param ext_net_name: the name of an external network on the cloud under
443 :param use_keystone: when True, tests requiring direct access to Keystone
444 are added as these need to be running on a host that
445 has access to the cloud's private network
446 :param image_metadata: dict() object containing metadata for creating an
447 image with custom config
448 (see YAML files in examples/image-metadata)
449 :param flavor_metadata: dict() object containing the metadata required by
450 your flavor based on your configuration:
451 (i.e. {'hw:mem_page_size': 'large'})
452 :param use_floating_ips: when true, all tests requiring Floating IPs will
453 be added to the suite
454 :param log_level: the logging level
455 :return: None as the tests will be adding to the 'suite' parameter object
458 add_unit_tests(suite)
460 add_openstack_client_tests(suite, os_creds, ext_net_name, use_keystone,
463 add_openstack_api_tests(suite, os_creds, ext_net_name, use_keystone,
464 image_metadata, log_level)
466 suite.addTest(OSIntegrationTestCase.parameterize(
467 SimpleHealthCheck, os_creds=os_creds, ext_net_name=ext_net_name,
468 use_keystone=use_keystone,
469 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
470 log_level=log_level))
473 suite.addTest(OSIntegrationTestCase.parameterize(
474 CreateInstanceSingleNetworkTests, os_creds=os_creds,
475 ext_net_name=ext_net_name, use_keystone=use_keystone,
476 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
477 log_level=log_level))
479 suite.addTest(OSIntegrationTestCase.parameterize(
480 CreateStackSuccessTests, os_creds=os_creds, ext_net_name=ext_net_name,
481 use_keystone=use_keystone,
482 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
483 log_level=log_level))
484 suite.addTest(OSIntegrationTestCase.parameterize(
485 CreateStackNegativeTests, os_creds=os_creds, ext_net_name=ext_net_name,
486 use_keystone=use_keystone,
487 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
488 log_level=log_level))
491 def add_openstack_staging_tests(suite, os_creds, ext_net_name,
492 log_level=logging.INFO):
494 Adds tests that are still in development have not been designed to run
495 successfully against all OpenStack pods
496 :param suite: the unittest.TestSuite object to which to add the tests
497 :param os_creds: Instance of OSCreds that holds the credentials
498 required by OpenStack
499 :param ext_net_name: the name of an external network on the cloud under
501 :param log_level: the logging level
502 :return: None as the tests will be adding to the 'suite' parameter object
504 suite.addTest(OSComponentTestCase.parameterize(
505 CreateNetworkTypeTests, os_creds=os_creds, ext_net_name=ext_net_name,
506 log_level=log_level))
507 suite.addTest(OSComponentTestCase.parameterize(
508 CreateInstanceMockOfflineTests, os_creds=os_creds,
509 ext_net_name=ext_net_name, log_level=log_level))
510 suite.addTest(OSIntegrationTestCase.parameterize(
511 CreateInstancePubPrivNetTests, os_creds=os_creds,
512 ext_net_name=ext_net_name, use_keystone=use_keystone,
513 flavor_metadata=flavor_metadata, image_metadata=image_metadata,
514 log_level=log_level))