def test_create_security_group(self):
        """
        Tests create security group.
        """
        management_security_group_name = 'temp_unittest-mngt-sg'
        agent_security_group_name = 'temp_unittest-agent-sg'
        provider_config = _read_config(None)

        #change security-group name so test will not affect production
        provider_config['networking']['management_security_group'][
            'name'] = management_security_group_name
        provider_config['networking']['agents_security_group'][
            'name'] = agent_security_group_name

        self.cloud_driver = CloudstackConnector(provider_config).create()

        try:
            sg_creator = CloudstackSecurityGroupCreator(self.cloud_driver,
                                                      provider_config)
            sg_creator.create_security_groups()

            if sg_creator.get_security_group(
                    management_security_group_name) is None:
                raise AssertionError(
                    'expecting to find security group {0}'.format(
                        management_security_group_name))
            if sg_creator.get_security_group(agent_security_group_name) is None:
                raise AssertionError(
                    'expecting to find security group {0}'.format(
                        agent_security_group_name))

            sg_creator.delete_security_groups()

            if sg_creator.get_security_group(
                    management_security_group_name):
                raise AssertionError(
                    'expecting security group {0} to be deleted'.format(
                    management_security_group_name))
            if sg_creator.get_security_group(agent_security_group_name):
                raise AssertionError(
                    'expecting security group {0} to be deleted'.format(
                    agent_security_group_name))
        finally:
            try:
                self.cloud_driver.ex_delete_security_group(
                    management_security_group_name)
            except:
                pass

            try:
                self.cloud_driver.ex_delete_security_group(
                    agent_security_group_name)
            except:
                pass
    def test_create_security_group(self):
        """
        Tests create security group.
        """
        management_security_group_name = 'temp_unittest-mngt-sg'
        agent_security_group_name = 'temp_unittest-agent-sg'
        provider_config = _read_config(None)

        #change security-group name so test will not affect production
        provider_config['networking']['management_security_group'][
            'name'] = management_security_group_name
        provider_config['networking']['agents_security_group'][
            'name'] = agent_security_group_name

        self.cloud_driver = CloudstackConnector(provider_config).create()

        try:
            sg_creator = CloudstackSecurityGroupCreator(
                self.cloud_driver, provider_config)
            sg_creator.create_security_groups()

            if sg_creator.get_security_group(
                    management_security_group_name) is None:
                raise AssertionError(
                    'expecting to find security group {0}'.format(
                        management_security_group_name))
            if sg_creator.get_security_group(
                    agent_security_group_name) is None:
                raise AssertionError(
                    'expecting to find security group {0}'.format(
                        agent_security_group_name))

            sg_creator.delete_security_groups()

            if sg_creator.get_security_group(management_security_group_name):
                raise AssertionError(
                    'expecting security group {0} to be deleted'.format(
                        management_security_group_name))
            if sg_creator.get_security_group(agent_security_group_name):
                raise AssertionError(
                    'expecting security group {0} to be deleted'.format(
                        agent_security_group_name))
        finally:
            try:
                self.cloud_driver.ex_delete_security_group(
                    management_security_group_name)
            except:
                pass

            try:
                self.cloud_driver.ex_delete_security_group(
                    agent_security_group_name)
            except:
                pass