| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 916b1db commit d87d6b1
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -17,68 +17,37 @@ def fixture_dir(test_dir): | |||
| 17 | 17 | return test_dir / "functional" / "fixtures" | |
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | - def reset_gitlab(gl): | ||
| 21 | - # previously tools/reset_gitlab.py | ||
| 20 | + def reset_gitlab(gl: gitlab.Gitlab) -> None: | ||
| 21 | + """Delete resources (such as projects, groups, users) that shouldn't | ||
| 22 | + exist.""" | ||
| 22 | 23 | for project in gl.projects.list(): | |
| 23 | - logging.info(f"Marking for deletion project: {project.path_with_namespace!r}") | ||
| 24 | 24 | for deploy_token in project.deploytokens.list(): | |
| 25 | 25 | logging.info( | |
| 26 | - f"Marking for deletion token: {deploy_token.username!r} in " | ||
| 26 | + f"Deleting deploy token: {deploy_token.username!r} in " | ||
| 27 | 27 | f"project: {project.path_with_namespace!r}" | |
| 28 | 28 | ) | |
| 29 | - deploy_token.delete() | ||
| 30 | - project.delete() | ||
| 29 | + helpers.safe_delete(deploy_token) | ||
| 30 | + logging.info(f"Deleting project: {project.path_with_namespace!r}") | ||
| 31 | + helpers.safe_delete(project) | ||
| 31 | 32 | for group in gl.groups.list(): | |
| 32 | - logging.info(f"Marking for deletion group: {group.full_path!r}") | ||
| 33 | 33 | for deploy_token in group.deploytokens.list(): | |
| 34 | 34 | logging.info( | |
| 35 | - f"Marking for deletion token: {deploy_token.username!r} in " | ||
| 35 | + f"Deleting deploy token: {deploy_token.username!r} in " | ||
| 36 | 36 | f"group: {group.path_with_namespace!r}" | |
| 37 | 37 | ) | |
| 38 | - deploy_token.delete() | ||
| 39 | - group.delete() | ||
| 38 | + helpers.safe_delete(deploy_token) | ||
| 39 | + logging.info(f"Deleting group: {group.full_path!r}") | ||
| 40 | + helpers.safe_delete(group) | ||
| 40 | 41 | for topic in gl.topics.list(): | |
| 41 | - topic.delete() | ||
| 42 | + logging.info(f"Deleting topic: {topic.name!r}") | ||
| 43 | + helpers.safe_delete(topic) | ||
| 42 | 44 | for variable in gl.variables.list(): | |
| 43 | - logging.info(f"Marking for deletion variable: {variable.key!r}") | ||
| 44 | - variable.delete() | ||
| 45 | + logging.info(f"Deleting variable: {variable.key!r}") | ||
| 46 | + helpers.safe_delete(variable) | ||
| 45 | 47 | for user in gl.users.list(): | |
| 46 | 48 | if user.username != "root": | |
| 47 | - logging.info(f"Marking for deletion user: {user.username!r}") | ||
| 48 | - user.delete(hard_delete=True) | ||
| 49 | - | ||
| 50 | - # Ensure everything has been reset | ||
| 51 | - start_time = time.perf_counter() | ||
| 52 | - | ||
| 53 | - def wait_for_list_size( | ||
| 54 | - rest_manager: gitlab.base.RESTManager, description: str, max_length: int = 0 | ||
| 55 | - ) -> None: | ||
| 56 | - """Wait for the list() length to be no greater than expected maximum or fail | ||
| 57 | - test if timeout is exceeded""" | ||
| 58 | - logging.info(f"Checking {description!r} has no more than {max_length} items") | ||
| 59 | - for count in range(helpers.MAX_ITERATIONS): | ||
| 60 | - items = rest_manager.list() | ||
| 61 | - if len(items) <= max_length: | ||
| 62 | - break | ||
| 63 | - logging.info( | ||
| 64 | - f"Iteration: {count} Waiting for {description!r} items to be deleted: " | ||
| 65 | - f"{[x.name for x in items]}" | ||
| 66 | - ) | ||
| 67 | - time.sleep(helpers.SLEEP_INTERVAL) | ||
| 68 | - | ||
| 69 | - elapsed_time = time.perf_counter() - start_time | ||
| 70 | - error_message = ( | ||
| 71 | - f"More than {max_length} {description!r} items still remaining and timeout " | ||
| 72 | - f"({elapsed_time}) exceeded: {[x.name for x in items]}" | ||
| 73 | - ) | ||
| 74 | - if len(items) > max_length: | ||
| 75 | - logging.error(error_message) | ||
| 76 | - assert len(items) <= max_length, error_message | ||
| 77 | - | ||
| 78 | - wait_for_list_size(rest_manager=gl.projects, description="projects") | ||
| 79 | - wait_for_list_size(rest_manager=gl.groups, description="groups") | ||
| 80 | - wait_for_list_size(rest_manager=gl.variables, description="variables") | ||
| 81 | - wait_for_list_size(rest_manager=gl.users, description="users", max_length=1) | ||
| 49 | + logging.info(f"Deleting user: {user.username!r}") | ||
| 50 | + helpers.safe_delete(user, hard_delete=True) | ||
| 82 | 51 | ||
| 83 | 52 | ||
| 84 | 53 | def set_token(container, fixture_dir): | |
| Back | FazBrowse Home | New Git URL |
0 commit comments