s3verify выполняет серию вызовов API к серверу хранилища объектов и проверяет ответы на совместимость с подписью AWS S3 версии 4. s3verify распространяется под лицензией Apache V2.0.

Почему мы создали s3verify

Простой сервис хранения Amazon Web Service (AWS) (S3) стал облачным хранилищем для перехода на новый уровень, поэтому у любого нового конкурирующего сервиса есть сильный стимул соответствовать их API.

Версия 4 API AWS S3 созрела и стала довольно обширной. Теперь AWS поддерживает более 20 различных API и бесчисленное множество вариантов этих API. Это уже не просто запросы get/put.

Без такого инструмента, как s3verify, выпуск частых высококачественных релизов практически невозможен. Добавление новых функций и запросы на вытягивание могут легко вызвать регрессию и нарушить существующую совместимость.

Зависимость от других SDK или библиотек может маскировать ошибки. Вместо этого s3verify создает свои собственные HTTP-запросы и отправляет их на указанный пользователем сервер.

Основная цель s3verify — проверить правильность реализации. Для каждого возможного действительного ввода должен быть возвращен правильный ответ. Он также тестирует с недопустимыми входными данными и ожидает отказов в ответ. Возможных неверных входных данных слишком много; однако текущие недопустимые входные данные - хорошее начало.

Кто может использовать s3verify

s3verify предназначен для использования как разработчиками приложений, так и поставщиками объектных хранилищ. Приложения, зависящие от AWS S3 API, могут использовать s3verify для устранения ошибок, вызванных несовместимыми изменениями поставщика облачного хранилища. Поставщикам объектных хранилищ настоятельно рекомендуется интегрировать s3verify в свои CI, чтобы предотвратить проникновение несовместимых изменений. s3verify спроектирован так, чтобы его можно было легко интегрировать как часть сборок CI.

Установите s3verify

Предполагая, что у вас есть работающая среда Go, скопируйте/вставьте следующую команду в свой терминал. Если у вас еще нет среды Go, следуйте инструкциям здесь: Установить Go.

$ go get -u https://github.com/minio/s3verify

Вывод

s3verify должен быть полным и надежным. Пожалуйста, не стесняйтесь разветвлять наш проект и вносить любые новые тесты или функции. Мы хотели бы увидеть ваш запрос на извлечение.

Внесите свой вклад в s3verify по адресу: https://github.com/minio/s3verify

По любым вопросам и приятным комментариям присоединяйтесь к нашему чату Gitter по адресу: https://gitter.im/minio/minio