PATH is not resolving correctly
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- backend
Línea de trabajo
Reproduzca el issue #285 utilizando la regla y los payloads proporcionados; después, revise la discusión enlazada de Mojaloop para conocer el contexto sobre el comportamiento de JSON-PATH. El arreglo estará terminado cuando un body de tipo string no cumpla la condición $.amount, mientras que un body de tipo objeto que contenga amount: '123' sí la cumpla, y se haya añadido cobertura de regresión en el test apropiado del proyecto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have seen some strange happenings with regard to how the JSON-PATH is resolving in the rules with "json-rules-engine": "6.1.2".
If you consider the following rule:
{
"ruleId": 1,
"description": "Returns an NDC exceeded error response (ML error 4001) from the simulator when transfer value is 123 in any currency",
"conditions": {
"all": [
{
"fact": "path",
"operator": "equal",
"value": "/transfers"
},
{
"fact": "method",
"operator": "equal",
"value": "POST"
},
{
"fact": "body",
"operator": "equal",
"value": "123",
"path": "$.amount"
}
]
},
"event": {
"type": "simulateError",
"params": {
"statusCode": 500,
"body": {
"statusCode": "4001",
"message": "Payer FSP insufficient liquidity"
}
}
}
}
With the following payload:
{
path: '/transfers',
body: '123', // <-- Non-matching PATH
method: 'POST',
}
The rule will still resolve and fire off the event which I believe is incorrect.
My expectation is that it should only resolve when the payload is as follows:
{
path: '/transfers',
body: { // <-- correct body
amount: '123', // <-- Matching PATH
},
method: 'POST',
}
Link for reference: https://github.com/mojaloop/mojaloop-simulator/pull/120/files#r747311386
- Lenguaje dominante
- JavaScript
- Estrellas
- 3.1k
- Forks
- 507
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 CacheControl/json-rules-engine
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
CacheControl/json-rules-engine#427 · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
CacheControl/json-rules-engine#424 · 1 comentario ·
-
How to handle array of objects? Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
CacheControl/json-rules-engine#421 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
CacheControl/json-rules-engine#417 · 1 reacción ·
Todos los issues de CacheControl/json-rules-engine
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Theme loads third-party resources on every page (jsdelivr web font, cdnjs Font Awesome) – GDPR Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
docToolchain/docToolchain#1705 ·
-
Timezone select lists one option per character; duplicate "Failed" reason; shared tracker popover id Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
nightscout/nocturne#1414 ·
-
bug v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/inspector#2458 · 1 comentario ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
carbon-design-system/ibm-products#9907 ·