def test_update_positive(self, options):
        """@Test: Compute Resource positive update

        @Feature: Compute Resource update

        @Assert: Compute Resource successfully updated

        """
        comp_res = make_compute_resource()

        # update Compute Resource
        result = ComputeResource.update(
            dict({'name': comp_res['name']}, **options))
        self.assertEqual(result.return_code, 0)
        self.assertEqual(len(result.stderr), 0)

        comp_res['name'] = options.get('new-name', comp_res['name'])
        comp_res.update(options)
        # check updated values
        result = ComputeResource.info({'id': comp_res['id']})
        self.assertEqual(result.return_code, 0)
        self.assertEqual(result.stdout['description'],
                         comp_res['description'])
        self.assertEqual(result.stdout['name'], comp_res['name'])
        self.assertEqual(result.stdout['provider'].lower(),
                         comp_res['provider'].lower())
        self.assertEqual(result.stdout['url'], comp_res['url'])
    def test_positive_update_name(self):
        """Compute Resource positive update

        :id: 213d7f04-4c54-4985-8ca0-d2a1a9e3b305

        :expectedresults: Compute Resource successfully updated


        :CaseImportance: Critical
        """
        for options in valid_update_data():
            with self.subTest(options):
                comp_res = make_compute_resource()
                options.update({'name': comp_res['name']})
                # update Compute Resource
                ComputeResource.update(options)
                # check updated values
                result = ComputeResource.info({'id': comp_res['id']})
                self.assertEqual(
                    result['description'],
                    options.get('description', comp_res['description'])
                )
                self.assertEqual(
                    result['name'],
                    options.get('new-name', comp_res['name'])
                )
                self.assertEqual(
                    result['url'],
                    options.get('url', comp_res['url'])
                )
                self.assertEqual(
                    result['provider'].lower(),
                    comp_res['provider'].lower()
                )
    def test_positive_update_name(self):
        """Update Openstack compute resource name

        :id: 16eb2def-34d5-49c5-be22-88139fef7f97

        :steps:

            1. Create a osp compute resource
            2. Update the name of the created compute resource

        :expectedresults: Compute Resource name is successfully updated

        :CaseImportance: Critical
        """
        new_name = gen_string('alpha')
        comp_res = make_compute_resource({
            u'provider': 'Openstack',
            u'user': self.username,
            u'password': self.password,
            u'tenant': self.tenant,
            u'url': self.current_osp_url
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.update({
            'name': comp_res['name'],
            'new-name': new_name
        })
        self.assertEqual(
            new_name,
            ComputeResource.info({'id': comp_res['id']})['name']
        )
Beispiel #4
0
    def test_list(self):
        """@Test: Test Compute Resource List

        @Feature: Compute Resource - List

        @Assert: Compute resource List is displayed

        """
        result_create = make_compute_resource({
            'provider': FOREMAN_PROVIDERS['libvirt'],
            'url': "qemu+tcp://%s:16509/system" %
            conf.properties['main.server.hostname']})
        self.assertTrue(result_create['name'],
                        "ComputeResource create - has name")
        result_list = ComputeResource.list({'search': "name=%s" %
                                            result_create['name']})
        self.assertEquals(result_list.return_code, 0,
                          "ComputeResource list - exit code")
        self.assertTrue(len(result_list.stdout) > 0,
                        "ComputeResource list - stdout has results")
        stdout = ComputeResource.exists(
            search=('name', result_create['name'])).stdout
        self.assertTrue(
            stdout,
            "ComputeResource list - exists name")
Beispiel #5
0
    def test_set_console_password_v2(self, set_console_password):
        """@Test: Update a compute resource with ``--set-console-password``.

        @Feature: Compute Resource

        @Assert: No error is returned.

        Targets BZ 1100344.

        """
        name = gen_string('utf8')
        result = ComputeResource.create({
            'name': name,
            'provider': 'Libvirt',
            'url': gen_url(),
        })
        self.assertEqual(result.return_code, 0)
        self.assertEqual(len(result.stderr), 0)

        result = ComputeResource.update({
            'name': name,
            'set-console-password': set_console_password,
        })
        self.assertEqual(result.return_code, 0)
        self.assertEqual(len(result.stderr), 0)
    def test_positive_update_name(self):
        """RHEV compute resource positive update

        :id: 5ca29b81-d1f0-409f-843d-aa5daf957d7f

        :steps:

            1. Create a RHEV compute resource
            2. Update the name of the created compute resource

        :expectedresults: Compute Resource is successfully updated

        :CaseImportance: Critical
        """
        new_name = gen_string('alpha')
        comp_res = make_compute_resource({
            u'provider': 'Ovirt',
            u'user': self.username,
            u'password': self.passord,
            u'datacenter': self.datacenter,
            u'url': self.current_rhev_url
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.update({
            'name': comp_res['name'],
            'new-name': new_name
        })
        self.assertEqual(
            new_name,
            ComputeResource.info({'id': comp_res['id']})['name']
        )
Beispiel #7
0
    def test_update_docker_compute_resource(self):
        """@Test: Create a Docker-based Compute Resource in the Satellite 6
        instance then edit its attributes.

        @Assert: Compute Resource can be created, listed and its attributes can
        be updated.

        @Feature: Docker

        """
        for url in (EXTERNAL_DOCKER_URL, INTERNAL_DOCKER_URL):
            with self.subTest(url):
                compute_resource = make_compute_resource({
                    'provider': DOCKER_PROVIDER,
                    'url': url,
                })
                self.assertEqual(compute_resource['url'], url)
                new_url = gen_url(subdomain=gen_alpha())
                ComputeResource.update({
                    'id': compute_resource['id'],
                    'url': new_url,
                })
                compute_resource = ComputeResource.info({
                    'id': compute_resource['id'],
                })
                self.assertEqual(compute_resource['url'], new_url)
Beispiel #8
0
    def test_positive_update_name(self):
        """Compute Resource positive update

        @Feature: Compute Resource update

        @Assert: Compute Resource successfully updated

        """
        for options in valid_update_data():
            with self.subTest(options):
                comp_res = make_compute_resource()
                options.update({'name': comp_res['name']})
                # update Compute Resource
                ComputeResource.update(options)
                # check updated values
                result = ComputeResource.info({'id': comp_res['id']})
                self.assertEqual(
                    result['description'],
                    options.get('description', comp_res['description'])
                )
                self.assertEqual(
                    result['name'],
                    options.get('new-name', comp_res['name'])
                )
                self.assertEqual(
                    result['url'],
                    options.get('url', comp_res['url'])
                )
                self.assertEqual(
                    result['provider'].lower(),
                    comp_res['provider'].lower()
                )
    def test_positive_create_with_name(self):
        """Create Compute Resource

        @id: 6460bcc7-d7f7-406a-aecb-b3d54d51e697

        @Assert: Compute resource is created

        """
        ComputeResource.create({
            'name': 'cr {0}'.format(gen_string(str_type='alpha')),
            'provider': 'Libvirt',
            'url': self.current_libvirt_url,
        })
    def test_create(self):
        """@Test: Create Compute Resource

        @Feature: Compute Resource - Positive Create

        @Assert: Compute resource is created

        """
        ComputeResource.create({
            'name': gen_string(str_type='alpha'),
            'provider': 'Libvirt',
            'url': LIBVIRT_URL,
        })
Beispiel #11
0
    def test_positive_create_with_name(self):
        """Create Compute Resource

        @Feature: Compute Resource - Positive Create

        @Assert: Compute resource is created

        """
        ComputeResource.create({
            'name': gen_string(str_type='alpha'),
            'provider': 'Libvirt',
            'url': self.current_libvirt_url,
        })
Beispiel #12
0
    def test_negative_create_with_same_name(self):
        """Compute Resource negative create with the same name

        @Feature: Compute Resource create

        @Assert: Compute resource not created

        """
        comp_res = make_compute_resource()
        with self.assertRaises(CLIReturnCodeError):
            ComputeResource.create({
                u'name': comp_res['name'],
                u'provider': FOREMAN_PROVIDERS['libvirt'],
                u'url': gen_url(),
            })
    def test_positive_create_with_name(self):
        """Create Compute Resource

        :id: 6460bcc7-d7f7-406a-aecb-b3d54d51e697

        :expectedresults: Compute resource is created


        :CaseImportance: Critical
        """
        ComputeResource.create({
            'name': 'cr {0}'.format(gen_string(str_type='alpha')),
            'provider': 'Libvirt',
            'url': self.current_libvirt_url,
        })
Beispiel #14
0
    def test_create_comp_res_with_console_password(self, console_password):
        """@Test: Create Compute Resource with different values of
        set-console-password parameter

        @Feature: Compute Resource - Set Console Password

        @Assert: Compute Resource is created and set-console-password
        parameter is set

        @BZ: 1214312

        """
        try:
            comp_resource = make_compute_resource({
                u'url': gen_url(),
                u'provider': FOREMAN_PROVIDERS['libvirt'],
                u'set-console-password': console_password,
            })
        except CLIFactoryError as err:
            self.fail(err)
        result = ComputeResource.info({'id': comp_resource['id']})
        if console_password in (u'True', u'Yes', 1):
            self.assertEqual(result.stdout['set-console-password'], u'true')
        else:
            self.assertEqual(result.stdout['set-console-password'], u'false')
Beispiel #15
0
    def test_positive_create_with_libvirt(self):
        """Test Compute Resource create

        @Feature: Compute Resource positive create

        @Assert: Compute Resource created

        """
        for options in valid_name_desc_data():
            with self.subTest(options):
                ComputeResource.create({
                    u'description': options['description'],
                    u'name': options['name'],
                    u'provider': FOREMAN_PROVIDERS['libvirt'],
                    u'url': gen_url(),
                })
Beispiel #16
0
    def test_positive_delete_by_name(self):
        """Test Compute Resource delete

        @Feature: Compute Resource - Delete

        @Assert: Compute resource deleted

        """
        comp_res = make_compute_resource({
            'provider': FOREMAN_PROVIDERS['libvirt'],
            'url': self.current_libvirt_url,
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.delete({'name': comp_res['name']})
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertFalse(result)
    def test_positive_create_with_libvirt(self):
        """Test Compute Resource create

        @id: adc6f4f8-6420-4044-89d1-c69e0bfeeab9

        @Assert: Compute Resource created

        """
        for options in valid_name_desc_data():
            with self.subTest(options):
                ComputeResource.create({
                    u'description': options['description'],
                    u'name': options['name'],
                    u'provider': FOREMAN_PROVIDERS['libvirt'],
                    u'url': gen_url(),
                })
    def test_delete(self):
        """@Test: Test Compute Resource delete

        @Feature: Compute Resource - Delete

        @Assert: Compute resource deleted

        """
        comp_res = make_compute_resource({
            'provider': FOREMAN_PROVIDERS['libvirt'],
            'url': LIBVIRT_URL,
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.delete({'name': comp_res['name']})
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertFalse(result)
    def test_positive_create_with_console_password(self):
        """Create Compute Resource with different values of
        set-console-password parameter

        :id: 4531b3e3-906b-4835-a6ab-3332dc9bd636

        :expectedresults: Compute Resource is created and set-console-password
            parameter is set

        :BZ: 1214312


        :CaseImportance: Critical
        """
        for console_password in (u'True', u'Yes', 1, u'False', u'No', 0):
            with self.subTest(console_password):
                comp_resource = make_compute_resource({
                    u'provider': FOREMAN_PROVIDERS['libvirt'],
                    u'set-console-password': console_password,
                    u'url': gen_url(),
                })
                result = ComputeResource.info({'id': comp_resource['id']})
                if console_password in (u'True', u'Yes', 1):
                    self.assertEqual(result['set-console-password'], u'true')
                else:
                    self.assertEqual(result['set-console-password'], u'false')
    def test_negative_create_with_name_url(self):
        """Compute Resource negative create with invalid values

        @id: cd432ff3-b3b9-49cd-9a16-ed00d81679dd

        @Assert: Compute resource not created
        """
        for options in invalid_create_data():
            with self.subTest(options):
                with self.assertRaises(CLIReturnCodeError):
                    ComputeResource.create({
                        u'name': options.get(
                            'name', gen_string(str_type='alphanumeric')),
                        u'provider': FOREMAN_PROVIDERS['libvirt'],
                        u'url': options.get('url', gen_url()),
                    })
    def test_negative_create_osp_with_url(self):
        """Attempt to create Openstack compute resource with invalid URL

        :id: a6be8233-2641-4c87-8563-f48d6efbb6ac

        :expectedresults: Compute resource is not created

        :CaseImportance: Critical
        """
        with self.assertRaises(CLIReturnCodeError):
            ComputeResource.create({
                u'provider': 'Openstack',
                u'user': self.username,
                u'password': self.password,
                u'tenant': self.tenant,
                u'url': 'invalid url'
            })
    def test_positive_create_rhev_with_valid_name(self):
        """Create Compute Resource of type Rhev with valid name

        :id: 92a577db-144e-4761-a52e-e83887464986

        :expectedresults: Compute resource is created

        :CaseImportance: Critical
        """
        ComputeResource.create({
            u'name': 'cr {0}'.format(gen_string(str_type='alpha')),
            u'provider': 'Ovirt',
            u'user': self.username,
            u'password': self.passord,
            u'datacenter': self.datacenter,
            u'url': self.current_rhev_url
        })
    def test_negative_create_with_same_name(self):
        """Compute Resource negative create with the same name

        :id: ddb5c45b-1ea3-46d0-b248-56c0388d2e4b

        :expectedresults: Compute resource not created


        :CaseImportance: Critical
        """
        comp_res = make_compute_resource()
        with self.assertRaises(CLIReturnCodeError):
            ComputeResource.create({
                u'name': comp_res['name'],
                u'provider': FOREMAN_PROVIDERS['libvirt'],
                u'url': gen_url(),
            })
    def test_negative_create_rhev_with_url(self):
        """RHEV compute resource negative create with invalid values

        :id: 1f318a4b-8dca-491b-b56d-cff773ed624e

        :expectedresults: Compute resource is not created

        :CaseImportance: Critical
        """
        with self.assertRaises(CLIReturnCodeError):
            ComputeResource.create({
                u'provider': 'Ovirt',
                u'user': self.username,
                u'password': self.passord,
                u'datacenter': self.datacenter,
                u'url': 'invalid url'
            })
    def test_positive_create_with_libvirt(self):
        """Test Compute Resource create

        :id: adc6f4f8-6420-4044-89d1-c69e0bfeeab9

        :expectedresults: Compute Resource created


        :CaseImportance: Critical
        """
        for options in valid_name_desc_data():
            with self.subTest(options):
                ComputeResource.create({
                    u'description': options['description'],
                    u'name': options['name'],
                    u'provider': FOREMAN_PROVIDERS['libvirt'],
                    u'url': gen_url(),
                })
    def test_positive_delete_by_name(self):
        """Test Compute Resource delete

        :id: 7fcc0b66-f1c1-4194-8a4b-7f04b1dd439a

        :expectedresults: Compute resource deleted


        :CaseImportance: Critical
        """
        comp_res = make_compute_resource({
            'provider': FOREMAN_PROVIDERS['libvirt'],
            'url': self.current_libvirt_url,
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.delete({'name': comp_res['name']})
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertFalse(result)
Beispiel #27
0
    def test_positive_list(self):
        """Test Compute Resource List

        @Feature: Compute Resource - List

        @Assert: Compute resource List is displayed

        """
        comp_res = make_compute_resource({
            'provider': FOREMAN_PROVIDERS['libvirt'],
            'url': self.current_libvirt_url,
        })
        self.assertTrue(comp_res['name'])
        result_list = ComputeResource.list({
            'search': 'name=%s' % comp_res['name']})
        self.assertTrue(len(result_list) > 0)
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertTrue(result)
Beispiel #28
0
    def test_negative_create_with_name_description_url(self):
        """Compute Resource negative create with invalid values

        @Feature: Compute Resource create

        @Assert: Compute resource not created

        """
        for options in invalid_create_data():
            with self.subTest(options):
                with self.assertRaises(CLIReturnCodeError):
                    ComputeResource.create({
                        u'description': options.get('description', ''),
                        u'name': options.get(
                            'name', gen_string(str_type='alphanumeric')),
                        u'provider': FOREMAN_PROVIDERS['libvirt'],
                        u'url': options.get('url', gen_url()),
                    })
Beispiel #29
0
    def test_positive_create_with_console_password_and_name(self):
        """Create a compute resource with ``--set-console-password``.

        @Feature: Compute Resource

        @Assert: No error is returned.

        Targets BZ 1100344.

        """
        for set_console_password in ('true', 'false'):
            with self.subTest(set_console_password):
                ComputeResource.create({
                    'name': gen_string('utf8'),
                    'provider': 'Libvirt',
                    'set-console-password': set_console_password,
                    'url': gen_url(),
                })
Beispiel #30
0
    def test_delete_docker_compute_resource(self):
        """@Test: Create a Docker-based Compute Resource then delete it.

        @Assert: Compute Resource can be created, listed and deleted.

        @Feature: Docker

        """
        for url in (EXTERNAL_DOCKER_URL, INTERNAL_DOCKER_URL):
            with self.subTest(url):
                compute_resource = make_compute_resource({
                    'provider': DOCKER_PROVIDER,
                    'url': url,
                })
                self.assertEqual(compute_resource['url'], url)
                self.assertEqual(compute_resource['provider'], DOCKER_PROVIDER)
                ComputeResource.delete({'id': compute_resource['id']})
                with self.assertRaises(CLIReturnCodeError):
                    ComputeResource.info({'id': compute_resource['id']})
Beispiel #31
0
def test_negative_add_image_rhev_with_invalid_name(rhev):
    """Attempt to add invalid image name to the RHEV compute resource

    :id: 873a7d79-1e89-4e4f-81ca-b6db1e0246da

    :setup: Images/templates should be present in RHEV-M itself,
        so that satellite can use them.

    :steps:

        1. Create a compute resource of type rhev.
        2. Create a image for the compute resource with invalid value for
           name parameter, compute-resource image create.

    :expectedresults: The image should not be added to the CR

    """
    if rhev.image_uuid is None:
        pytest.skip('Missing configuration for rhev.image_uuid')

    comp_res = make_compute_resource({
        'provider': 'Ovirt',
        'user': rhev.username,
        'password': rhev.password,
        'datacenter': rhev.datacenter,
        'url': rhev.current_rhev_url,
    })

    assert comp_res['name']
    with pytest.raises(CLIReturnCodeError):
        ComputeResource.image_create({
            'compute-resource': comp_res['name'],
            # too long string (>255 chars)
            'name': f'img {gen_string(str_type="alphanumeric", length=256)}',
            'uuid': rhev.image_uuid,
            'operatingsystem': rhev.os['title'],
            'architecture': rhev.image_arch,
            'username': "******",
        })
Beispiel #32
0
def test_positive_delete_by_name(rhev):
    """Delete the RHEV compute resource by name

    :id: ac84acbe-3e02-4f49-9695-b668df28b353

    :expectedresults: Compute resource is deleted

    :CaseImportance: Critical

    :BZ: 1602835
    """
    comp_res = make_compute_resource({
        'provider': 'Ovirt',
        'user': rhev.username,
        'password': rhev.password,
        'datacenter': rhev.datacenter,
        'url': rhev.current_rhev_url,
    })
    assert comp_res['name']
    ComputeResource.delete({'name': comp_res['name']})
    result = ComputeResource.exists(search=('name', comp_res['name']))
    assert not result
Beispiel #33
0
    def test_positive_update_console_password(self):
        """Update a compute resource with ``--set-console-password``.

        @id: ef09351e-dcd3-4b4f-8d3b-995e9e5873b3

        @Assert: No error is returned.

        Targets BZ 1100344.

        """
        cr_name = gen_string('utf8')
        ComputeResource.create({
            'name': cr_name,
            'provider': 'Libvirt',
            'url': gen_url(),
        })
        for set_console_password in ('true', 'false'):
            with self.subTest(set_console_password):
                ComputeResource.update({
                    'name': cr_name,
                    'set-console-password': set_console_password,
                })
Beispiel #34
0
 def test_update(self, option_dict):
     """
     @Feature: Compute Resource - Update
     @Test: Test Compute Resource Update
     @Assert: Compute resource List is updated
     """
     options = {}
     options['name'] = self.compute_res_updates
     for option in option_dict:
         options[option] = option_dict[option]
     result_update = ComputeResource.update(options)
     self.assertEquals(result_update.return_code, 0,
                       "ComputeResource update - exit code")
Beispiel #35
0
    def test_positive_check_available_networks(self, azurermclient,
                                               module_azurerm_cr):
        """Check networks from AzureRm CR are available to select during host provision.

        :id: 9e08463c-c700-47fc-8a58-e03aa8bcd097

        :expectedresults: All the networks from AzureRM CR should be available.

        :CaseLevel: Integration
        """

        result = ComputeResource.networks({'id': module_azurerm_cr.id})
        assert len(result) > 0
    def test_positive_list(self):
        """Test Compute Resource List

        :id: 11123361-ffbc-4c59-a0df-a4af3408af7a

        :expectedresults: Compute resource List is displayed


        :CaseImportance: Critical
        """
        comp_res = make_compute_resource({
            'provider':
            FOREMAN_PROVIDERS['libvirt'],
            'url':
            self.current_libvirt_url,
        })
        self.assertTrue(comp_res['name'])
        result_list = ComputeResource.list(
            {'search': 'name=%s' % comp_res['name']})
        self.assertTrue(len(result_list) > 0)
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertTrue(result)
Beispiel #37
0
def test_positive_delete_by_id(rhev):
    """Delete the RHEV compute resource by id

    :id: 4bcd4fa3-df8b-4773-b142-e47458116552

    :expectedresults: Compute resource is deleted

    :CaseImportance: Critical

    :BZ: 1602835
    """
    comp_res = make_compute_resource({
        'provider': 'Ovirt',
        'user': rhev.username,
        'password': rhev.password,
        'datacenter': rhev.datacenter,
        'url': rhev.current_rhev_url,
    })
    assert comp_res['name']
    ComputeResource.delete({'id': comp_res['id']})
    result = ComputeResource.exists(search=('name', comp_res['name']))
    assert not result
Beispiel #38
0
    def test_positive_delete_by_name(self):
        """Delete the RHEV compute resource by name

        :id: ac84acbe-3e02-4f49-9695-b668df28b353

        :expectedresults: Compute resource is deleted

        :CaseImportance: Critical

        :BZ: 1602835
        """
        comp_res = make_compute_resource({
            u'provider': 'Ovirt',
            u'user': self.username,
            u'password': self.passord,
            u'datacenter': self.datacenter,
            u'url': self.current_rhev_url
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.delete({'name': comp_res['name']})
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertFalse(result)
    def test_negative_update(self):
        """Compute Resource negative update

        :id: e7aa9b39-dd01-4f65-8e89-ff5a6f4ee0e3

        :expectedresults: Compute Resource not updated


        :CaseImportance: Critical
        """
        for options in invalid_update_data():
            with self.subTest(options):
                comp_res = make_compute_resource()
                with self.assertRaises(CLIReturnCodeError):
                    ComputeResource.update(
                        dict({'name': comp_res['name']}, **options))
                result = ComputeResource.info({'id': comp_res['id']})
                # check attributes have not changed
                self.assertEqual(result['name'], comp_res['name'])
                options.pop('new-name', None)
                for key in options.keys():
                    self.assertEqual(comp_res[key], result[key])
    def test_positive_create_with_libvirt(self):
        """Test Compute Resource create

        :id: adc6f4f8-6420-4044-89d1-c69e0bfeeab9

        :expectedresults: Compute Resource created


        :CaseImportance: Critical
        """
        for options in valid_name_desc_data():
            with self.subTest(options):
                ComputeResource.create({
                    u'description':
                    options['description'],
                    u'name':
                    options['name'],
                    u'provider':
                    FOREMAN_PROVIDERS['libvirt'],
                    u'url':
                    gen_url(),
                })
Beispiel #41
0
    def test_positive_delete_by_id(self):
        """Delete the RHEV compute resource by id

        :id: 4bcd4fa3-df8b-4773-b142-e47458116552

        :expectedresults: Compute resource is deleted

        :CaseImportance: Critical

        :BZ: 1602835
        """
        comp_res = make_compute_resource({
            u'provider': 'Ovirt',
            u'user': self.username,
            u'password': self.passord,
            u'datacenter': self.datacenter,
            u'url': self.current_rhev_url
        })
        self.assertTrue(comp_res['name'])
        ComputeResource.delete({'id': comp_res['id']})
        result = ComputeResource.exists(search=('name', comp_res['name']))
        self.assertFalse(result)
Beispiel #42
0
def test_positive_update_name(libvirt_url, options):
    """Compute Resource positive update

    :id: 213d7f04-4c54-4985-8ca0-d2a1a9e3b305

    :expectedresults: Compute Resource successfully updated

    :CaseImportance: Critical

    :CaseLevel: Component

    :parametrized: yes
    """
    comp_res = make_compute_resource()
    options.update({'name': comp_res['name']})
    # update Compute Resource
    ComputeResource.update(options)
    # check updated values
    result = ComputeResource.info({'id': comp_res['id']})
    assert result['description'] == options.get('description', comp_res['description'])
    assert result['name'] == options.get('new-name', comp_res['name'])
    assert result['url'] == options.get('url', comp_res['url'])
    assert result['provider'].lower() == comp_res['provider'].lower()
    def test_negative_create_with_name_url(self):
        """Compute Resource negative create with invalid values

        :id: cd432ff3-b3b9-49cd-9a16-ed00d81679dd

        :expectedresults: Compute resource not created

        :CaseImportance: High

        :CaseLevel: Component
        """
        for options in invalid_create_data():
            with self.subTest(options):
                with self.assertRaises(CLIReturnCodeError):
                    ComputeResource.create({
                        'name':
                        options.get('name',
                                    gen_string(str_type='alphanumeric')),
                        'provider':
                        FOREMAN_PROVIDERS['libvirt'],
                        'url':
                        options.get('url', gen_url()),
                    })
Beispiel #44
0
    def test_positive_create_rhev_with_valid_name(self):
        """Create Compute Resource of type Rhev with valid name

        :id: 92a577db-144e-4761-a52e-e83887464986

        :expectedresults: Compute resource is created

        :CaseImportance: Critical
        """
        ComputeResource.create({
            u'name':
            'cr {0}'.format(gen_string(str_type='alpha')),
            u'provider':
            'Ovirt',
            u'user':
            self.username,
            u'password':
            self.passord,
            u'datacenter':
            self.datacenter,
            u'url':
            self.current_rhev_url
        })
    def test_delete(self):
        """@Test: Test Compute Resource delete

        @Feature: Compute Resource - Delete

        @Assert: Compute resource deleted

        """
        result_create = make_compute_resource({
            'provider':
            FOREMAN_PROVIDERS['libvirt'],
            'url':
            "qemu+tcp://%s:16509/system" %
            conf.properties['main.server.hostname']
        })
        self.assertTrue(result_create['name'],
                        "ComputeResource create - has name")
        result_delete = ComputeResource.delete({'name': result_create['name']})
        self.assertEquals(result_delete.return_code, 0,
                          "ComputeResource delete - exit code")
        stdout = ComputeResource.exists(search=('name',
                                                result_create['name'])).stdout
        self.assertFalse(stdout, "ComputeResource list - does not exist name")
Beispiel #46
0
    def test_positive_create_with_console_password_and_name(self):
        """Create a compute resource with ``--set-console-password``.

        :id: 5b4c838a-0265-4c71-a73d-305fecbe508a

        :expectedresults: No error is returned.

        Targets BZ 1100344.

        :CaseImportance: High

        :CaseLevel: Component
        """
        for set_console_password in ('true', 'false'):
            with self.subTest(set_console_password):
                ComputeResource.create(
                    {
                        'name': gen_string('utf8'),
                        'provider': 'Libvirt',
                        'set-console-password': set_console_password,
                        'url': gen_url(),
                    }
                )
    def test_update_negative(self, options):
        """@Test: Compute Resource negative update

        @Feature: Compute Resource update

        @Assert: Compute Resource not updated

        """
        comp_res = make_compute_resource()

        result = ComputeResource.update(
            dict({'name': comp_res['name']}, **options))

        self.assertNotEqual(result.return_code, 0)
        self.assertGreater(len(result.stderr), 0)

        result = ComputeResource.info({'id': comp_res['id']})
        self.assertEqual(result.return_code, 0)
        # check attributes have not changed
        self.assertEqual(result.stdout['name'], comp_res['name'])
        options.pop('new-name', None)
        for key in options.keys():
            self.assertEqual(comp_res[key], result.stdout[key])
Beispiel #48
0
def test_positive_create_with_console_password_and_name(libvirt_url, set_console_password):
    """Create a compute resource with ``--set-console-password``.

    :id: 5b4c838a-0265-4c71-a73d-305fecbe508a

    :expectedresults: No error is returned.

    :BZ: 1100344

    :CaseImportance: High

    :CaseLevel: Component

    :parametrized: yes
    """
    ComputeResource.create(
        {
            'name': gen_string('utf8'),
            'provider': 'Libvirt',
            'set-console-password': set_console_password,
            'url': gen_url(),
        }
    )
Beispiel #49
0
def test_positive_add_image_rhev_with_name(rhev, module_os):
    """Add images to the RHEV compute resource

    :id: 2da84165-a56f-4282-9343-94828fa69c13

    :setup: Images/templates should be present in RHEV-M itself,
        so that satellite can use them.

    :steps:

        1. Create a compute resource of type rhev.
        2. Create a image for the compute resource with valid parameter,
           compute-resource image create

    :expectedresults: The image is added to the CR successfully
    """
    if rhev.image_uuid is None:
        pytest.skip('Missing configuration for rhev.image_uuid')

    comp_res = make_compute_resource({
        'provider': 'Ovirt',
        'user': rhev.username,
        'password': rhev.password,
        'datacenter': rhev.datacenter,
        'url': rhev.hostname,
    })
    assert comp_res['name']
    ComputeResource.image_create({
        'compute-resource': comp_res['name'],
        'name': f'img {gen_string(str_type="alpha")}',
        'uuid': rhev.image_uuid,
        'operatingsystem': module_os.title,
        'architecture': rhev.image_arch,
        'username': "******",
    })
    result = ComputeResource.image_list({'compute-resource': comp_res['name']})
    assert result[0]['uuid'] == rhev.image_uuid
    def test_positive_delete_by_name(self):
        """Delete the Openstack compute resource by name

        :id: 8c581100-4606-4d21-a286-930fb3a7ecd8

        :expectedresults: Compute resource is deleted

        :CaseImportance: Critical

        :BZ: 1579714
        """
        comp_res = make_compute_resource(
            {
                'provider': 'Openstack',
                'user': OSP_SETTINGS['username'],
                'password': OSP_SETTINGS['password'],
                'tenant': OSP_SETTINGS['tenant'],
                'url': OSP_SETTINGS['hostname'],
                'project-domain-id': OSP_SETTINGS['project_domain_id'],
            }
        )
        assert ComputeResource.exists(search=('name', comp_res['name']))
        ComputeResource.delete({'name': comp_res['name']})
        assert not ComputeResource.exists(search=('name', comp_res['name']))
    def test_positive_delete_by_id(self):
        """Delete the Openstack compute resource by id

        :id: f464429f-a4ac-4504-b009-5f56f9d29317

        :expectedresults: Compute resource is deleted

        :CaseImportance: Critical

        :BZ: 1579714
        """
        comp_res = make_compute_resource(
            {
                'provider': 'Openstack',
                'user': OSP_SETTINGS['username'],
                'password': OSP_SETTINGS['password'],
                'tenant': OSP_SETTINGS['tenant'],
                'url': OSP_SETTINGS['hostname'],
                'project-domain-id': OSP_SETTINGS['project_domain_id'],
            }
        )
        assert ComputeResource.exists(search=('name', comp_res['name']))
        ComputeResource.delete({'id': comp_res['id']})
        assert not ComputeResource.exists(search=('name', comp_res['name']))
    def test_negative_create_osp_with_url(self):
        """Attempt to create Openstack compute resource with invalid URL

        :id: a6be8233-2641-4c87-8563-f48d6efbb6ac

        :expectedresults: Compute resource is not created

        :CaseImportance: Critical

        :BZ: 1579714
        """
        name = gen_string('alpha')
        with pytest.raises(CLIReturnCodeError):
            ComputeResource.create(
                {
                    'name': name,
                    'provider': 'Openstack',
                    'user': OSP_SETTINGS['username'],
                    'password': OSP_SETTINGS['password'],
                    'tenant': OSP_SETTINGS['tenant'],
                    'url': 'invalid url',
                    'project-domain-id': OSP_SETTINGS['project_domain_id'],
                }
            )
Beispiel #53
0
 def test_create(self):
     """
     @Feature: Compute Resource - Positive Create
     @Test: Create Compute Resource
     @Assert: Compute reource is created
     """
     name = generate_string("alpha", 10)
     result = ComputeResource.create({
         'name':
         name,
         'provider':
         'Libvirt',
         'url':
         "qemu+tcp://%s:16509/system" %
         conf.properties['main.server.hostname']
     })
     self.assertEquals(result.return_code, 0,
                       "ComputeResource create - exit code")
    def test_negative_create_with_same_name(self):
        """Attempt to create Openstack compute resource with the same name as
        an existing one

        :id: b08132fe-6081-48e9-b7fd-9da7966aef5d

        :steps:

            1. Create a osp compute resource.
            2. Create another osp compute resource with same name.

        :expectedresults: Compute resource is not created

        :CaseImportance: Critical

        :BZ: 1579714
        """
        name = gen_string('alpha')
        compute_resource = make_compute_resource(
            {
                'name': name,
                'provider': 'Openstack',
                'user': OSP_SETTINGS['username'],
                'password': OSP_SETTINGS['password'],
                'tenant': OSP_SETTINGS['tenant'],
                'url': OSP_SETTINGS['hostname'],
                'project-domain-id': OSP_SETTINGS['project_domain_id'],
            }
        )
        assert ComputeResource.exists(search=('name', compute_resource['name']))
        with pytest.raises(CLIFactoryError):
            make_compute_resource(
                {
                    'name': name,
                    'provider': 'Openstack',
                    'user': OSP_SETTINGS['username'],
                    'password': OSP_SETTINGS['password'],
                    'tenant': OSP_SETTINGS['tenant'],
                    'url': OSP_SETTINGS['hostname'],
                    'project-domain-id': OSP_SETTINGS['project_domain_id'],
                }
            )
    def test_create_negative_2(self):
        """@Test: Compute Resource negative create with the same name

        @Feature: Compute Resource create

        @Assert: Compute resource not created

        """
        comp_res = make_compute_resource()

        result = ComputeResource.create({
            u'name':
            comp_res['name'],
            u'provider':
            FOREMAN_PROVIDERS['libvirt'],
            u'url':
            gen_url()
        })
        self.assertNotEquals(result.return_code, 0)
        self.assertNotEqual(len(result.stderr), 0)
Beispiel #56
0
 def test_info(self):
     """
     @Feature: Compute Resource - Info
     @Test: Test Compute Resource Info
     @Assert: Compute resource Info is displayed
     """
     result_create = make_compute_resource({
         'provider':
         FOREMAN_PROVIDERS['libvirt'],
         'url':
         "qemu+tcp://%s:16509/system" %
         conf.properties['main.server.hostname']
     })
     self.assertTrue(result_create['name'],
                     "ComputeResource create - has name")
     result_info = ComputeResource.info({'name': result_create['name']})
     self.assertEquals(result_info.return_code, 0,
                       "ComputeResource info - exit code")
     self.assertEquals(result_info.stdout['name'], result_create['name'],
                       "ComputeResource info - check name")
    def test_create_negative_1(self, options):
        """@Test: Compute Resource negative create with invalid values

        @Feature: Compute Resource create

        @Assert: Compute resource not created

        """
        result = ComputeResource.create({
            u'name':
            options.get('name', gen_string(str_type='alphanumeric')),
            u'url':
            options.get('url', gen_url()),
            u'provider':
            FOREMAN_PROVIDERS['libvirt'],
            u'description':
            options.get('description', '')
        })

        self.assertNotEqual(result.return_code, 0)
        self.assertNotEqual(len(result.stderr), 0)
    def test_create_positive_libvirt(self, options):
        """@Test: Test Compute Resource create

        @Feature: Compute Resource positive create

        @Assert: Compute Resource created

        """
        result = ComputeResource.create({
            u'name':
            options['name'],
            u'url':
            gen_url(),
            u'provider':
            FOREMAN_PROVIDERS['libvirt'],
            u'description':
            options['description'],
        })

        self.assertEqual(result.return_code, 0)
        self.assertEqual(len(result.stderr), 0)
Beispiel #59
0
    def test_positive_create_with_console_password(self):
        """Create Compute Resource with different values of
        set-console-password parameter

        @id: 4531b3e3-906b-4835-a6ab-3332dc9bd636

        @Assert: Compute Resource is created and set-console-password
        parameter is set

        @BZ: 1214312

        """
        for console_password in (u'True', u'Yes', 1, u'False', u'No', 0):
            with self.subTest(console_password):
                comp_resource = make_compute_resource({
                    u'provider': FOREMAN_PROVIDERS['libvirt'],
                    u'set-console-password': console_password,
                    u'url': gen_url(),
                })
                result = ComputeResource.info({'id': comp_resource['id']})
                if console_password in (u'True', u'Yes', 1):
                    self.assertEqual(result['set-console-password'], u'true')
                else:
                    self.assertEqual(result['set-console-password'], u'false')
Beispiel #60
0
 def _cleanup():
     if ComputeResource.exists(search=('id', compute_resource['id'])):
         ComputeResource.delete(options={'id': compute_resource['id']})