pulp_2_tests.tests.rpm.api_v2.test_force_full

Location: Pulp 2 TestsTestspulp_2_tests.tests.rpm.api_v2.test_force_full

Tests for publishing with the force_full parameter set.

When a repository is published, Pulp checks to see if certain steps can be skipped. For example, if one publishes a repository twice in a row, the second publish is a no-op, as nothing needs to be done. As of Pulp 2.9, clients can tell Pulp to perform a “full” publish. When this is done, Pulp executes all publication steps, even steps that normally would be skipped.

This module tests Pulp’s handling of “full” publishes.

class pulp_2_tests.tests.rpm.api_v2.test_force_full.ForceFullTestCase(*args, **kwargs)

Bases: pulp_smash.pulp2.utils.BaseAPITestCase

Test the force_full option.

Repeatedly publish a repository. Set the force_full option to various values, and try omitting it too.

get_step(steps, step_type)

Return the task step with the given step_type.

Parameters:
  • steps – A list of dicts, as can be accessed by call_report_task['result']['details'].
  • step_type – The step_type of a particular step, such as save_tar.
Returns:

The matching step.

Raises:

An assertion error if exactly one match is not found.

classmethod setUpClass()

Create and sync a repository.

test_01_force_full_false()

Publish the repository and set force_full to false.

A full publish should occur.

test_02_force_full_omit()

Publish the repository and omit force_full.

A fast-forward publish should occur. This test targets Pulp #1966.

test_03_force_full_true()

Publish the repository and set force_full to true.

A full publish should occur. The “force” publish feature was introduced in Pulp 2.9, and as such, this test will skip when run against an older version of Pulp. See Pulp #1938.