PATH is not resolving correctly
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
- Bereich
- backend
Rechercherichtung
Reproduzieren Sie Issue #285 mit der bereitgestellten Regel und den Payloads und sehen Sie anschließend die verlinkte Mojaloop-Diskussion durch, um den Kontext zum JSON-PATH-Verhalten zu verstehen. Der Fix ist abgeschlossen, wenn ein String-Body die Bedingung $.amount nicht erfüllt, während ein Objekt-Body, der amount: '123' enthält, dies tut, und im entsprechenden Projekttest eine Regressionstestabdeckung hinzugefügt wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- JavaScript
- Sterne
- 3.1k
- Forks
- 507
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CacheControl/json-rules-engine
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
CacheControl/json-rules-engine#427 · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
CacheControl/json-rules-engine#424 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
CacheControl/json-rules-engine#421 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
CacheControl/json-rules-engine#417 · 1 Reaktion ·
Alle Issues in CacheControl/json-rules-engine
Ähnliche Issues
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
apache/cloudstack#14222 ·
-
Browser Waiting for: Product Owner
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
getsentry/sentry-javascript#24577 · 1 Kommentar ·
-
curation good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
amponce/archive-movie-browser#186 ·
-
light
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
aemdemos/patients-stryker#253 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
clerk/javascript#9852 ·