Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bashkir777/infotecstesttask

test task for an internship at Infotecs (accepted solution)
https://github.com/bashkir777/infotecstesttask

accepted-solution docker docker-compose ftp-client java8 maven testng

Last synced: 25 days ago
JSON representation

test task for an internship at Infotecs (accepted solution)

Awesome Lists containing this project

README

        

# Тестовое задание для infotecs

## Инструкция по сборке и запуску проекта

- Скачать исходный код проекта:
```bash
git clone https://github.com/bashkir777/infotecsTestTask.git
```

### Для Windows
- Открыть powershell
- Перейти в корневую директорию проекта (infotecsTestTask)
- Запустить стартовый скрипт
```powershell
.\start.ps1
```
- Дождаться сборки проекта и успешного прохождения тестов, следовать инструкциям, появляющимся в терминале.
### Для MacOS и Linux
- Открыть терминал
- Перейти в корневую директорию проекта (infotecsTestTask)
- Запустить стартовый скрипт
```bash
./start.sh
```
- Дождаться сборки проекта и успешного прохождения тестов, следовать инструкциям, появляющимся в терминале.

## Инструкция по работе с приложением
- После успешной сборки и запуска Docker сети. В терминале должно появиться сообщение:

```
Integration tests successfully passed.
Type 'start' and press Enter to initiate the session.
```

- После того как вы введете 'start', автоматически запустится команда 'help', которая выведет краткое описание работы команд:

```
use 'help' to see the list of available commands.
use 'add ' to create new student.
use 'remove ' to remove student by id.
use 'info ' to see student's info.
use 'print' to see the list of students sorted by name.
use 'switch_mode' to switch ftp mode (by default it is passive).
use 'push' to save your changes.
use 'exit' to finish session.
```
- Обратите внимание, что для того чтобы __сохранить внесенные изменения__, необходимо использовать команду __push__.
- Чтобы закончить сеанс можно использовать команду __exit__, она закроет приложение и остановит Docker сеть.

## Инструкция по запуску тестов

Тесты запускаются автоматически.

Unit тесты будут запущены при сборке ftp-client-а.

Integration тесты будут запущены после сборки и запуска сети Docker.

## Краткое обоснование тестов

Unit тесты нацелены на проверку корректности работы приложения со списком студентов, они включают в себя следующие проверки:

- Студент корректно добавляется
- Студент корректно удаляется
- Получение студента по id работает корректно
- Очередь студентов корректно сериализуется/десериализуется

Integration тесты нацелены на проверку корректности работы подсистемы ftp-client, отвечающей за взаимодействие с ftp сервером, они включают в себя следующие проверки:

- Файл успешно загружается на ftp-сервер при использовании пассивного режима.
- Файл успешно загружается на ftp-сервер при использовании активного режима.
- Файл успешно скачивается с ftp-сервера при использовании активного режима.
- Файл успешно скачивается с ftp-сервера при использовании пассивного режима.