diff --git a/gitlab/v4/objects/files.py b/gitlab/v4/objects/files.py index e6ee27ba2..6d410b32e 100644 --- a/gitlab/v4/objects/files.py +++ b/gitlab/v4/objects/files.py @@ -277,6 +277,7 @@ def delete( # type: ignore[override] @cli.register_custom_action( cls_names="ProjectFileManager", required=("file_path",), + optional=("ref",), ) @exc.on_http_error(exc.GitlabGetError) def raw( diff --git a/tests/functional/cli/test_cli_files.py b/tests/functional/cli/test_cli_files.py new file mode 100644 index 000000000..405fbb21b --- /dev/null +++ b/tests/functional/cli/test_cli_files.py @@ -0,0 +1,21 @@ +def test_project_file_raw(gitlab_cli, project, project_file): + cmd = ["project-file", "raw", "--project-id", project.id, "--file-path", "README"] + ret = gitlab_cli(cmd) + assert ret.success + assert "Initial content" in ret.stdout + + +def test_project_file_raw_ref(gitlab_cli, project, project_file): + cmd = [ + "project-file", + "raw", + "--project-id", + project.id, + "--file-path", + "README", + "--ref", + "main", + ] + ret = gitlab_cli(cmd) + assert ret.success + assert "Initial content" in ret.stdout