Project

Profile

Help

Issue #5981 ยป 5981_name_repo.py

dalley, 03/02/2021 06:43 PM

 
import json

from pulpcore.client.pulpcore import (
ApiClient as CoreApiClient,
Configuration,
)
from pulpcore.client.pulp_file import (
ApiClient as RpmApiClient,
ContentFilesApi,
RepositoriesFileApi,
RepositoriesFileVersionsApi
)
from pulpcore.client.pulp_2to3_migration import (
ApiClient as MigrationApiClient,
MigrationPlansApi
)
from pulp_smash.pulp3.bindings import monitor_task


import socket

configuration = Configuration()
configuration.username = 'admin'
configuration.password = 'password'
configuration.host = 'http://{}:24817'.format(socket.gethostname())
configuration.safe_chars_for_path_param = '/'


FILE_MIGRATION_PLAN = json.dumps({
"plugins": [{
"type": "iso",
"repositories": [
{"name": "file23456", "pulp2_importer_repository_id": "file2", "repository_versions": [{"pulp2_repository_id": "file2", "pulp2_distributor_repository_ids": ["file2"]}]},
]
}]
})

FILE_MIGRATION_PLAN_NEW_NAME = json.dumps({
"plugins": [{
"type": "iso",
"repositories": [
{"name": "file2", "pulp2_importer_repository_id": "file2", "repository_versions": [{"pulp2_repository_id": "file2", "pulp2_distributor_repository_ids": ["file2"]}]},
]
}]
})

core_client = CoreApiClient(configuration)
rpm_client = RpmApiClient(configuration)
migration_client = MigrationApiClient(configuration)

# Create api clients for all resource types
file_repo_api = RepositoriesFileApi(rpm_client)
file_repo_versions_api = RepositoriesFileVersionsApi(rpm_client)
file_content_api = ContentFilesApi(rpm_client)
migration_plans_api = MigrationPlansApi(migration_client)

mp = migration_plans_api.create({'plan': FILE_MIGRATION_PLAN})
mp2 = migration_plans_api.create({'plan': FILE_MIGRATION_PLAN_NEW_NAME})

mp_run_response = migration_plans_api.run(mp.pulp_href, {})
task = monitor_task(mp_run_response.task)

mp_run_response = migration_plans_api.run(mp2.pulp_href, {})
task = monitor_task(mp_run_response.task)

repos = file_repo_api.list().results

print(repos)

assert len(repos) == 1

assert repos[0].name == 'file2'

repo_version_href = file_repo_versions_api.list(repos[0].pulp_href).results[0].pulp_href
repo_version_content = file_content_api.list(repository_version=repo_version_href)

assert repo_version_content.count == 3
    (1-1/1)