Мета документа

Доповнити процес тестування майданчиків (програмно-апаратних комплексів) з метою мінімізації наступних ситуацій:

Загальне

На даний момент ми не можемо тестувати кодову базу кожного майданчика і не можемо бути впевненими, що всі клони мають актуальні договори на технічну підтримку від своїх розробників.

Найпростіший спосіб мінімізувати подібні проблеми — це версіонування кодової бази майданчиків і фіксація версії під час тестування.

Вимоги до програмно-апаратних комплексів майданчиків

Ці вимоги стосуються не лише ПЗ майданчиків, а й SELF-HOSTED проєктів, які розробляє Prozorro і які взаємодіють з API ЦБД. Наприклад: портал, mirror-клієнти, адмінка тощо — усе, що знаходиться поза периметром ЦБД.

Версіонування кодової бази

Надання журналу змін (Change Log)

Указання версії у запитах до API ЦБД

API-ендпоінти для версії та статусу ПЗ

Майданчики повинні реалізувати такі JSON API-ендпоінти:

Пояснення щодо /api/platform/cdb/status:

Залежно від того, з якими оточеннями ЦБД працює майданчик, відповідь може містити кілька елементів:

{
  "procedure-sandbox.prozorro.sale": {
    "owner": "XXXX",
    "ip": "91.245.78.204",
    "procedures": {
      "alienation-english": ["procedure", "bids"]
    }
  },
  "dgf-procedure-sandbox.prozorro.sale": {
    "owner": "XXXX",
    "ip": "91.245.78.204",
    "procedures": {
      "dgf-dutch": ["procedure", "bids"]
    }
  }
}

Логи запитів до ЦБД

У логах обов'язково мають бути:

Формат логів:

Логи повинні бути розділені за оточеннями (sandbox, prod тощо).

Строк зберігання:

Зміни в процесі тестування майданчиків

Під час тестування:

Нюанси з версіями ПЗ

Автоматизація

Після впровадження версіонування можливе створення:

Що це дає?