diplom's People
diplom's Issues
Не работает gate-simulator
- В docker-compose настроил запуск контейнера с Node.js
node:
image: "node"
user: "node"
working_dir: /home/node/app
environment:
- NODE_ENV=production
volumes:
- ./gate-simulator:/home/node/app
expose:
- "8081"
command: "npm start"
- Запустил контейнер
- Ввел команду docker-compose exec node npm start
- Отобразился лог
> [email protected] prestart /home/node/app
> npm i
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux
","arch":"x64"})
audited 268 packages in 2.117s
found 0 vulnerabilities
> [email protected] start /home/node/app
> nodemon app.js
[nodemon] 2.0.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node app.js`
[
{ number: '4444 4444 4444 4441', status: 'APPROVED' },
{ number: '4444 4444 4444 4442', status: 'DECLINED' }
]
- Ввел данные карты, по которой должен быть апрув
- Получил ошибку 500 и, соответственно, запрет операции покупки
При этом в логах SUT ошибка
2020-01-09 01:15:55.486 ERROR 30480 --- [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherSer
vlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.ResourceAccessExcept
ion: I/O error on POST request for "http://localhost:7777/payment": Connection refused: connect; nested exception is java.net.ConnectException: C
onnection refused: connect] with root cause
На порту 9999 gate-simulator вообще не запускался, поменял в app.js на 7777 и запуск прошел без ошибок, но не работает.
Не работает передача параметра при старте теста
- Заменил значение переменной database
private static String database = System.getProperty("db_url");
- Указал переменную в buld.gradle
test {
useJUnitPlatform()
systemProperty 'db_url', System.getProperty('db_url', 'mysql')
}
- При попытке запустить тест через команду
gradlew test
илиgradlew test -Ddb_url=mysql
тесты падают с ошибкойjava.sql.SQLException: No suitable driver found for mysql
При замене переменной на private static String database = mysql;
тесты проходят без ошибок
Не возвращается отказ операции по карте *4442
- Выбрать любой из способов оплаты
- Указать номер карты 4444 4444 4444 4442
- Ввести остальные данные (можно случайные, согласное ограничениям полей)
- Нажать продолжить
Ожидаемый результат
Отображается ошибка об отказе проведения операции банком
Фактический результат
Ошибка не отображается за 10 секунд или отображается подтверждение операции
Отображается подтверждение операции на случайную карту
- Выбрать любой из способов оплаты
- Указать случайный номер карты (любой, кроме указанных 2 по ТЗ)
- Ввести остальные данные (можно случайные, согласное ограничениям полей)
- Нажать продолжить
Ожидаемый результат
Отображается отказ в проведении операции, так как нет информации о возможности проведения
Фактический результат
Отображается и отказ, и подтверждение
Сообщение об ошибке не пропадает после введения корректных данных
- Открыть главную страницу
- Нажать кнопку "Купить" или "Купить в кредит"
- Нажать "Продолжить"
- Получить сообщения об ошибке введенных данных
- Заполнить поля корректными данными
- Нажать "Продолжить"
Ожидаемый результат
Ошибки под полями пропали
Фактический результат
Ошибки у полей "Номер карты", "Владелец" и "CVC/CVV" не пропадают
Периодически не отображается подтверждение операции за 10 секунд
- Открыть главную страницу
- Нажать кнопку "Купить" или "Купить в кредит"
- Ввести в поля корректные данные и номер карты, по которой ожидается подтверждение
- Нажать "Продолжить"
- Подождать 10 секунд
Ожидаемый результат
Отобразится подтверждение операции
Фактический результат
В 10-30% тестов подтверждение не отображается
Ошибка в названии города
Доступен некорректный ввод поля Владелец
- Открыть главную страницу
- Нажать кнопку "Купить" или "Купить в кредит"
- Ввести в поле "Владелец" число или русские буквы
- Ввести корректные данные в остальные поля
- Нажать "Продолжить"
Ожидаемый результат
Отображается ошибка о введенных данных в поле "Владелец"
Фактический результат
Запрос проходит без ошибок
Некорректный статус при API запросе
- Отправить запрос POST http://localhost:8080/api/v1/credit или POST http://localhost:8080/api/v1/pay с телом JSON
{"number": "4444 4444 4444 4441"}
- Проверить количество записей в таблице
select count(1) as rownum from order_entity o, payment_entity p where o.payment_id=p.transaction_id and p.status='APPROVED';
Ожидаемый результат
После первого шага получаем ответ 400, при проверке таблицы количество записей не изменилось
Фактический результат
Ответ после первого шага 200
{
"status": "APPROVED"
}
Количество записей при этом увеличивается на 1 при каждом запросе.
Нет проверки первых 6 цифр карты
- Открыть главную страницу
- Нажать кнопку "Купить" или "Купить в кредит"
- Ввести случайное значение в поле "Номер карты", например 0000 0000 0000 0000
- Ввести в остальные поля корректные значения
- Нажать продолжить
Ожидаемый результат
Отображается ошибка о некорректном номере карты при проверке первых 6 цифр, которые являются банковским идентификатором эмитента.
Фактический результат
Запрос проходит без ошибок
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.