Skip to content

Conversation

@coopernetes
Copy link
Contributor

@coopernetes coopernetes commented Aug 21, 2025

This is in draft until the workflow is fully tested - currently underway in a private fork completed

This PR adds a new end-to-end test setup using docker compose. It includes a few basic tests such as git clone (fetch) and a single push test with an expected failure. By moving end-to-end testing to a container-based setup, we can start to remove the state coupling that exists between various test suites at the moment. For example, attempting to run a single test can result in unexpected failures because it relies on setups from another test that starts a real GitProxy server, inserts some data into the database, etc. By refactoring those tests into these new e2e style tests, we can remove those dependencies and start to break apart the existing tests to focus more on the system-under-test.

In addition to this setup, a few other changes were made to support it as well as to cleanup some miscellaneous issues. If preferred, these can be moved out into their own PRs..

  1. Add support for proxying http (non-TLS) git servers since the local test server runs on HTTP only via Apache.
  2. Remove some database initialization that was triggered for local files even though Mongo is in use.
  3. Added a setup for the Vite frontend build to be able to fetch its base URL from the server to allow for dynamic URLs to be used to host the app.
  4. Added a Dockerfile for the main application.

See below compose logs:

git-proxy-git-proxy-1  | Created runtime configuration with:
git-proxy-git-proxy-1  |   API URL: auto-detect
git-proxy-git-proxy-1  |   Allowed Origins: *
git-proxy-git-proxy-1  | _userSettings during import: null
git-proxy-git-proxy-1  | Configuration sources are disabled
git-proxy-git-proxy-1  | Initializing user configuration from /app/integration-test.config.json
git-proxy-git-proxy-1  | No plugins configured
git-proxy-git-proxy-1  | Found 0 plugin modules
git-proxy-git-proxy-1  | creating new repo {"project":"coopernetes","name":"test-repo","url":"http://git-server:8080/coopernetes/test-repo.git","users":{"canPush":[],"canAuthorise":[]}}
git-proxy-git-proxy-1  | creating new repo {"project":"finos","name":"git-proxy","url":"http://git-server:8080/finos/git-proxy.git","users":{"canPush":[],"canAuthorise":[]}}
git-proxy-git-proxy-1  | creating user
git-proxy-git-proxy-1  |         user=admin,
git-proxy-git-proxy-1  |         gitAccount=none
git-proxy-git-proxy-1  |         [email protected],
git-proxy-git-proxy-1  |         admin=true
git-proxy-git-proxy-1  |         oidcId=
git-proxy-git-proxy-1  | Service Listening on 8081
git-proxy-git-proxy-1  | Initializing proxy router for origins: '["http://git-server:8080"]'
git-proxy-git-proxy-1  | 	setting up origin: 'git-server:8080' with protocol: 'http://'
git-proxy-git-proxy-1  | 	setting up catch-all route (github.com) for backwards compatibility
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | HTTP Proxy Listening on 8000
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/health'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Failed to parse proxy url path: /git-server:8080/health
git-proxy-git-proxy-1  | action blocked
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/health'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Failed to parse proxy url path: /git-server:8080/health
git-proxy-git-proxy-1  | action blocked
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Inserting loaded plugins (0 push, 0 pull) into proxy chains
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/finos/git-proxy.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/finos/git-proxy.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/nonexistent/repo.git for inbound URL path: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/nonexistent/repo.git for inbound URL path: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action fallback calculated repo URL: https://github.com/git-server:8080/nonexistent/repo.git for inbound URL path: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Repository url 'https://github.com/git-server:8080/nonexistent/repo.git' not found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo https://github.com/git-server:8080/nonexistent/repo.git is not in the authorisedList, ending
git-proxy-git-proxy-1  | setting error
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - Rejecting repo https://github.com/git-server:8080/nonexistent/repo.git not in the authorisedList
git-proxy-git-proxy-1  | Rejecting repo https://github.com/git-server:8080/nonexistent/repo.git not in the authorisedList
git-proxy-git-proxy-1  | Action processed: Blocked
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  |     Error:       Rejecting repo https://github.com/git-server:8080/nonexistent/repo.git not in the authorisedList
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-receive-pack
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   content: {
git-proxy-git-proxy-1  |     item: 0,
git-proxy-git-proxy-1  |     value: 154,
git-proxy-git-proxy-1  |     type: 1,
git-proxy-git-proxy-1  |     size: 506,
git-proxy-git-proxy-1  |     deflatedSize: 356,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: 'tree cd858df3200e143ace42b09a08b485ffaa094d96\n' +
git-proxy-git-proxy-1  |       'parent ec025202a568a7c357de783de30b8b4d06e1d6c4\n' +
git-proxy-git-proxy-1  |       'author Thomas Cooper <[email protected]> 1755814693 -0400\n' +
git-proxy-git-proxy-1  |       'committer Thomas Cooper <[email protected]> 1755814693 -0400\n' +
git-proxy-git-proxy-1  |       'gpgsig -----BEGIN PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       ' \n' +
git-proxy-git-proxy-1  |       ' iHUEABYKAB0WIQSi50XjQ0ZxgKG2iYlkdm4ErUngrAUCaKebJQAKCRBkdm4ErUng\n' +
git-proxy-git-proxy-1  |       ' rGZaAP9eirZNNjL9Hb9aSUhpFi7Ao/ccbkPwnD377EKVVQ6g7gD9EgmQh0txJ9Vt\n' +
git-proxy-git-proxy-1  |       ' pakNSmK9N1f4P5qjgEvJ30ahq9VueAY=\n' +
git-proxy-git-proxy-1  |       ' =1aj0\n' +
git-proxy-git-proxy-1  |       ' -----END PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       'E2E test commit - 2025-08-21T22:18:13.258Z\n'
git-proxy-git-proxy-1  |   },
git-proxy-git-proxy-1  |   nextBuffer: <Buffer 95 3d a9 07 78 9c 33 34 30 30 33 31 51 08 72 75 74 f1 75 d5 cb 4d 61 b8 fa 94 85 77 8b f3 a4 87 85 73 ab 39 93 af 15 76 64 d5 45 bf 31 84 28 4a 35 4a ... 308 more bytes>
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | Error: incorrect header check
git-proxy-git-proxy-1  |     at genericNodeError (node:internal/errors:984:15)
git-proxy-git-proxy-1  |     at wrappedFn (node:internal/errors:538:14)
git-proxy-git-proxy-1  |     at Zlib.zlibOnError [as onerror] (node:zlib:189:17)
git-proxy-git-proxy-1  |     at processChunkSync (node:zlib:415:12)
git-proxy-git-proxy-1  |     at zlibBufferSync (node:zlib:178:12)
git-proxy-git-proxy-1  |     at Object.syncBufferWrapper [as inflateSync] (node:zlib:767:14)
git-proxy-git-proxy-1  |     at unpack (/app/dist/src/proxy/processors/push-action/parsePush.js:357:37)
git-proxy-git-proxy-1  |     at getContent (/app/dist/src/proxy/processors/push-action/parsePush.js:334:37)
git-proxy-git-proxy-1  |     at getContents (/app/dist/src/proxy/processors/push-action/parsePush.js:267:43)
git-proxy-git-proxy-1  |     at /app/dist/src/proxy/processors/push-action/parsePush.js:71:30 {
git-proxy-git-proxy-1  |   errno: -3,
git-proxy-git-proxy-1  |   code: 'Z_DATA_ERROR'
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | Error: incorrect header check
git-proxy-git-proxy-1  |     at genericNodeError (node:internal/errors:984:15)
git-proxy-git-proxy-1  |     at wrappedFn (node:internal/errors:538:14)
git-proxy-git-proxy-1  |     at Zlib.zlibOnError [as onerror] (node:zlib:189:17)
git-proxy-git-proxy-1  |     at processChunkSync (node:zlib:415:12)
git-proxy-git-proxy-1  |     at zlibBufferSync (node:zlib:178:12)
git-proxy-git-proxy-1  |     at Object.syncBufferWrapper [as inflateSync] (node:zlib:767:14)
git-proxy-git-proxy-1  |     at unpack (/app/dist/src/proxy/processors/push-action/parsePush.js:357:37)
git-proxy-git-proxy-1  |     at getContent (/app/dist/src/proxy/processors/push-action/parsePush.js:334:37)
git-proxy-git-proxy-1  |     at getContents (/app/dist/src/proxy/processors/push-action/parsePush.js:267:43)
git-proxy-git-proxy-1  |     at /app/dist/src/proxy/processors/push-action/parsePush.js:71:30 {
git-proxy-git-proxy-1  |   errno: -3,
git-proxy-git-proxy-1  |   code: 'Z_DATA_ERROR'
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | Error: incorrect header check
git-proxy-git-proxy-1  |     at genericNodeError (node:internal/errors:984:15)
git-proxy-git-proxy-1  |     at wrappedFn (node:internal/errors:538:14)
git-proxy-git-proxy-1  |     at Zlib.zlibOnError [as onerror] (node:zlib:189:17)
git-proxy-git-proxy-1  |     at processChunkSync (node:zlib:415:12)
git-proxy-git-proxy-1  |     at zlibBufferSync (node:zlib:178:12)
git-proxy-git-proxy-1  |     at Object.syncBufferWrapper [as inflateSync] (node:zlib:767:14)
git-proxy-git-proxy-1  |     at unpack (/app/dist/src/proxy/processors/push-action/parsePush.js:357:37)
git-proxy-git-proxy-1  |     at getContent (/app/dist/src/proxy/processors/push-action/parsePush.js:334:37)
git-proxy-git-proxy-1  |     at getContents (/app/dist/src/proxy/processors/push-action/parsePush.js:267:43)
git-proxy-git-proxy-1  |     at /app/dist/src/proxy/processors/push-action/parsePush.js:71:30 {
git-proxy-git-proxy-1  |   errno: -3,
git-proxy-git-proxy-1  |   code: 'Z_DATA_ERROR'
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   x: {
git-proxy-git-proxy-1  |     item: 0,
git-proxy-git-proxy-1  |     value: 154,
git-proxy-git-proxy-1  |     type: 1,
git-proxy-git-proxy-1  |     size: 506,
git-proxy-git-proxy-1  |     deflatedSize: 356,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: 'tree cd858df3200e143ace42b09a08b485ffaa094d96\n' +
git-proxy-git-proxy-1  |       'parent ec025202a568a7c357de783de30b8b4d06e1d6c4\n' +
git-proxy-git-proxy-1  |       'author Thomas Cooper <[email protected]> 1755814693 -0400\n' +
git-proxy-git-proxy-1  |       'committer Thomas Cooper <[email protected]> 1755814693 -0400\n' +
git-proxy-git-proxy-1  |       'gpgsig -----BEGIN PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       ' \n' +
git-proxy-git-proxy-1  |       ' iHUEABYKAB0WIQSi50XjQ0ZxgKG2iYlkdm4ErUngrAUCaKebJQAKCRBkdm4ErUng\n' +
git-proxy-git-proxy-1  |       ' rGZaAP9eirZNNjL9Hb9aSUhpFi7Ao/ccbkPwnD377EKVVQ6g7gD9EgmQh0txJ9Vt\n' +
git-proxy-git-proxy-1  |       ' pakNSmK9N1f4P5qjgEvJ30ahq9VueAY=\n' +
git-proxy-git-proxy-1  |       ' =1aj0\n' +
git-proxy-git-proxy-1  |       ' -----END PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       'E2E test commit - 2025-08-21T22:18:13.258Z\n'
git-proxy-git-proxy-1  |   }
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   headerLines: [
git-proxy-git-proxy-1  |     'tree cd858df3200e143ace42b09a08b485ffaa094d96',
git-proxy-git-proxy-1  |     'parent ec025202a568a7c357de783de30b8b4d06e1d6c4',
git-proxy-git-proxy-1  |     'author Thomas Cooper <[email protected]> 1755814693 -0400',
git-proxy-git-proxy-1  |     'committer Thomas Cooper <[email protected]> 1755814693 -0400',
git-proxy-git-proxy-1  |     'gpgsig -----BEGIN PGP SIGNATURE-----',
git-proxy-git-proxy-1  |     ' ',
git-proxy-git-proxy-1  |     ' iHUEABYKAB0WIQSi50XjQ0ZxgKG2iYlkdm4ErUngrAUCaKebJQAKCRBkdm4ErUng',
git-proxy-git-proxy-1  |     ' rGZaAP9eirZNNjL9Hb9aSUhpFi7Ao/ccbkPwnD377EKVVQ6g7gD9EgmQh0txJ9Vt',
git-proxy-git-proxy-1  |     ' pakNSmK9N1f4P5qjgEvJ30ahq9VueAY=',
git-proxy-git-proxy-1  |     ' =1aj0',
git-proxy-git-proxy-1  |     ' -----END PGP SIGNATURE-----'
git-proxy-git-proxy-1  |   ],
git-proxy-git-proxy-1  |   message: 'E2E test commit - 2025-08-21T22:18:13.258Z'
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | Push Request received from user Thomas Cooper with email [email protected]
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   uniqueCommitMessages: [ 'E2E test commit - 2025-08-21T22:18:13.258Z' ]
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | isMessageAllowed(E2E test commit - 2025-08-21T22:18:13.258Z)
git-proxy-git-proxy-1  | { illegalMessages: [] }
git-proxy-git-proxy-1  | { usingIllegalMessages: false }
git-proxy-git-proxy-1  | The following commit messages are legal: E2E test commit - 2025-08-21T22:18:13.258Z
git-proxy-git-proxy-1  | { uniqueAuthorEmails: [ '[email protected]' ] }
git-proxy-git-proxy-1  | { illegalEmails: [] }
git-proxy-git-proxy-1  | { usingIllegalEmails: false }
git-proxy-git-proxy-1  | The following commit author e-mails are legal: [email protected]
git-proxy-git-proxy-1  | No user with email address [email protected] found
git-proxy-git-proxy-1  | User [email protected] permission on Repo http://git-server:8080/coopernetes/test-repo.git : false
git-proxy-git-proxy-1  | User not allowed to Push
git-proxy-git-proxy-1  | checkUserPushPermission - User [email protected] is not allowed to push on repo http://git-server:8080/coopernetes/test-repo.git, ending
git-proxy-git-proxy-1  | checkUserPushPermission - Your push has been blocked ([email protected] is not allowed to push on repo http://git-server:8080/coopernetes/test-repo.git)
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | Your push has been blocked ([email protected] is not allowed to push on repo http://git-server:8080/coopernetes/test-repo.git)
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/health'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Failed to parse proxy url path: /git-server:8080/health
git-proxy-git-proxy-1  | action blocked
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/health'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Failed to parse proxy url path: /git-server:8080/health
git-proxy-git-proxy-1  | action blocked
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/finos/git-proxy.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/finos/git-proxy.git is in the authorisedList
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/finos/git-proxy.git/git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/finos/git-proxy.git for inbound URL path: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/finos/git-proxy.git/git-upload-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/nonexistent/repo.git for inbound URL path: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/nonexistent/repo.git for inbound URL path: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Parse action fallback calculated repo URL: https://github.com/git-server:8080/nonexistent/repo.git for inbound URL path: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  | Repository url 'https://github.com/git-server:8080/nonexistent/repo.git' not found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo https://github.com/git-server:8080/nonexistent/repo.git is not in the authorisedList, ending
git-proxy-git-proxy-1  | setting error
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - Rejecting repo https://github.com/git-server:8080/nonexistent/repo.git not in the authorisedList
git-proxy-git-proxy-1  | Rejecting repo https://github.com/git-server:8080/nonexistent/repo.git not in the authorisedList
git-proxy-git-proxy-1  | Action processed: Blocked
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/nonexistent/repo.git/info/refs?service=git-upload-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  |     Error:       Rejecting repo https://github.com/git-server:8080/nonexistent/repo.git not in the authorisedList
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | processing request URL: '/git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack'
git-proxy-git-proxy-1  | proxy keys registered:  ["/git-server:8080/"]
git-proxy-git-proxy-1  | 	using proxy /git-server:8080/
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Action processed: Allowed
git-proxy-git-proxy-1  |     Request URL: /git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  |     Host:        localhost:8000
git-proxy-git-proxy-1  |     User-Agent:  git/2.40.0
git-proxy-git-proxy-1  | Request resolved to http://git-server:8080/coopernetes/test-repo.git/info/refs?service=git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTPS repo URL: https://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-receive-pack
git-proxy-git-proxy-1  | Parse action trying HTTP repo URL: http://git-server:8080/coopernetes/test-repo.git for inbound URL path: /git-server:8080/coopernetes/test-repo.git/git-receive-pack
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   content: {
git-proxy-git-proxy-1  |     item: 0,
git-proxy-git-proxy-1  |     value: 154,
git-proxy-git-proxy-1  |     type: 1,
git-proxy-git-proxy-1  |     size: 506,
git-proxy-git-proxy-1  |     deflatedSize: 360,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: 'tree eb15fb6a0732acfdb8fbcf95b2fb24b924151e05\n' +
git-proxy-git-proxy-1  |       'parent ec025202a568a7c357de783de30b8b4d06e1d6c4\n' +
git-proxy-git-proxy-1  |       'author Thomas Cooper <[email protected]> 1755814942 -0400\n' +
git-proxy-git-proxy-1  |       'committer Thomas Cooper <[email protected]> 1755814942 -0400\n' +
git-proxy-git-proxy-1  |       'gpgsig -----BEGIN PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       ' \n' +
git-proxy-git-proxy-1  |       ' iHUEABYKAB0WIQSi50XjQ0ZxgKG2iYlkdm4ErUngrAUCaKecHgAKCRBkdm4ErUng\n' +
git-proxy-git-proxy-1  |       ' rJDYAP9TRDGnUvP0Nhjq+hj0Q9d1FK8FQfUyd7tU5MsxTRJoLAEA6GXiz6HmRnbV\n' +
git-proxy-git-proxy-1  |       ' WGSMASBGjGlRr0k0ZzCsD2XPtXTpbAQ=\n' +
git-proxy-git-proxy-1  |       ' =1Mxz\n' +
git-proxy-git-proxy-1  |       ' -----END PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       'E2E test commit - 2025-08-21T22:22:22.056Z\n'
git-proxy-git-proxy-1  |   },
git-proxy-git-proxy-1  |   nextBuffer: <Buffer b1 a9 07 78 9c 33 34 30 30 33 31 51 08 72 75 74 f1 75 d5 cb 4d 61 f0 09 fc ed ff 93 3d 65 b2 4a fe d7 c8 48 37 23 de 6c fe 65 25 86 10 45 a9 46 a9 ba ... 301 more bytes>
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   content: {
git-proxy-git-proxy-1  |     item: 1,
git-proxy-git-proxy-1  |     value: 177,
git-proxy-git-proxy-1  |     type: 3,
git-proxy-git-proxy-1  |     size: 14993,
git-proxy-git-proxy-1  |     deflatedSize: 119,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: '100644 README.md\x00LQ�O�\x07d�$o�YYF2\rk\x0F�t100644 e2e-test-change.txt\x00)d�\x7Fq�h�4�<�M""$���\x1D100644 hello.txt\x00�\x13P4��l�\x19�O}\x06�g\x05�\n' +
git-proxy-git-proxy-1  |       'f'
git-proxy-git-proxy-1  |   },
git-proxy-git-proxy-1  |   nextBuffer: <Buffer bc 09 78 9c 3d 8d 41 0a c2 30 14 44 f7 ff 14 03 d9 9a 1a 03 15 e9 be 17 28 71 e3 2e d8 6f 1b d0 26 24 5f b0 b7 b7 b1 20 3c 98 c5 e3 31 0a 8e 8b 60 e0 ... 179 more bytes>
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   content: {
git-proxy-git-proxy-1  |     item: 2,
git-proxy-git-proxy-1  |     value: 188,
git-proxy-git-proxy-1  |     type: 3,
git-proxy-git-proxy-1  |     size: 156,
git-proxy-git-proxy-1  |     deflatedSize: 131,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: '# Test Repository\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       'This is a test repository for the git proxy, simulating coopernetes/test-repo.\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       '## E2E Test Update\n' +
git-proxy-git-proxy-1  |       'Updated at: 2025-08-21T22:22:22.056Z\n'
git-proxy-git-proxy-1  |   },
git-proxy-git-proxy-1  |   nextBuffer: <Buffer 04 78 9c 73 35 72 55 08 49 2d 2e 51 70 ce 48 cc 4b 4f e5 0a c9 cc 05 f2 12 73 0b ac 14 8c 0c 8c 4c 75 0d 2c 74 8d 0c 43 8c 8c ac c0 48 cf c0 d4 2c 8a ... 46 more bytes>
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   content: {
git-proxy-git-proxy-1  |     item: 3,
git-proxy-git-proxy-1  |     value: 4,
git-proxy-git-proxy-1  |     type: 0,
git-proxy-git-proxy-1  |     size: 4,
git-proxy-git-proxy-1  |     deflatedSize: 76,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: 'E2E Test Change\n' +
git-proxy-git-proxy-1  |       'Timestamp: 2025-08-21T22:22:22.056Z\n' +
git-proxy-git-proxy-1  |       'Test ID: 1755814942057\n'
git-proxy-git-proxy-1  |   },
git-proxy-git-proxy-1  |   nextBuffer: <Buffer 21 93 9e 4f 24 0c 9e 5a 9c ed 72 ae af da d0 5d 7e b0 24>
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   x: {
git-proxy-git-proxy-1  |     item: 0,
git-proxy-git-proxy-1  |     value: 154,
git-proxy-git-proxy-1  |     type: 1,
git-proxy-git-proxy-1  |     size: 506,
git-proxy-git-proxy-1  |     deflatedSize: 360,
git-proxy-git-proxy-1  |     objectRef: null,
git-proxy-git-proxy-1  |     content: 'tree eb15fb6a0732acfdb8fbcf95b2fb24b924151e05\n' +
git-proxy-git-proxy-1  |       'parent ec025202a568a7c357de783de30b8b4d06e1d6c4\n' +
git-proxy-git-proxy-1  |       'author Thomas Cooper <[email protected]> 1755814942 -0400\n' +
git-proxy-git-proxy-1  |       'committer Thomas Cooper <[email protected]> 1755814942 -0400\n' +
git-proxy-git-proxy-1  |       'gpgsig -----BEGIN PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       ' \n' +
git-proxy-git-proxy-1  |       ' iHUEABYKAB0WIQSi50XjQ0ZxgKG2iYlkdm4ErUngrAUCaKecHgAKCRBkdm4ErUng\n' +
git-proxy-git-proxy-1  |       ' rJDYAP9TRDGnUvP0Nhjq+hj0Q9d1FK8FQfUyd7tU5MsxTRJoLAEA6GXiz6HmRnbV\n' +
git-proxy-git-proxy-1  |       ' WGSMASBGjGlRr0k0ZzCsD2XPtXTpbAQ=\n' +
git-proxy-git-proxy-1  |       ' =1Mxz\n' +
git-proxy-git-proxy-1  |       ' -----END PGP SIGNATURE-----\n' +
git-proxy-git-proxy-1  |       '\n' +
git-proxy-git-proxy-1  |       'E2E test commit - 2025-08-21T22:22:22.056Z\n'
git-proxy-git-proxy-1  |   }
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   headerLines: [
git-proxy-git-proxy-1  |     'tree eb15fb6a0732acfdb8fbcf95b2fb24b924151e05',
git-proxy-git-proxy-1  |     'parent ec025202a568a7c357de783de30b8b4d06e1d6c4',
git-proxy-git-proxy-1  |     'author Thomas Cooper <[email protected]> 1755814942 -0400',
git-proxy-git-proxy-1  |     'committer Thomas Cooper <[email protected]> 1755814942 -0400',
git-proxy-git-proxy-1  |     'gpgsig -----BEGIN PGP SIGNATURE-----',
git-proxy-git-proxy-1  |     ' ',
git-proxy-git-proxy-1  |     ' iHUEABYKAB0WIQSi50XjQ0ZxgKG2iYlkdm4ErUngrAUCaKecHgAKCRBkdm4ErUng',
git-proxy-git-proxy-1  |     ' rJDYAP9TRDGnUvP0Nhjq+hj0Q9d1FK8FQfUyd7tU5MsxTRJoLAEA6GXiz6HmRnbV',
git-proxy-git-proxy-1  |     ' WGSMASBGjGlRr0k0ZzCsD2XPtXTpbAQ=',
git-proxy-git-proxy-1  |     ' =1Mxz',
git-proxy-git-proxy-1  |     ' -----END PGP SIGNATURE-----'
git-proxy-git-proxy-1  |   ],
git-proxy-git-proxy-1  |   message: 'E2E test commit - 2025-08-21T22:22:22.056Z'
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | Push Request received from user Thomas Cooper with email [email protected]
git-proxy-git-proxy-1  | found
git-proxy-git-proxy-1  | checkRepoInAuthorisedList - repo http://git-server:8080/coopernetes/test-repo.git is in the authorisedList
git-proxy-git-proxy-1  | {
git-proxy-git-proxy-1  |   uniqueCommitMessages: [ 'E2E test commit - 2025-08-21T22:22:22.056Z' ]
git-proxy-git-proxy-1  | }
git-proxy-git-proxy-1  | isMessageAllowed(E2E test commit - 2025-08-21T22:22:22.056Z)
git-proxy-git-proxy-1  | { illegalMessages: [] }
git-proxy-git-proxy-1  | { usingIllegalMessages: false }
git-proxy-git-proxy-1  | The following commit messages are legal: E2E test commit - 2025-08-21T22:22:22.056Z
git-proxy-git-proxy-1  | { uniqueAuthorEmails: [ '[email protected]' ] }
git-proxy-git-proxy-1  | { illegalEmails: [] }
git-proxy-git-proxy-1  | { usingIllegalEmails: false }
git-proxy-git-proxy-1  | The following commit author e-mails are legal: [email protected]
git-proxy-git-proxy-1  | User [email protected] permission on Repo http://git-server:8080/coopernetes/test-repo.git : false
git-proxy-git-proxy-1  | User not allowed to Push
git-proxy-git-proxy-1  | checkUserPushPermission - User [email protected] is not allowed to push on repo http://git-server:8080/coopernetes/test-repo.git, ending
git-proxy-git-proxy-1  | checkUserPushPermission - Your push has been blocked ([email protected] is not allowed to push on repo http://git-server:8080/coopernetes/test-repo.git)
git-proxy-git-proxy-1  | No user with email address [email protected] found
git-proxy-git-proxy-1  | action processed
git-proxy-git-proxy-1  | Your push has been blocked ([email protected] is not allowed to push on repo http://git-server:8080/coopernetes/test-repo.git)

@netlify
Copy link

netlify bot commented Aug 21, 2025

Deploy Preview for endearing-brigadeiros-63f9d0 canceled.

Name Link
🔨 Latest commit 24b91e4
🔍 Latest deploy log https://app.netlify.com/projects/endearing-brigadeiros-63f9d0/deploys/690103b2e0c8f20008d9e060

@coopernetes coopernetes force-pushed the e2e-testing branch 2 times, most recently from d351d4b to b5ed561 Compare August 21, 2025 23:27
@coopernetes coopernetes marked this pull request as draft August 22, 2025 16:04
@coopernetes coopernetes force-pushed the e2e-testing branch 2 times, most recently from 7765858 to f3f02db Compare August 26, 2025 14:59
@codecov
Copy link

codecov bot commented Aug 26, 2025

Codecov Report

❌ Patch coverage is 76.27119% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.51%. Comparing base (981d7b8) to head (24b91e4).

Files with missing lines Patch % Lines
src/service/index.ts 44.44% 10 Missing ⚠️
src/proxy/processors/pre-processor/parseAction.ts 70.00% 1 Missing and 2 partials ⚠️
src/service/routes/repo.ts 66.66% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (76.27%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1165      +/-   ##
==========================================
- Coverage   82.69%   82.51%   -0.18%     
==========================================
  Files          70       69       -1     
  Lines        3005     3043      +38     
  Branches      499      509      +10     
==========================================
+ Hits         2485     2511      +26     
- Misses        417      428      +11     
- Partials      103      104       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@dcoric dcoric left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent work! This is a comprehensive and well-architected E2E testing implementation.

I really appreciate the complete testing infrastructure with Docker and CI/CD - this addresses a common pain point I've experienced where tests would fail due to incorrect Node.js versions on different machines. Having everything containerized with consistent environments is a huge improvement for reliability.

The only area I'd suggest improving is the async configuration loading in src/ui/services/*.js, which currently has race conditions. This could potentially create behavioral issues if API calls are made before the runtime configuration is fully loaded, leading to requests being sent to incorrect endpoints.

Overall, this is solid work that will significantly improve our testing capabilities! 🎉

coopernetes and others added 8 commits October 28, 2025 11:42
- Remove verbose logging from Dockerfile
- pin dependent actions in new e2e workflow to their respective commits
- refactor the tests to work slightly more robustly (handle creds, etc)
- Removed the obsolete 'version: 3.7' field from docker-compose.yml
- This fixes the warning about the version field being obsolete in newer Docker Compose versions
- The e2e tests now run without warnings
- Fix OIDC configuration syntax errors
- Update Cypress baseUrl to use correct port (8080)
- Fix CI workflow to use correct port and remove & from start command
- Ensure frontend is built before running tests
- CSRF protection already properly disabled in test environment

Cypress tests now pass:
- autoApproved.cy.js: 1/1 passing
- login.cy.js: 8/8 passing
- repo.cy.js: failing due to rate limiting (separate issue)

This resolves the main issues mentioned in the failing job:
- CSRF Token Missing Errors: Fixed by proper test environment config
- Shell Script Syntax Error: Fixed by removing & from start command
- Unknown Authentication Strategy: Fixed OIDC syntax errors
- Route Not Hit: Fixed by building frontend and using correct port
- Fix CSRF protection by setting NODE_ENV=test in CI
- Fix OIDC strategy by checking enabled flag before configuration
- Fix port configuration by using correct server port (8080)
- Add start:ci script to run server only (not dev client)
- Set CYPRESS_BASE_URL environment variable for consistency

This should resolve:
- CSRF token missing errors in CI
- Unknown authentication strategy errors
- Port mismatch issues (3000 vs 8080)
- Shell script syntax errors with & character
@coopernetes
Copy link
Contributor Author

coopernetes commented Oct 28, 2025

@dcoric Can I get your 👀 on the API base URL handling? This should fix a number of unrelated issues regarding production deployments and it's a bit more robust now. Had to add a bit more logic for handling CORS properly as well. Thanks!

cc @jescalada @kriswest (sorry for the delays on this one)

Informing the rest of the maintainer team. There are "production deployment" related changes in this PR around CORS and base URL handling on the frontend required to make this testing setup work so hopefully we can merge that smoothly and add it to 2.x.

Copy link
Contributor Author

@coopernetes coopernetes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some changes of note that I would appreciate a set of 👀 on. Thanks!

Comment on lines +9 to +12
push:
branches: [main]
issue_comment:
types: [created]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kriswest we can do this in a follow-up PR but it may be worth adding workflow_dispatch and allowing this test suite to be executed as part of a pre-release step in the future.

Suggested change
push:
branches: [main]
issue_comment:
types: [created]
push:
branches: [main]
issue_comment:
types: [created]
workflow_dispatch:

Comment on lines +16 to +32
runs-on: ubuntu-latest
# Run on push/PR or when a maintainer comments "/test e2e" or "/run e2e"
if: |
github.event_name != 'issue_comment' || (
github.event.issue.pull_request &&
(contains(github.event.comment.body, '/test e2e') || contains(github.event.comment.body, '/run e2e')) &&
(github.event.comment.author_association == 'OWNER' ||
github.event.comment.author_association == 'MEMBER' ||
github.event.comment.author_association == 'COLLABORATOR')
)
steps:
- name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
with:
# When triggered by comment, checkout the PR branch
ref: ${{ github.event_name == 'issue_comment' && format('refs/pull/{0}/head', github.event.issue.number) || github.ref }}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step makes me a bit nervous. It's not a great security practice to run Actions on a forked PR but it would be valuable to run these tests on specific PRs that may be adding breaking changes to validate full end-to-end app functionality. I'm not sure if there's a better way than this to run this workflow and would like the team's thoughts.

"rateLimit": {
"windowMs": 60000,
"limit": 150
"limit": 1000
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was added to address flakiness in the Cypress tests. It might have been just a problem with my local machine so happy to revert it if necessary.

credentials: true,
origin: true,
/**
* CORS Configuration
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This probably belongs in the proper documentation site. Also a TODO - add a section for production deployments which take these new changes into account and properly document it for deployers.

// legacy git proxy paths took the form: https://<git proxy domain>:<port>/<repoPath>
// by assuming the host was github.com
url = 'https://github.com' + (pathBreakdown?.repoPath ?? 'NOT-FOUND');
// First, try to find a matching repository by checking both http:// and https:// protocols
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just calling this out - are we OK with supporting non-TLS git repositories? This is required for testing for now but I can fanagle a setup that uses a self-signed TLS certificate for the local git server if necessary and preferred.

#!/usr/bin/env python3
"""
CGI wrapper for git-http-backend that captures raw HTTP request/response data.
This wrapper intercepts git operations and saves the binary data to files for testing.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kriswest can be used to supplement any future low-level git processing changes or enhancements that require real HTTP packet data. Related: c31503b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants