Skip to content

Handle non-existent start branch in UserCommitFiles

UserCommitFiles receives requests where the StartBranch is set even for an empty repository. Such requests fail when attempting to resolve the start branch' commit as the branch does not exist. The Ruby implementation of the RPC went around this case by checking whether the repository has no branches. If so, it ignored the start branch. This scenario caused failures in the QA pipeline. It doesn't appear such requests are sent in production though.

This commit fixes the failing pipeline by mirroring the Ruby implementations behavior and ignoring the start branch when the repository has no branches. The Go implementation already handled this for the remote repository. This changes the handling to also take place when the remote repository is not set.

Related to #3254 (closed)

Fixed test failures
  1) API::DebianProjectPackages PUT projects/:id/-/packages/debian/incoming/:file_name behaves like Debian project repository PUT endpoint with valid project project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, expected_status: :created, expected_body: nil behaves like Debian project repository PUT request for user type developer creates package files
     # Debian package creation not implemented
     Failure/Error:
       expect { subject }
           .to change { project.packages.debian.count }.by(1)

       expected `project.packages.debian.count` to have changed by 1, but was changed by 0
     Shared Example Group: "Debian project repository PUT request" called from ./spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb:224
     Shared Example Group: "Debian repository project access" called from ./spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb:223
     Shared Example Group: "Debian project repository PUT endpoint" called from ./spec/requests/api/debian_project_packages_spec.rb:43
     Shared Example Group: "Debian repository shared context" called from ./spec/requests/api/debian_project_packages_spec.rb:8
     # ./spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb:122:in `block (3 levels) in '
     # ./spec/spec_helper.rb:357:in `block (3 levels) in '
     # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
     # ./spec/spec_helper.rb:348:in `block (2 levels) in '
     # ./spec/spec_helper.rb:344:in `block (3 levels) in '
     # ./spec/spec_helper.rb:344:in `block (2 levels) in '

  2) API::DebianProjectPackages PUT projects/:id/-/packages/debian/incoming/:file_name behaves like Debian project repository PUT endpoint with valid project project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, expected_status: :created, expected_body: nil behaves like Debian project repository PUT request for user type developer creates package files
     # Debian package creation not implemented
     Failure/Error:
       expect { subject }
           .to change { project.packages.debian.count }.by(1)

       expected `project.packages.debian.count` to have changed by 1, but was changed by 0
     Shared Example Group: "Debian project repository PUT request" called from ./spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb:224
     Shared Example Group: "Debian repository project access" called from ./spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb:223
     Shared Example Group: "Debian project repository PUT endpoint" called from ./spec/requests/api/debian_project_packages_spec.rb:43
     Shared Example Group: "Debian repository shared context" called from ./spec/requests/api/debian_project_packages_spec.rb:8
     # ./spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb:122:in `block (3 levels) in '
     # ./spec/spec_helper.rb:357:in `block (3 levels) in '
     # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
     # ./spec/spec_helper.rb:348:in `block (2 levels) in '
     # ./spec/spec_helper.rb:344:in `block (3 levels) in '
     # ./spec/spec_helper.rb:344:in `block (2 levels) in '

