Size: a a a

2020 November 11

S🕶

Sander 🕶 in AWS_RU
Агент Печенька
Пиши код, он вызовет настояшую динаму и ты увидишь работает оно или нет.
как он вызовит настоящую dynamodb? на локальном компьютере
источник

АП

Агент Печенька... in AWS_RU
Возьмет и вызовет, динама это набор HTTP API.
источник

A

Alex in AWS_RU
Sander 🕶
как он вызовит настоящую dynamodb? на локальном компьютере
через endpoint
источник

S🕶

Sander 🕶 in AWS_RU
Агент Печенька
Возьмет и вызовет, динама это набор HTTP API.
ах да тоооочно, я же читал это просто api
источник

S🕶

Sander 🕶 in AWS_RU
ребята вы супер
источник

A

Alex in AWS_RU
jetbrains до сих пор не умеет в remote development, стыд
источник

АП

Агент Печенька... in AWS_RU
dynamodb = boto3.resource("dynamodb")
print(dynamodb.get_item(table_name), Key=blabla)

Код идентичен в облаке и локально. Для других языков то же самое.
источник

S🕶

Sander 🕶 in AWS_RU
вы столько понаписали мне - вот как вы разрабаытаете lambda?
я просто разрабатываю на unit текстах, а как делать интеграционные тесты я не знаю,
если я буду использовать удаленную базу dynamodb - то мне надо чтоб при каждом тесте он drop-ал базу.
источник

АП

Агент Печенька... in AWS_RU
Юнит тесты не ходят в бд.
источник

S🕶

Sander 🕶 in AWS_RU
да это понятно что не входят, я поэтому и написал еще про интеграционные тесты,
в этом и вопрос как правильно писать интеграционные тесты?
можно ли как-то при каждом тесте дропать базу, чтоб все тесты были независимые от друг друга,
как в test containers.
источник

АП

Агент Печенька... in AWS_RU
Писать точно так же как и обычно.
источник

S🕶

Sander 🕶 in AWS_RU
нет такого софта - чтоб так писать, тогда мне придется локально поднимать контейнера и использовать test containers,
а он только на java, а пишу я на typescript.
источник

S🕶

Sander 🕶 in AWS_RU
https://www.testcontainers.org/ - да и тут нет dynamodb
источник

АП

Агент Печенька... in AWS_RU
Есть локалстак но это путь в никуда.
источник

АП

Агент Печенька... in AWS_RU
Заводите в облаке тест стейдж и там тестите.
источник

S🕶

Sander 🕶 in AWS_RU
Агент Печенька
Заводите в облаке тест стейдж и там тестите.
окей - допустим тесты гоняются, добавляют тестовые данные в базу, база растет и тесты могут начать падать,
потому что например сервис проверяет на наличие дублей данных в базе, а потом сохраняет информацию, тестик не пройдет... после 2-второго раза.
источник

S🕶

Sander 🕶 in AWS_RU
можно ли базу дропать при каждом тестике или хотя бы в конце всех тестов
источник

AZ

Alexander Zakharov in AWS_RU
Sander 🕶
можно ли базу дропать при каждом тестике или хотя бы в конце всех тестов
А контейнеры для чего? Для целей таких тестов поднимается база в контейнере. На ней ранят тесты, можно транкейтить таблицы при этом без проблем и накатывать дефолтные данные. А после тестов дропнуть контейнер с базой.
источник

S🕶

Sander 🕶 in AWS_RU
Alexander Zakharov
А контейнеры для чего? Для целей таких тестов поднимается база в контейнере. На ней ранят тесты, можно транкейтить таблицы при этом без проблем и накатывать дефолтные данные. А после тестов дропнуть контейнер с базой.
предложение было использовать базу на aws сервере, вместо того чтоб понимать контейнер, можно ли поднять контейнер на dynamodb?
источник

АП

Агент Печенька... in AWS_RU
Sander 🕶
окей - допустим тесты гоняются, добавляют тестовые данные в базу, база растет и тесты могут начать падать,
потому что например сервис проверяет на наличие дублей данных в базе, а потом сохраняет информацию, тестик не пройдет... после 2-второго раза.
Почему прохождение тестов зависит от размера бд? Этого явно быть не должно.
Одноразовый тест кейс? А как его два раза запустить?
Мы просто каждые N жней дропаем стеки тестового окружения и деплоим заново. Заодно доказывает что наша инфраструктура как код действительно может быть развернута с нуля.
источник