Мы используем кипарисовые тесты для всех наших соответствующих КИ; это не то, что я могу изменить. Я работаю над интеграционным тестом для сервиса, который не общается ни с каким интерфейсом. Он доставляет результат (по существу) в виде документа S3, отправляя ведро и ключ. Связанный документ сжато (в формате кадра) CBOR-данных. Мне нужно распаковать его, декодировать (это легко), а затем сделать утверждения для данных.
Распаковка это не супер сложно в целом; Есть библиотеки на большинстве основных языков, включая JavaScript. Однако я не могу найти библиотеку javascript на npm, которая может с этим справиться, из-за следующих проблем:
- Данные мгновенно сжаты в формате кадра ; библиотеки, которые я нашел здесь [https://www.npmjs.com/search?q=snappy], либо не поддерживают формат в рамке, либо делают это только для потоков, что приводит к ...
- Все способы взаимодействия с Streams, которые я обнаружил (и я надеюсь на ошибку пользователя), требуют взаимодействия с файловой системой. Тем не менее, даже импорт
fs
в тесте кипариса, похоже, затрудняет работу, поскольку он выполняется в (безголовом) браузере вместо сценария на стороне сервера.
Я приветствую любые советы, которые могут быть. Я не являюсь носителем javascript и надеюсь, что мне не хватает чего-то очевидного.
Обратите внимание, что я не слишком озабочен производительностью; в то время как интересующий сервис обрабатывает большие объемы данных, тестовые устройства являются небольшими (не более нескольких килобайт), и даже очень медленный декомпрессор здесь не будет проблемой.