...
The test data class carries information in a dictionary object. (key, value) pairs in this class are needed to be externally supplied to satisfy an API call. For eg: In order to create a VM one needs to give a displayname and the vm name. These are externally supplied data. It is not mandatory to use the testdata class to supply to your test. In all cases you can simply send the right arguments to the Resource.operation(
method of your resource without using testdata dictionaries. The advantage of testdata is keeping all data to be configurable in a single place.
Although test data is at the top of our test class, it is only identified as and when we start writing our testMention all test data related to a test suite under tools/marvin/marvin/config/test_data.py. In our case we have identified that we need an account
(firstname,lastname etc), a virtual_machine
(with name and displayname) and a service_offering
(with cpu: 128 and some memory) as test data. Please refer to current test suites under smoke for specific examples
Test
prefix. Ideally only one test class is contained in every module...