Журнал конвейера Gitlab: двойные кавычки вокруг литералов JSON заменяются одинарными кавычками - PullRequest
0 голосов
/ 18 июня 2019

Мне поручено написать несколько тестов, чтобы убедиться, что определенные строки журнала появляются в конечном содержимом журнала.Существует такое регулярное выражение:

PreAuthClientResponse\(responseRawData=\{"result":".+"\}, advice=.+, scoring=.+\)

И оно работает в локальных средах.

Когда я нажимаю на Gitlab, конвейер запускается и дает сбой.Я добавляю --info после gradlew test в .gitlab-ci.yml, чтобы быть более многословным, и вижу это:

{  'host': 'runner-8cedea08-project-721-concurrent-0',  'message': 'Client response: PreAuthClientResponse(responseRawData={'result':'No Fraud'}, advice=No Fraud, scoring=null), merchant reference: ABC123456, transaction id: ada9401e-4098-4509-81cd-11993bdf7557 ',  'timestamp': '2019-06-18T13:44:56.002Z',  'service': 'xxxxx',  'env': 'ci',  'severity': 'INFO',  'trace': '',  'span': '',  'thread': 'Test worker',  'class': 'c.v.f.preauth.service.PreAuthService' }

Обратите внимание, что 'result':'No Fraud' заключено в кавычки single , итолько в конвейере, потому что локальные тесты проходят с регулярным выражением двойных кавычек.

Я изменю регулярное выражение на менее специфичное, чтобы пропустить эту ошибку.Но gitlab CI имеет разные форматы относительно литералов JSON?Я думал, что одинарные кавычки в литералах в JSON недопустимы.

...