Failures:

  1) API::Files POST /projects/:id/repository/files/:file_path when the repo is empty creates a new file in project repo
     Failure/Error: expect(response).to have_gitlab_http_status(:created)
       expected the response to have status code :created but it was 400. The response was: {"message":"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found."}
     # ./spec/requests/api/files_spec.rb:711:in `block (4 levels) in '
     # ./spec/spec_helper.rb:357:in `block (3 levels) in '
     # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
     # ./spec/spec_helper.rb:348:in `block (2 levels) in '
     # ./spec/spec_helper.rb:344:in `block (3 levels) in '
     # ./spec/spec_helper.rb:344:in `block (2 levels) in '

  2) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the root module behaves like a module version list resource returns v1.0.1, v1.0.2, v1.0.3
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:160
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  3) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the package behaves like a module version list resource returns nothing
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:164
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  4) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the submodule behaves like a module version list resource returns v1.0.3
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:168
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  5) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the root module v2 behaves like a module version list resource returns v2.0.0
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:172
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  6) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list with a URL encoded relative path component behaves like a missing module version list resource behaves like an unavailable resource returns not found
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:63
     Shared Example Group: "a missing module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:176
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  7) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list with the feature disabled behaves like a missing module version list resource behaves like an unavailable resource returns not found
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:63
     Shared Example Group: "a missing module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:184
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  8) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with the root module v1.0.1 behaves like a module version information resource returns information for v1.0.1
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "a module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:190
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  9) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with the submodule v1.0.3 behaves like a module version information resource returns information for v1.0.3
     Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

     RuntimeError:
       operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
     Shared Example Group: "a module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:194
     # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
     # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
     # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  10) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with the root module v2.0.0 behaves like a module version information resource returns information for v2.0.0
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:198
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  11) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with an invalid path behaves like a missing module version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:86
      Shared Example Group: "a missing module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:202
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  12) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with an invalid version behaves like a missing module version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:86
      Shared Example Group: "a missing module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:206
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  13) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version for v1 behaves like a module pseudo-version information resource returns information for v1.0.4-0.yyyymmddhhmmss-abcdefabcdef
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module pseudo-version information resource" called from ./spec/requests/api/go_proxy_spec.rb:210
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  14) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version for v2 behaves like a module pseudo-version information resource returns information for v2.0.0-yyyymmddhhmmss-abcdefabcdef
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module pseudo-version information resource" called from ./spec/requests/api/go_proxy_spec.rb:216
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  15) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version with an invalid timestamp behaves like a missing module pseudo-version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:115
      Shared Example Group: "a missing module pseudo-version information resource" called from ./spec/requests/api/go_proxy_spec.rb:222
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  16) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version with an invalid commit sha behaves like a missing module pseudo-version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:115
      Shared Example Group: "a missing module pseudo-version information resource" called from ./spec/requests/api/go_proxy_spec.rb:228
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  17) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version with a short commit sha behaves like a missing module pseudo-version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:115
      Shared Example Group: "a missing module pseudo-version information resource" called from ./spec/requests/api/go_proxy_spec.rb:235
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  18) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with the root module v1.0.1 behaves like a module file resource returns /go.mod from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module file resource" called from ./spec/requests/api/go_proxy_spec.rb:244
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  19) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with the submodule v1.0.3 behaves like a module file resource returns /mod/go.mod from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module file resource" called from ./spec/requests/api/go_proxy_spec.rb:248
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  20) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with the root module v2.0.0 behaves like a module file resource returns /v2/go.mod from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module file resource" called from ./spec/requests/api/go_proxy_spec.rb:252
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  21) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with an invalid path behaves like a missing module file resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:134
      Shared Example Group: "a missing module file resource" called from ./spec/requests/api/go_proxy_spec.rb:256
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  22) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with an invalid version behaves like a missing module file resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:134
      Shared Example Group: "a missing module file resource" called from ./spec/requests/api/go_proxy_spec.rb:260
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  23) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v1.0.1 behaves like a module archive resource returns an archive of / @ v1.0.1 from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module archive resource" called from ./spec/requests/api/go_proxy_spec.rb:266
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  24) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v1.0.2 behaves like a module archive resource returns an archive of / @ v1.0.2 from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module archive resource" called from ./spec/requests/api/go_proxy_spec.rb:270
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  25) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v1.0.3 behaves like a module archive resource returns an archive of / @ v1.0.3 from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module archive resource" called from ./spec/requests/api/go_proxy_spec.rb:274
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  26) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the submodule v1.0.3 behaves like a module archive resource returns an archive of /mod @ v1.0.3 from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module archive resource" called from ./spec/requests/api/go_proxy_spec.rb:278
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  27) API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v2.0.0 behaves like a module archive resource returns an archive of /v2 @ v2.0.0 from the repo
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module archive resource" called from ./spec/requests/api/go_proxy_spec.rb:282
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  28) API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/list with a completely wrong directive for v1 behaves like a module version list resource returns nothing
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:299
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  29) API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/list with a directive omitting the suffix for v2 behaves like a module version list resource returns nothing
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:303
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  30) API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a completely wrong directive for v1 behaves like a missing module version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:86
      Shared Example Group: "a missing module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:309
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  31) API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a directive omitting the suffix for v2 behaves like a missing module version information resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:86
      Shared Example Group: "a missing module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:313
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  32) API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/list with a case encoded path behaves like a module version list resource returns v1.0.1-prerelease, v1.0.1-Prerelease
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:333
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  33) API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/list without a case encoded path behaves like a missing module version list resource behaves like an unavailable resource returns not found
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "an unavailable resource" called from ./spec/requests/api/go_proxy_spec.rb:63
      Shared Example Group: "a missing module version list resource" called from ./spec/requests/api/go_proxy_spec.rb:339
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  34) API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a case encoded path behaves like a module version information resource returns information for v1.0.1-Prerelease
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:347
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  35) API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/:module_version.info without a case encoded path behaves like a module version information resource returns information for v1.0.1-prerelease
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      Shared Example Group: "a module version information resource" called from ./spec/requests/api/go_proxy_spec.rb:354
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  36) API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with an oauth token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  37) API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with a job token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  38) API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with a personal access token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  39) API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with a personal access token and basic authentication
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  40) API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns unauthorized with a failed job token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  41) API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns unauthorized with no authentication
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  42) API::GoProxy with a public project GET /projects/:id/packages/go/*module_name/@v/list returns ok with no authentication
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  43) API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with a user
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  44) API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with an oauth token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  45) API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with a job token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  46) API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with a personal access token
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

  47) API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns unauthorized with no authentication
      Failure/Error: raise "operation failed: #{r}" unless r[:status] == :success

      RuntimeError:
        operation failed: {:message=>"2:resolve parent commit: resolving refish \"refs/heads/master^{commit}\" in *git.LocalRepository: reference not found.", :status=>:error}
      # ./spec/factories/go_module_commits.rb:31:in `block (4 levels) in '
      # ./spec/factories/go_module_commits.rb:79:in `block (3 levels) in '
      # ./spec/requests/api/go_proxy_spec.rb:19:in `block (2 levels) in '

Finished in 13 minutes 15 seconds (files took 46.28 seconds to load)
2003 examples, 47 failures, 2 pending

Failed examples:

rspec ./spec/requests/api/files_spec.rb:708 # API::Files POST /projects/:id/repository/files/:file_path when the repo is empty creates a new file in project repo
rspec './spec/requests/api/go_proxy_spec.rb[1:1:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the root module behaves like a module version list resource returns v1.0.1, v1.0.2, v1.0.3
rspec './spec/requests/api/go_proxy_spec.rb[1:1:2:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the package behaves like a module version list resource returns nothing
rspec './spec/requests/api/go_proxy_spec.rb[1:1:3:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the submodule behaves like a module version list resource returns v1.0.3
rspec './spec/requests/api/go_proxy_spec.rb[1:1:4:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list for the root module v2 behaves like a module version list resource returns v2.0.0
rspec './spec/requests/api/go_proxy_spec.rb[1:1:5:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list with a URL encoded relative path component behaves like a missing module version list resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:1:6:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/list with the feature disabled behaves like a missing module version list resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:2:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with the root module v1.0.1 behaves like a module version information resource returns information for v1.0.1
rspec './spec/requests/api/go_proxy_spec.rb[1:2:2:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with the submodule v1.0.3 behaves like a module version information resource returns information for v1.0.3
rspec './spec/requests/api/go_proxy_spec.rb[1:2:3:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with the root module v2.0.0 behaves like a module version information resource returns information for v2.0.0
rspec './spec/requests/api/go_proxy_spec.rb[1:2:4:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with an invalid path behaves like a missing module version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:2:5:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with an invalid version behaves like a missing module version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:2:6:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version for v1 behaves like a module pseudo-version information resource returns information for v1.0.4-0.yyyymmddhhmmss-abcdefabcdef
rspec './spec/requests/api/go_proxy_spec.rb[1:2:7:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version for v2 behaves like a module pseudo-version information resource returns information for v2.0.0-yyyymmddhhmmss-abcdefabcdef
rspec './spec/requests/api/go_proxy_spec.rb[1:2:8:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version with an invalid timestamp behaves like a missing module pseudo-version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:2:9:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version with an invalid commit sha behaves like a missing module pseudo-version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:2:10:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a pseudo-version with a short commit sha behaves like a missing module pseudo-version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:3:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with the root module v1.0.1 behaves like a module file resource returns /go.mod from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:3:2:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with the submodule v1.0.3 behaves like a module file resource returns /mod/go.mod from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:3:3:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with the root module v2.0.0 behaves like a module file resource returns /v2/go.mod from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:3:4:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with an invalid path behaves like a missing module file resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:3:5:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.mod with an invalid version behaves like a missing module file resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:4:1:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v1.0.1 behaves like a module archive resource returns an archive of / @ v1.0.1 from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:4:2:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v1.0.2 behaves like a module archive resource returns an archive of / @ v1.0.2 from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:4:3:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v1.0.3 behaves like a module archive resource returns an archive of / @ v1.0.3 from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:4:4:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the submodule v1.0.3 behaves like a module archive resource returns an archive of /mod @ v1.0.3 from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:4:5:1:1]' # API::GoProxy GET /projects/:id/packages/go/*module_name/@v/:module_version.zip with the root module v2.0.0 behaves like a module archive resource returns an archive of /v2 @ v2.0.0 from the repo
rspec './spec/requests/api/go_proxy_spec.rb[1:5:1:1:1:1]' # API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/list with a completely wrong directive for v1 behaves like a module version list resource returns nothing
rspec './spec/requests/api/go_proxy_spec.rb[1:5:1:2:1:1]' # API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/list with a directive omitting the suffix for v2 behaves like a module version list resource returns nothing
rspec './spec/requests/api/go_proxy_spec.rb[1:5:2:1:1:1:1]' # API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a completely wrong directive for v1 behaves like a missing module version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:5:2:2:1:1:1]' # API::GoProxy with an invalid module directive GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a directive omitting the suffix for v2 behaves like a missing module version information resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:6:1:1:1:1]' # API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/list with a case encoded path behaves like a module version list resource returns v1.0.1-prerelease, v1.0.1-Prerelease
rspec './spec/requests/api/go_proxy_spec.rb[1:6:1:2:1:1:1]' # API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/list without a case encoded path behaves like a missing module version list resource behaves like an unavailable resource returns not found
rspec './spec/requests/api/go_proxy_spec.rb[1:6:2:1:1:1]' # API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/:module_version.info with a case encoded path behaves like a module version information resource returns information for v1.0.1-Prerelease
rspec './spec/requests/api/go_proxy_spec.rb[1:6:2:2:1:1]' # API::GoProxy with a case sensitive project and versions GET /projects/:id/packages/go/*module_name/@v/:module_version.info without a case encoded path behaves like a module version information resource returns information for v1.0.1-prerelease
rspec ./spec/requests/api/go_proxy_spec.rb:372 # API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with an oauth token
rspec ./spec/requests/api/go_proxy_spec.rb:378 # API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with a job token
rspec ./spec/requests/api/go_proxy_spec.rb:384 # API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with a personal access token
rspec ./spec/requests/api/go_proxy_spec.rb:390 # API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns ok with a personal access token and basic authentication
rspec ./spec/requests/api/go_proxy_spec.rb:396 # API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns unauthorized with a failed job token
rspec ./spec/requests/api/go_proxy_spec.rb:403 # API::GoProxy with a private project GET /projects/:id/packages/go/*module_name/@v/list returns unauthorized with no authentication
rspec ./spec/requests/api/go_proxy_spec.rb:421 # API::GoProxy with a public project GET /projects/:id/packages/go/*module_name/@v/list returns ok with no authentication
rspec ./spec/requests/api/go_proxy_spec.rb:435 # API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with a user
rspec ./spec/requests/api/go_proxy_spec.rb:441 # API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with an oauth token
rspec ./spec/requests/api/go_proxy_spec.rb:447 # API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with a job token
rspec ./spec/requests/api/go_proxy_spec.rb:453 # API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns not found with a personal access token
rspec ./spec/requests/api/go_proxy_spec.rb:459 # API::GoProxy with a non-existent project GET /projects/:id/packages/go/*module_name/@v/list returns unauthorized with no authentication
Edited by Sami Hiltunen

Merge request reports

Loading