Casework: description validation accepts two request entities sharing one requestRoute
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
Línea de trabajo
El issue está en crates/registry-casework-breg/src/config.rs, específicamente en la función validate_description. Comience examinando la prueba existente duplicate-entity para comprender el patrón de validación. Modifique la función para rastrear requestRoute además de requestEntity, y agregue una nueva prueba unitaria para rutas duplicadas. Ejecute las pruebas existentes para asegurarse de que la corrección funcione.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
validate_description in crates/registry-casework-breg/src/config.rs refuses a v1alpha2 source description that lists the same requestEntity twice, but it never compares requestRoute across entries. A description that gives two different request entities the same route therefore passes caseworkctl check, caseworkctl package, and runtime input validation (validate_description_input).
BregAdapter::new requires routes to be unique, so the same project is refused only when the runtime constructs the source adapter. An offline-approved package is undeployable.
caseworkctl source add does not produce this shape, since it copies each route from bregctl explain change-requests. It is reachable through a hand-edited or otherwise supplied description.
Expected
The description decoder refuses a repeated requestRoute in the same place it refuses a repeated requestEntity, so the offline checks and adapter construction agree.
Fix sketch
- Track the routes seen while building
by_entityinvalidate_description, and returnSourceAdapterError::Invalidon a repeat. - Add a unit test beside the existing duplicate-entity description test: two entries with distinct entities and one shared route are refused.
Found in review of #1355, after the related policy-level entity uniqueness check landed there.
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Merge medio
- 4 h 26 min
- PR fusionados (30 d)
- 152
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de registrystack/registry-stack
-
bug github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
registrystack/registry-stack#1393 ·
-
area:breg enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
registrystack/registry-stack#1380 ·
-
area:breg enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
registrystack/registry-stack#1379 ·
-
area:casework documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
registrystack/registry-stack#1369 ·
-
area:casework bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
registrystack/registry-stack#1368 ·
Todos los issues de registrystack/registry-stack
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
bug core
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Abiertofuzz
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ClickHouse/ClickHouse#122114 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
linebender/vello_svg#90 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100