def update_build_configuration(id, **kwargs): """ Update an existing BuildConfiguration with new information :param id: ID of BuildConfiguration to update :param name: Name of BuildConfiguration to update :return: """ to_update_id = id bc_to_update = configs_api.get_specific(id=to_update_id).content project_id = kwargs.get('project') if project_id: project_rest = common.get_entity(projects_api, project_id) update_project = {'project': project_rest} kwargs.update(update_project) env_id = kwargs.get('environment') if env_id: env_rest = common.get_entity(envs_api, env_id) update_env = {'environment': env_rest} kwargs.update(update_env) for key, value in kwargs.items(): if value is not None: setattr(bc_to_update, key, value) response = utils.checked_api_call(configs_api, 'update', id=to_update_id, body=bc_to_update) if response: return response.content
def add_product_version_to_build_configuration_raw(id=None, name=None, product_version_id=None): found_id = common.set_id(pnc_api.build_configs, id, name) to_add = common.get_entity(pnc_api.product_versions, product_version_id) response = utils.checked_api_call(pnc_api.build_configs, 'add_product_version', id=found_id, body=to_add) if response: return response.content
def create_build_configuration(**kwargs): """ Create a new BuildConfiguration. BuildConfigurations represent the settings and configuration required to run a build of a specific version of the associated Project's source code. If a ProductVersion ID is provided, the BuildConfiguration will have access to artifacts which were produced for that version, but may not have been released yet. """ project_id = kwargs.get('project') project_rest = common.get_entity(projects_api, project_id) kwargs['project'] = project_rest env_id = kwargs.get('environment') env_rest = common.get_entity(envs_api, env_id) kwargs['environment'] = env_rest build_configuration = create_build_conf_object(**kwargs) response = utils.checked_api_call( configs_api, 'create_new', body=build_configuration) if response: return utils.format_json(response.content)
def update_build_configuration_raw(id, **kwargs): to_update_id = id bc_to_update = pnc_api.build_configs.get_specific(id=to_update_id).content project_id = kwargs.get('project') if project_id: project_rest = common.get_entity(pnc_api.projects, project_id) update_project = {'project': project_rest} kwargs.update(update_project) repository_id = kwargs.get('repository_configuration') if repository_id: repository_rest = common.get_entity(pnc_api.repositories, repository_id) update_repository = {'repository_configuration': repository_rest} kwargs.update(update_repository) env_id = kwargs.get('environment') if env_id: env_rest = common.get_entity(pnc_api.environments, env_id) update_env = {'environment': env_rest} kwargs.update(update_env) if isinstance(kwargs.get("generic_parameters"), str): kwargs["generic_parameters"] = ast.literal_eval( kwargs.get("generic_parameters")) for key, value in kwargs.items(): if value is not None: setattr(bc_to_update, key, value) if kwargs.get('get_revision'): response = utils.checked_api_call(pnc_api.build_configs, 'update_and_get_audited', id=to_update_id, body=bc_to_update) else: response = utils.checked_api_call(pnc_api.build_configs, 'update', id=to_update_id, body=bc_to_update) if response: return response.content
def create_build_configuration_raw(**kwargs): project_id = kwargs.get('project') project_rest = common.get_entity(pnc_api.projects, project_id) kwargs['project'] = project_rest repository_id = kwargs.get('repository_configuration') repository_rest = common.get_entity(pnc_api.repositories, repository_id) kwargs['repository_configuration'] = repository_rest env_id = kwargs.get('environment') env_rest = common.get_entity(pnc_api.environments, env_id) kwargs['environment'] = env_rest if kwargs.get("generic_parameters"): kwargs["generic_parameters"] = ast.literal_eval(kwargs.get("generic_parameters")) build_configuration = create_build_conf_object(**kwargs) response = utils.checked_api_call( pnc_api.build_configs, 'create_new', body=build_configuration) if response: return response.content
def add_product_version_to_build_configuration(id=None, name=None, product_version_id=None): """ Associate an existing ProductVersion with a BuildConfiguration """ found_id = common.set_id(configs_api, id, name) to_add = common.get_entity(versions_api, product_version_id) response = utils.checked_api_call(configs_api, 'add_product_version', id=found_id, body=to_add) if response: return utils.format_json(response.content)
def add_build_configuration_to_set_raw( set_id=None, set_name=None, config_id=None, config_name=None): config_set_id = common.set_id(sets_api, set_id, set_name) bc_id = common.set_id(configs_api, config_id, config_name) bc = common.get_entity(configs_api, bc_id) response = utils.checked_api_call( sets_api, 'add_configuration', id=config_set_id, body=bc) if response: return response.content
def create_build_configuration_raw(**kwargs): project_id = kwargs.get('project') project_rest = common.get_entity(pnc_api.projects, project_id) kwargs['project'] = project_rest repository_id = kwargs.get('repository_configuration') repository_rest = common.get_entity(pnc_api.repositories, repository_id) kwargs['repository_configuration'] = repository_rest env_id = kwargs.get('environment') env_rest = common.get_entity(pnc_api.environments, env_id) kwargs['environment'] = env_rest if kwargs.get("generic_parameters"): kwargs["generic_parameters"] = ast.literal_eval( kwargs.get("generic_parameters")) build_configuration = create_build_conf_object(**kwargs) response = utils.checked_api_call(pnc_api.build_configs, 'create_new', body=build_configuration) if response: return response.content
def add_build_configuration_to_set_raw( set_id=None, set_name=None, config_id=None, config_name=None): config_set_id = common.set_id(pnc_api.build_group_configs, set_id, set_name) bc_id = common.set_id(pnc_api.build_configs, config_id, config_name) bc = common.get_entity(pnc_api.build_configs, bc_id) response = utils.checked_api_call( pnc_api.build_group_configs, 'add_configuration', id=config_set_id, body=bc) if response: return response.content
def update_build_configuration_raw(id, **kwargs): to_update_id = id bc_to_update = pnc_api.build_configs.get_specific(id=to_update_id).content project_id = kwargs.get('project') if project_id: project_rest = common.get_entity(pnc_api.projects, project_id) update_project = {'project': project_rest} kwargs.update(update_project) repository_id = kwargs.get('repository_configuration') if repository_id: repository_rest = common.get_entity(pnc_api.repositories, repository_id) update_repository = {'repository_configuration': repository_rest} kwargs.update(update_repository) env_id = kwargs.get('environment') if env_id: env_rest = common.get_entity(pnc_api.environments, env_id) update_env = {'environment': env_rest} kwargs.update(update_env) if isinstance(kwargs.get("generic_parameters"), str): kwargs["generic_parameters"] = ast.literal_eval(kwargs.get("generic_parameters")) for key, value in kwargs.items(): if value is not None: setattr(bc_to_update, key, value) if kwargs.get('get_revision'): response = utils.checked_api_call(pnc_api.build_configs, 'update_and_get_audited', id=to_update_id, body=bc_to_update) else: response = utils.checked_api_call(pnc_api.build_configs, 'update', id=to_update_id, body=bc_to_update) if response: return response.content
def update_build_configuration_raw(id, **kwargs): to_update_id = id bc_to_update = configs_api.get_specific(id=to_update_id).content project_id = kwargs.get('project') if project_id: project_rest = common.get_entity(projects_api, project_id) update_project = {'project': project_rest} kwargs.update(update_project) repository_id = kwargs.get('repository_configuration') if repository_id: repository_rest = common.get_entity(repos_api, repository_id) update_repository = {'repository_configuration': repository_rest} kwargs.update(update_repository) env_id = kwargs.get('environment') if env_id: env_rest = common.get_entity(envs_api, env_id) update_env = {'environment': env_rest} kwargs.update(update_env) if kwargs.get("generic_parameters"): kwargs["generic_parameters"] = ast.literal_eval( kwargs.get("generic_parameters")) for key, value in kwargs.items(): if value is not None: setattr(bc_to_update, key, value) response = utils.checked_api_call(configs_api, 'update', id=to_update_id, body=bc_to_update) if response: return response.content
def build_set_raw(id=None, name=None, tempbuild=False, timestamp_alignment=False, force=False, rebuild_mode=common.REBUILD_MODES_DEFAULT, **kwargs): """ Start a build of the given BuildConfigurationSet """ logging.debug("temp_build: " + str(tempbuild)) logging.debug("timestamp_alignment: " + str(timestamp_alignment)) logging.debug("force: " + str(force)) if tempbuild is False and timestamp_alignment is True: logging.error( "You can only activate timestamp alignment with the temporary build flag!" ) sys.exit(1) found_id = common.set_id(pnc_api.build_group_configs, id, name) revisions = kwargs.get("id_revisions") if revisions: id_revs = map(__parse_revision, revisions) bcsRest = common.get_entity(pnc_api.build_group_configs, found_id) body = swagger_client.BuildConfigurationSetWithAuditedBCsRest() body = __fill_BCSWithAuditedBCs_body(body, bcsRest, id_revs) response = utils.checked_api_call( pnc_api.build_group_configs, 'build_versioned', id=found_id, temporary_build=tempbuild, timestamp_alignment=timestamp_alignment, force_rebuild=force, rebuild_mode=rebuild_mode, body=body) else: response = utils.checked_api_call( pnc_api.build_group_configs, 'build', id=found_id, temporary_build=tempbuild, timestamp_alignment=timestamp_alignment, force_rebuild=force, rebuild_mode=rebuild_mode) if response: return response.content
def add_build_configuration_to_set( set_id=None, set_name=None, config_id=None, config_name=None): """ Add a build configuration to an existing BuildConfigurationSet """ config_set_id = common.set_id(sets_api, set_id, set_name) bc_id = common.set_id(configs_api, config_id, config_name) bc = common.get_entity(configs_api, bc_id) response = utils.checked_api_call( sets_api, 'add_configuration', id=config_set_id, body=bc) if response: return utils.format_json(response.content)
def build_set_raw(id=None, name=None, tempbuild=False, timestamp_alignment=False, force=False, rebuild_mode=common.REBUILD_MODES_DEFAULT, **kwargs): """ Start a build of the given BuildConfigurationSet """ logging.debug("temp_build: " + str(tempbuild)) logging.debug("timestamp_alignment: " + str(timestamp_alignment)) logging.debug("force: " + str(force)) if tempbuild is False and timestamp_alignment is True: logging.error("You can only activate timestamp alignment with the temporary build flag!") sys.exit(1) found_id = common.set_id(pnc_api.build_group_configs, id, name) revisions = kwargs.get("id_revisions") if revisions: id_revs = map(__parse_revision, revisions) bcsRest = common.get_entity(pnc_api.build_group_configs, found_id) body = swagger_client.BuildConfigurationSetWithAuditedBCsRest() body = __fill_BCSWithAuditedBCs_body(body, bcsRest, id_revs) response = utils.checked_api_call(pnc_api.build_group_configs, 'build_versioned', id=found_id, temporary_build=tempbuild, timestamp_alignment=timestamp_alignment, force_rebuild=force, rebuild_mode=rebuild_mode, body=body) else: response = utils.checked_api_call(pnc_api.build_group_configs, 'build', id=found_id, temporary_build=tempbuild, timestamp_alignment=timestamp_alignment, force_rebuild=force, rebuild_mode=rebuild_mode) if response: return response.content
def test_get_entity(): mock_api = create_autospec(BuildconfigurationsApi) mock_api.get_specific.return_value = MagicMock(content='specific') result = common.get_entity(mock_api, 1) assert result == 'specific'
def test_get_entity(): mock_api = create_autospec(BuildconfigurationsApi) mock_api.get_specific.return_value = None result = common.get_entity(mock_api, 1) assert not result