1
0
mirror of https://github.com/quay/quay.git synced 2026-01-26 06:21:37 +03:00
Commit Graph

19 Commits

Author SHA1 Message Date
jbpratt
0638c19183 test(web): migrate more tests to playwright (#4767)
* test(web): migrate repository-autopruning to Playwright

Consolidate 17 Cypress tests into 6 Playwright tests:
- policy lifecycle (create, update, delete)
- policy with tag pattern filter
- multiple policies lifecycle
- namespace policy display in repository settings
- registry policy display
- error handling (load failure)

Uses @feature:AUTO_PRUNE tag for automatic test skipping.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* test: enable features by default

Signed-off-by: Brady Pratt <bpratt@redhat.com>

* test(web): migrate create-account.cy.ts to Playwright

Migrates the Create Account Cypress tests to Playwright following
the MIGRATION.md guide:

- Consolidates 10 Cypress tests into 6 focused Playwright tests
- Uses real API calls instead of mocks
- Adds data-testid attributes to CreateAccount component
- Uses @feature:MAILING and @feature:QUOTA_MANAGEMENT tags
  to skip tests when features are not enabled
- Creates custom fixtures for unauthenticated page access
- Implements proper user cleanup after tests

Tests:
- form validation prevents invalid submissions
- creates account with valid inputs and redirects
- shows error for existing username
- navigates to signin page via link
- shows verification message (requires MAILING)
- redirects to updateuser (requires QUOTA_MANAGEMENT)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>

* chore(dev) add Mailpit for local email testing

Add Mailpit email testing server to the local development environment
to enable testing of FEATURE_MAILING functionality with Playwright.

Changes:
- Add mailpit service to docker-compose.yaml (ports 8025/1025)
- Enable FEATURE_MAILING and configure SMTP settings in config.yaml
- Add mailpit utilities to Playwright fixtures (getEmails, clearInbox,
  waitForEmail, getEmailBody, isAvailable)

Usage:
  podman-compose up mailpit -d
  # Access Web UI at http://localhost:8025

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test(web) use mailpit helpers for email confirmation support

Test updates:
- "creates account and redirects to organization" now confirms email
- "redirects to updateuser when user has prompts" now confirms email
- Tests detect FEATURE_MAILING at runtime and adapt accordingly
- Email search uses recipient address for parallel test safety

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>

* test(web): use mailpit for email notification test

Replace mocked email authorization with real Mailpit verification
in the notifications.spec.ts test.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>

* test(web): mock user response in cypress test

this broke when mailing was enabled

Signed-off-by: Brady Pratt <bpratt@redhat.com>

---------

Signed-off-by: Brady Pratt <bpratt@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-05 09:47:29 -08:00
jbpratt
32fa8f31dc chore: add repomirror to local dev (#4600)
Signed-off-by: Brady Pratt <bpratt@redhat.com>
2025-11-24 13:42:35 +00:00
jbpratt
1456811891 chore: add ldap dev config (#4497)
add an ldap container that creates users and the quay config to utilize it

Signed-off-by: Brady Pratt <bpratt@redhat.com>
2025-11-11 22:41:24 +00:00
Harish Govindarajulu
f63d25bdd3 nginx: Add nginx routing logic to default to react UI for downstream (PROJQUAY-9207) (#4252)
* Add ngnix routing logic to default to react UI for downstream

* Remove defaulting from env, update Makefile to build react by default for local

* Add cypress test for signin and create account workflow

* Add missing routes + fallback to backend server

* Hide UI toggle when defaulting to new UI

* Adds forgot password + recovery email, recaptcha, missing login checks

* Add external login screen + support for other login types for new UI

* Add new screen for update user after external login

* Add authorized apps section under external logins tab

* Implement updateuser react component + fix cypress test

* Fix external login OAuth flow for react

* switch logic to default to new ui

* Add DEFAULT_UI: angular to config for cypress CI

* Fix cypress tests for oauth-callback

* Rebase and fix merge conflicts

---------

Signed-off-by: harishsurf <hgovinda@redhat.com>
2025-10-14 15:10:39 -04:00
Ross Bryan
b23a228225 chore: update local development clair to 4.7.2 (#2692)
Signed-off-by: Ross Bryan <robryan@redhat.com>
2024-02-26 09:28:39 -05:00
Syed Ahmed
2db3b186f9 ui: add support for exposing quay UI as a dynamic plugin (PROJQUAY-3203) (#1799)
* ui: add support for exposing quay UI as a dynamic plugin (PROJQUAY-3203)

* Introduces a new SSO JWT based auth for client side Oauth
* Adds a new entrypoint component for the UI without topnav and sidenav for plugin
* Adds webpack config to build dynamic plugin
2023-04-20 19:05:07 -04:00
Oleg Bulatov
0ef6c67a9e chore: Fixes for local-dev-up-with-clair (#1819)
* chore: make local-dev-up should restart quay container

make local-dev-up deletes generated files that are needed by Quay. To
generate them again, the container should be restarted.

As docker-compose up doesn't have an option to restart the container, we
use docker-compose stop.

* chore: pass DOCKER_USER to docker-compose up clair

clair container depends on quay, so `docker-compose up clair` should
have correct environment variables for quay.

* chore: increase max_connections for clair-db

clair indexer can use up to 100 connections in our configuration, i.e.
all available postgres connections. In this case other workers are not
able to connect to postgres and cannot do their job.
2023-04-11 14:42:25 +02:00
Dave O'Connor
d3cc640fef dev: Update Clair for dev (PROJQUAY-4461) (#1528) 2022-09-14 15:52:08 +02:00
Oleg Bulatov
d20169e3e2 Allow to override docker and docker-compose location (#1388) 2022-06-20 12:06:27 +02:00
Flavian Missi
f0f31e0b7a Dockerfile: use nodejs ubi8 image to build frontends (#1355)
Note that we're using ubi8/node-10, which is deprecated - but this is
the version previously installed (before the nodejs package disappeared
on us).
2022-06-02 16:53:19 -04:00
Dave O'Connor
5d5b2b5514 Add support for QUAY_VERSION env variable (#1298)
Signed-off-by: Dave O'Connor <doconnor@redhat.com>
2022-05-02 11:32:32 -04:00
Oleg Bulatov
ba652e0b98 Use named volumes for postgres containers (#1187) 2022-03-16 16:27:08 +01:00
Oleg Bulatov
4da319665f Use QUAYRUN that is writable by non-root users (#1186) 2022-03-16 15:57:36 +01:00
Oleg Bulatov
a13f4cf624 Use final image for development (#1060) 2022-03-16 14:15:42 +01:00
Oleg Bulatov
7511f800ee Use /var/run for sockets and non-root users for local development (#1074) 2022-01-28 12:25:10 +01:00
Dave O'Connor
e94e14e8f0 Resolves issues with booting quay container (#953) 2021-10-28 15:27:21 -04:00
Flavian Missi
0f7fdb7e84 chore(Dockerfile): add local-dev-env build stage (PROJQUAY-2501) (#883)
When specified, the new build target (aka stage) builds quay the way
local-dev/Dockerfile used to, using local-dev/config.yml as
configuration, and starting up only the necessary tools for development.
See docker-compose.yml services:quay:build:target for how it's used.

Production builds should not be affected since the new target is not
referenced from anywhere but the docker-compose.yml.
2021-09-17 13:18:11 +02:00
Syed Mushtaq Ahmed
eea5cfcb2b local-dev: Increase timeout for gunicorn tasks to come up (PROJQUAY-2114) (#808)
Increase the gunicorn timeout to 600s for local dev setups with
lower resources. Default timeout is 30s which is too short
2021-06-10 16:35:21 -04:00
Louis DeLosSantos
113ccebbbf local-dev: implement local development environment (#610)
* local-dev: implement local development environment

this commit copies the files in /init into /local-dev, edits those files
to support hot-reload features for local development, and introduces
docker-compose/makefile targets in order to support local dev.

Signed-off-by: ldelossa <ldelossa@redhat.com>

* local-dev: hop quay workers to gunicorn

this commit adds a uwsgi worker application delegate and a factory
function allowing each worker to be ran by gunicorn.

each worker now supports hot-reload and will reload itself when it's
code is updated.

this changes only affects the local dev env.

Signed-off-by: ldelossa <ldelossa@redhat.com>

* local-dev: add docs

Signed-off-by: ldelossa <ldelossa@redhat.com>
2020-12-15 12:37:21 -05:00