Download Latest Version v2.4 source code.tar.gz (14.2 MB)
Email in envelope

Get an email when there's a new version of Watcher

Home / v2.3
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-07-23 3.0 kB
v2.3 source code.tar.gz 2025-07-23 14.2 MB
v2.3 source code.zip 2025-07-23 14.3 MB
Totals: 3 Items   28.5 MB 0

v2.3

This release introduces a significant upgrade in automated testing coverage, improving both back-end and front-end reliability. The goal is to ensure that every new feature or modification in Watcher is backed by robust, automated unit tests. This update directly strengthens the stability and maintainability of the project across all modules.

Update Procedure

No breaking change or configuration is required for this release. However, contributors must ensure they follow the updated test commands and conventions detailed in the updated documentation.

What’s Changed

Test Coverage

Unit Tests (Back-End)

  • 99 Django unit tests across the main back-end modules:

  • common/tests.py

  • watcher/tests.py
  • Individual tests.py files per module

End-to-End Tests (Front-End with Cypress)

  • 4 full-featured Cypress suites covering the entire front-end application:
  • DataLeak.cy.js: 31 tests
  • DnsFinder.cy.js: 32 tests
  • SiteMonitoring.cy.js: 26 tests
  • ThreatsWatcher.cy.js: 31 tests
  • Total: 120 Cypress tests successfully passed with no failures or pending cases.

CI/CD Integration

  • All tests are automatically executed in our CI/CD pipeline using GitHub Actions:

  • Triggered on: Push, Pull Requests, and manual workflow dispatch

  • Execution: Both back-end and front-end tests run automatically
  • Coverage: Full test suite validation before code integration

  • The CI/CD workflow ensures that:

  • No broken code reaches the main branch
  • All new features are properly tested

Developer Notes

All test commands must now be run from the Watcher/Watcher directory:

:::bash
cd Watcher/Watcher

Back-End Tests

To run all Django unit tests:

:::bash
python manage.py test

Front-End Tests

Before running front-end tests, you need to create a test superuser:

:::bash
python manage.py shell -c "
from django.contrib.auth.models import User
User.objects.create_superuser('Watcher', 'cypress@watcher.com', 'Watcher', first_name='Unit-Test Cypress', last_name='Watcher')"

To run all Cypress Test Runner:

:::bash
npm run test:e2e

If you want more information about the commands and other instructions, please refer to the documentation.

Why it matters

This update lays the foundation for a more robust and scalable Watcher ecosystem. By enforcing test-driven development and automated validation, we ensure faster releases, fewer regressions, and a cleaner development experience for contributors.

From now on: All Pull Requests must include tests for new functionality. PRs without adequate test coverage may be rejected

Full Changelog: https://github.com/thalesgroup-cert/Watcher/compare/v2.2.0...v2.3

Source: README.md, updated 2025-07-23