def test_gc_error(mock_logger): """logs error when repo delete task returns an error reponse""" repo = { "id": "rhel-test-garbage-collect-7-days-old", "notes": { "pub_temp_repo": True, "created": _get_time_created(7) }, } controller = _get_fake_controller(repo) gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url", "--verbose"] with patch("sys.argv", arg): with patch.object(controller.client, "_delete_repository") as repo_delete: with patch("pubtools._pulp.task.PulpTask.pulp_client", controller.client): repo_delete.return_value = f_return([ Task( id="12334", completed=True, succeeded=False, error_summary="Error occured", ) ]) gc.main() mock_logger.error.assert_any_call("Error occured")
def test_gc_error(mock_logger): """logs error when repo delete task returns an error reponse""" repo = Repository( id="rhel-test-garbage-collect-7-days-old", created=_get_created(7), is_temporary=True, ) controller = _get_fake_controller(repo) gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url"] with patch("sys.argv", arg): with patch.object(controller.client, "_delete_repository") as repo_delete: with _patch_pulp_client(controller.client): repo_delete.return_value = f_return([ Task( id="12334", completed=True, succeeded=False, error_summary="Error occured", ) ]) gc.main() mock_logger.error.assert_any_call("Error occured")
def test_arc_garbage_collect(mock_logger): """deletes all-rpm-content content that confirms to garbage collect criteria""" repo = Repository( id="all-rpm-content", created=_get_created(7), ) controller = _get_fake_controller(repo) client = controller.client assert list(client.search_content()) == [] all_rpm_content = client.get_repository("all-rpm-content").result() rpm1 = RpmUnit( cdn_published=datetime.datetime.utcnow(), arch="src", filename="test-arc01-1.0-1.src.rpm", name="test-arc01", version="1.0", release="1", content_type_id="rpm", unit_id="gc_arc_01", ) rpm2 = RpmUnit( cdn_published=datetime.datetime.utcnow() - datetime.timedelta(days=190), arch="src", filename="test-arc02-1.0-1.src.rpm", name="test-arc02", version="1.0", release="1", content_type_id="rpm", unit_id="gc_arc_02", ) rpm3 = RpmUnit( cdn_published=datetime.datetime.utcnow() - datetime.timedelta(days=195), arch="src", filename="test-arc03-1.0-1.src.rpm", name="test-arc03", version="1.0", release="1", content_type_id="rpm", unit_id="gc_arc_03", ) controller.insert_units(all_rpm_content, [rpm1, rpm2, rpm3]) updated_rpm = list( client.get_repository("all-rpm-content").search_content()) assert len(updated_rpm) == 3 gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url"] with patch("sys.argv", arg): with _patch_pulp_client(controller.client): gc.main() updated_rpm = list( client.get_repository("all-rpm-content").search_content()) assert len(updated_rpm) == 1 mock_logger.info.assert_any_call("Old all-rpm-content deleted: %s", rpm2.name)
def _run_test(*repos): controller = _get_fake_controller(*repos) gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url"] with patch("sys.argv", arg): with _patch_pulp_client(controller.client): gc.main() return controller
def _run_test(*repos): controller = _get_fake_controller(*repos) gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url", "--verbose"] with patch("sys.argv", arg): with patch("pubtools._pulp.task.PulpTask.pulp_client", controller.client): gc.main() return controller
def test_add_arc_args(): """adds the arg to the PulpTask parser""" gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url", "--arc-threshold", "7"] with patch("sys.argv", arg): gc_args = gc.args assert hasattr(gc_args, "arc_threshold") assert gc_args.arc_threshold == 7
def test_arc_garbage_collect_0items(mock_logger): """no content deleted from all-rpm-content""" repo = Repository( id="all-rpm-content", created=_get_created(7), ) controller = _get_fake_controller(repo) client = controller.client assert list(client.search_content()) == [] all_rpm_content = client.get_repository("all-rpm-content").result() existing_rpm1 = RpmUnit( cdn_published=datetime.datetime.utcnow(), arch="src", filename="test-arc01-1.0-1.src.rpm", name="test-arc01", version="1.0", release="1", content_type_id="rpm", unit_id="gc_arc_01", ) controller.insert_units(all_rpm_content, [existing_rpm1]) updated_rpm = list( client.get_repository("all-rpm-content").search_content()) assert len(updated_rpm) == 1 gc = GarbageCollect() arg = ["", "--pulp-url", "http://some.url"] with patch("sys.argv", arg): with _patch_pulp_client(controller.client): gc.main() updated_rpm = list( client.get_repository("all-rpm-content").search_content()) assert len(updated_rpm) == 1 mock_logger.info.assert_any_call("No all-rpm-content found older than %s", 30)