Size: a a a

2019 September 11

MK

Mem Kekovich in atinfo chat
Wazzkabar
ребят, подскажите как (или что почитать) на python проверить, что при отправке request в query string parameters были именно те поля перечень которых я заранее обозначу и если есть лишние, то вывод сообщения об ошибке.
print?
источник

MK

Mem Kekovich in atinfo chat
источник

ИС

Игорь Середа in atinfo chat
Wazzkabar
ребят, подскажите как (или что почитать) на python проверить, что при отправке request в query string parameters были именно те поля перечень которых я заранее обозначу и если есть лишние, то вывод сообщения об ошибке.
Использовать валидатор.
источник

W

Wazzkabar in atinfo chat
шути дальше чё.

Вопрос был о том, как в целом писать такие запросы к api
источник

MK

Mem Kekovich in atinfo chat
Wazzkabar
шути дальше чё.

Вопрос был о том, как в целом писать такие запросы к api
Зачем валидировать в запросе то, что ты сам же отправляешь
источник

W

Wazzkabar in atinfo chat
Mem Kekovich
Зачем валидировать в запросе то, что ты сам же отправляешь
забыл уточнить, там при нажатии на кнопку нужно реквест проверять
источник

ИС

Игорь Середа in atinfo chat
Wazzkabar
шути дальше чё.

Вопрос был о том, как в целом писать такие запросы к api
1. Получил набор параметров.
2. Провалидировал, что среди них есть все необходимые поля, и что все присутствующие поля соответствуют настройкам валидатора.
3. В настройках сериализатора обозначил только те поля, которые должны быть в результирующем запросе, и собрал результирующий объект с параметрами.
4. Сравнил с тем, с чем нужно.
источник

М

Макс in atinfo chat
Привет, подскажите, есть ли возможность запускать тесты с фейковой датой?

Во многих тестах меняется дата и хотелось бы для каждого теста устанавливать свою дату:
Т.е запустился набор тестов, те тесты для которых необходима определенная дата  - ее выставили. При этом необходимо что бы дата на самом ПК не менялась, т.к. после смены даты, через какое-то время отваливается сеть.

Нашел статью http://nerdsdiscoveries.com/fake-php-time-on-your-ubuntu-server/

Но как-то не получается изменить дату во время выполнения тестов (

В тесте прописываю:
       shell_exec("export FAKETIME='@2012-12-21 10:10:10'");
       printf( "The current time of the server is: %s\n", date('l F j. Y [H:i:s]') );

но дата не меняется ((

Может кто сталкивался?
источник

ИС

Игорь Середа in atinfo chat
Макс
Привет, подскажите, есть ли возможность запускать тесты с фейковой датой?

Во многих тестах меняется дата и хотелось бы для каждого теста устанавливать свою дату:
Т.е запустился набор тестов, те тесты для которых необходима определенная дата  - ее выставили. При этом необходимо что бы дата на самом ПК не менялась, т.к. после смены даты, через какое-то время отваливается сеть.

Нашел статью http://nerdsdiscoveries.com/fake-php-time-on-your-ubuntu-server/

Но как-то не получается изменить дату во время выполнения тестов (

В тесте прописываю:
       shell_exec("export FAKETIME='@2012-12-21 10:10:10'");
       printf( "The current time of the server is: %s\n", date('l F j. Y [H:i:s]') );

но дата не меняется ((

Может кто сталкивался?
Посмотрел статью. Даже если эта либа работает и реагирует на переменную окружения FAKETIME, то тебе нужно определить её до вызова твоего приложения (теста).
источник

М

Макс in atinfo chat
Игорь Середа
Посмотрел статью. Даже если эта либа работает и реагирует на переменную окружения FAKETIME, то тебе нужно определить её до вызова твоего приложения (теста).
Да, это у меня получилось, но проблема в том, что сам тест меняем дату, на Хабре есть аналогичная статья, так сказано, что для изменения даты внутри теста, нужно поменять глобальную переменную.
Вот с этим как раз и не получается... Не меняется фейковая дата из теста для теста
источник

М

Макс in atinfo chat
источник

ИС

Игорь Середа in atinfo chat
Макс
Да, это у меня получилось, но проблема в том, что сам тест меняем дату, на Хабре есть аналогичная статья, так сказано, что для изменения даты внутри теста, нужно поменять глобальную переменную.
Вот с этим как раз и не получается... Не меняется фейковая дата из теста для теста
Какой командой ты запускаешь тесты?
источник

М

Макс in atinfo chat
vendor/bin/codecept run
источник

ИС

Игорь Середа in atinfo chat
Тебе нужно запускать командой:
FAKETIME="@2012-12-21 10:10:10" codecept run
источник

ИС

Игорь Середа in atinfo chat
Только это повлияет, разумеется, на все тесты.
источник

М

Макс in atinfo chat
Да, не дописал, так и запускаю... Дата поменяется. Это норм если запускать тесты по отдельности, а не все сразу. Другому тесту нужна будет другая дата...
источник

ИС

Игорь Середа in atinfo chat
Можешь сгруппировать тесты, которым нужно менять дату, и запускать их отдельно таким образом. Codeception умеет запускать их из разных папок, если совсем по-простому, а так же, позволяет описывать группы тестов.
источник

М

Макс in atinfo chat
Дело в том, что они у меня запускаются через jenkins...
источник

М

Макс in atinfo chat
Там сборка отчётов...
источник

СС

Сказочный Сникерс in atinfo chat
можно спавнить процессы указывая им путь до libfaketime библиотеки через LD_PRELOAD
источник