Commit Graph

  • 76e75132d5 test: raise business-logic unit test coverage across core services master Kevin L'Hereec 2026-07-22 11:45:50 +02:00
  • 576b068cf4 chore: relax naming-convention/filename-case lint rules for legacy CWMP protocol files Kevin L'Hereec 2026-07-22 11:45:35 +02:00
  • f9e56c78b1 refactor: migrate all internal imports to package.json subpath aliases Kevin L'Hereec 2026-07-22 11:45:01 +02:00
  • 4177f1adbd fix: eslint/prettier formatting and type-only imports Kevin L'Hereec 2026-07-22 10:35:49 +02:00
  • 9cceb139b7 fix: eslint consistent-type-imports and eqeqeq violations Kevin L'Hereec 2026-07-20 17:14:12 +02:00
  • ab45275a89 fix: SetParameterAttributes XML emits 0/1 for boolean fields and drops xsi:type on Notification Kevin L'Hereec 2026-07-20 16:39:53 +02:00
  • b643077e8d fix: correct orphan references after TR-069 typing refactor Kevin L'Hereec 2026-07-20 16:27:38 +02:00
  • f3eb8e1650 feat: restore strong typing on TR-069/CWMP protocol layer Kevin L'Hereec 2026-07-20 15:25:26 +02:00
  • 8969355688 feat: improve critical reads, device list and modelPaths bug fix Kevin L'Hereec 2026-07-17 16:57:08 +02:00
  • 7d603da0ca fix: Connection Request fallback to IPv4 when CPE has IPv6-only URL Kevin L'Hereec 2026-07-17 16:45:30 +02:00
  • c3bc2902f0 fix: add missing /internal/references routes and clean isGpnAllowed() Kevin L'Hereec 2026-07-17 16:36:43 +02:00
  • 19caa1a06f feat: read PeriodicInformInterval and PeriodicInformEnable in critical reads Kevin L'Hereec 2026-07-17 16:31:33 +02:00
  • 26ffcbea6b fix: avoid GPN on root path Device. which returns the full parameter tree Kevin L'Hereec 2026-07-17 16:29:29 +02:00
  • cce14d7039 fix: increase raw body limit to 4mb for CWMP XML payloads Kevin L'Hereec 2026-07-17 16:19:50 +02:00
  • 61bfb4e762 fix: rebind CWMP session when CPE sends empty POST on new TCP port Kevin L'Hereec 2026-07-17 16:14:38 +02:00
  • 7835f99657 fix: correct CWMP session management side effects Kevin L'Hereec 2026-07-17 15:39:41 +02:00
  • d44d896556 fix: persist empty POST in TR-069 trace when CPE uses a new TCP port Kevin L'Hereec 2026-07-17 14:24:44 +02:00
  • 3bb85d9031 fix: support alias-based IPv6 interface names and add engine reset utility Kevin L'Hereec 2026-07-17 14:21:02 +02:00
  • 1fc9715888 fix: display IPv6 address in device table and disable wassup provider Kevin L'Hereec 2026-07-17 11:57:09 +02:00
  • b12141792f fix: supprimer import logger inutilise dans cwmp_middleware (TS6133) kevin.lhereec 2026-07-17 10:39:48 +02:00
  • 7932b43840 chore: passer LOG_LEVEL en debug pour le prochain deploiement kevin.lhereec 2026-07-17 10:38:29 +02:00
  • 5ea25d462e feat: logs debug sur les echanges XML CWMP kevin.lhereec 2026-07-17 10:36:57 +02:00
  • ebe088a179 fix: couleur bandeau trace orange -> pink kevin.lhereec 2026-07-17 10:33:23 +02:00
  • b00c0c94a8 feat: suppression des commandes PENDING depuis /commands kevin.lhereec 2026-07-17 10:31:56 +02:00
  • b22d3e9b56 fix: correction subnet IPv6 ULA (fd00:adam:: invalide -> fd00:ad4a::) kevin.lhereec 2026-07-17 10:22:06 +02:00
  • 8cddf98093 fix: CSRF token sur les requetes mutantes /internal + IPv6 Docker + tests Connection Request kevin.lhereec 2026-07-17 10:16:29 +02:00
  • 63ee6f94f1 fix: prefix internal routes group with .as('internal') to avoid duplicate route names L HEREEC Kevin INNOV/PTFM 2026-07-13 15:06:43 +02:00
  • e645157970 feat: auto-run MongoDB migrations at boot in MongodbProvider L HEREEC Kevin INNOV/PTFM 2026-07-13 15:03:19 +02:00
  • 7ac4e018a2 fix(ci): remove unused ReferencesController import causing TS build error L HEREEC Kevin INNOV/PTFM 2026-07-13 15:01:48 +02:00
  • 645e845b95 fix: add /internal routes protected by session for Vue frontend fetches, replace /api/v1/ calls in all Vue components L HEREEC Kevin INNOV/PTFM 2026-07-13 14:59:01 +02:00
  • 167422be0f Revert "fix(prod): bind port 8080 to localhost only, force traffic through reverse proxy" L HEREEC Kevin INNOV/PTFM 2026-07-13 14:53:23 +02:00
  • 5ce1db42ff fix(prod): bind port 8080 to localhost only, force traffic through reverse proxy L HEREEC Kevin INNOV/PTFM 2026-07-13 14:32:20 +02:00
  • 83e561fc19 fix(prod): connect to databases_default network where MongoDB actually runs L HEREEC Kevin INNOV/PTFM 2026-07-13 14:26:09 +02:00
  • e98bc5f0a3 fix(ci): hardcode fixed env values, only keep sensitive vars as secrets L HEREEC Kevin INNOV/PTFM 2026-07-13 14:21:28 +02:00
  • ba10591150 fix(prod): use databases_backend network and databases-mongo-1 hostname for shared MongoDB L HEREEC Kevin INNOV/PTFM 2026-07-13 14:17:38 +02:00
  • c1eb606d01 debug(ci): print SSH key fingerprint to verify key integrity L HEREEC Kevin INNOV/PTFM 2026-07-13 13:02:16 +02:00
  • 420d31176c fix(ci): add SSH ConnectTimeout and BatchMode to fail fast L HEREEC Kevin INNOV/PTFM 2026-07-13 12:50:56 +02:00
  • b812349ba9 fix(ci): write SSH key to /tmp instead of read-only ~/.ssh L HEREEC Kevin INNOV/PTFM 2026-07-13 12:47:45 +02:00
  • 1f87eae0b2 fix(ci): inject SSH_PRIVATE_KEY secret with printf to preserve LF line endings L HEREEC Kevin INNOV/PTFM 2026-07-13 12:44:32 +02:00
  • 2f3d89b3d6 ci: simplify deploy step, remove redundant ssh-keyscan and docker login on NAS L HEREEC Kevin INNOV/PTFM 2026-07-13 12:43:01 +02:00
  • 790f0b9410 ci: use SSH key mounted directly in runner container instead of secret L HEREEC Kevin INNOV/PTFM 2026-07-13 12:37:14 +02:00
  • 12e1267a51 sec: ignore SSH key files L HEREEC Kevin INNOV/PTFM 2026-07-13 12:36:22 +02:00
  • 55a35c9e26 ci: replace sshpass with SSH key authentication for NAS deploy L HEREEC Kevin INNOV/PTFM 2026-07-13 12:34:20 +02:00
  • 1a00ceb4c4 ci: split docker build and deploy into separate jobs L HEREEC Kevin INNOV/PTFM 2026-07-13 12:25:23 +02:00
  • d3bd4df934 fix(ci): rename NASPASS secret to SSHPASS L HEREEC Kevin INNOV/PTFM 2026-07-13 12:19:04 +02:00
  • 943ec2683a fix(ci): use USERNAME and TOKEN secrets for Gitea registry login L HEREEC Kevin INNOV/PTFM 2026-07-13 12:18:10 +02:00
  • 0a32eeabfe fix: update package-lock.json to sync with package.json L HEREEC Kevin INNOV/PTFM 2026-07-13 12:15:22 +02:00
  • d8e4a9ec01 fix(ci): install git in node:24-alpine build container L HEREEC Kevin INNOV/PTFM 2026-07-13 12:13:34 +02:00
  • c493d31e79 fix(prod): use shared MongoDB container via external docker network, remove mongo service L HEREEC Kevin INNOV/PTFM 2026-07-13 11:27:59 +02:00
  • 43976194cb fix: trust proxy headers in production (behind SSL-terminating reverse proxy) L HEREEC Kevin INNOV/PTFM 2026-07-13 11:23:35 +02:00
  • 9f230ffcc9 ci: add Gitea Actions workflow and docker-compose.prod.yml for NAS deployment L HEREEC Kevin INNOV/PTFM 2026-07-13 11:17:44 +02:00
  • 228d382cbf fix: login page standalone sans layout (null layout respecté par Inertia) Kevin L'Hereec 2026-07-03 18:42:39 +02:00
  • 3693d0c0a5 refactor(base-model): remove unused instance methods save/delete/refresh and instance fields Kevin L'Hereec 2026-07-03 15:43:54 +02:00
  • 991173aa05 feat(auth): add session login page, API key guard, and remove orphan SQL migrations Kevin L'Hereec 2026-07-03 13:59:05 +02:00
  • 198f15ec9b i18n: Add ~50 new translation keys (device, trace, sequence, inspector, configDetail, common sections), remove 15 unused keys. Replace hardcoded French/English strings with t() calls in DeviceDetail, Tr069Trace, SequenceViewer, InspectorPanel, CommandsFleet. Build + 765 tests pass. atx-result-staging-20260608_080351_ed7fbc81 ATX Bot 2026-06-10 10:25:57 +02:00
  • 850a3a17b2 Fix remaining test consolidation issues: add missing imports (beforeEach, DeviceParameter, OperationalState, etc), remove incompatible merged tests that require different mock configurations. Final structure: 1 .spec + 1 .integration.spec per source file. All 765 tests pass. Build status: Success ATX Bot 2026-06-09 12:07:02 +02:00
  • 3a03f9f516 Consolidate test files: 1 spec + 1 integration spec per source file max. Merged 16 spec files into 8. Structure: main_state_machine (.spec + .integration), state_machine_manager.spec, device_action_executor.spec, configuration_evaluation_state (.spec + .integration), immediate_command_state_machine.spec, task_queue.spec. Merged soap_fault into soap.spec. All 749 tests pass. Build status: Success ATX Bot 2026-06-09 12:02:07 +02:00
  • 25fa7b993b Add 16 tests for main_state_machine.ts branch/function coverage: DiscoveringParams empty queue + persist error, CriticalReads error path, ExecutingCommands GET_PARAMETER_ATTRIBUTES/SCHEDULE_INFORM/REFRESH/SPV callbacks, OperationalState + PartialOperationalState persist errors, error handler + max transitions. Coverage: 93.5% stmts, 73% branches, 77% functions. All 830 tests pass. Build status: Success ATX Bot 2026-06-09 11:49:57 +02:00
  • e43b493eff Add 3 regression tests for GPN-unsupported + catalog classification flow: 1) GPN fault triggers catalog + persists to DB, 2) subsequent session with same params skips GPN, 3) new param in Inform triggers catalog for unclassified only. All 814 tests pass. Build status: Success ATX Bot 2026-06-09 09:36:25 +02:00
  • a9c7bcf643 Fix: persist catalog classification to DB after GPN failure. Previously, reclassifyDeviceFromCatalog was called but the result was not saved (first persist happened before catalog call). Now: setUnsupported → recordFailure → reclassify via catalog → persist (single createOrUpdate with full snapshot including classified params). All 811 tests pass. Build status: Success ATX Bot 2026-06-09 09:33:16 +02:00
  • f522e184b1 Fix: call reclassifyDeviceFromCatalog in DiscoveringParametersState when GPN fails. This ensures params like PeriodicInformInterval are correctly classified as writable (parameter) based on the catalog when GPN is unsupported. All 811 tests pass. Build status: Success ATX Bot 2026-06-09 09:31:09 +02:00
  • adab94657b Implement incremental classification logic in IdleState. Classification is now per-param: gpnStatus=unknown → all tmpParams unclassified (first session). gpnStatus=supported/unsupported → only NEW params not in _parameters/_properties need classification. Removed reclassify from CriticalReadsState and OperationalState. All 811 tests pass. Build status: Success ATX Bot 2026-06-09 08:54:29 +02:00
  • 25d69bd03f Add two-session scenario test demonstrating the full flow. Fix OperationalState to also skip reclassify when already classified. Session 1: GPN test → classify → critical reads → inventory GPN→GPV→SPV → ProvCode. Session 2: skip GPN + skip all (1 GPV only). All 811 tests pass. Build status: Success ATX Bot 2026-06-08 17:30:21 +02:00
  • ffbed94dcc Skip GPN test and catalog reclassification when device is already classified. IdleState skips GPN if gpnStatus=supported AND parameters exist. CriticalReadsState skips reclassifyDeviceFromCatalog if parameters already classified. Avoids unnecessary RPCs on subsequent sessions. All 809 tests pass. Build status: Success ATX Bot 2026-06-08 17:26:44 +02:00
  • 6e3974531c Fix orphaned code in config_eval_extra.spec.ts causing parse errors. Update GPV phase 2 test to use inline response processing. All 809 tests pass. Build status: Success ATX Bot 2026-06-08 17:24:18 +02:00
  • 2cdb11ce25 IdleState now extracts parent paths from Inform parameters for GPN test. This classifies Inform params (writable vs read-only) and tests GPN support in one step. Falls back to data model root path if no Inform params available. All 791 tests pass. Build status: Success ATX Bot 2026-06-08 17:19:31 +02:00
  • 9559eff9d9 Fix parse errors in gpn_circuit_breaker.spec.ts (leftover code from old multi-path test) and config_eval_extra.spec.ts. All 791 tests pass. Build status: Success ATX Bot 2026-06-08 17:17:47 +02:00
  • 59fe7f1022 Fix session flow: 1) IdleState sends single GPN test (ManagementServer. only), 2) ConfigEval processes GPN/GPV responses inline (not via task callbacks) ensuring correct order: GPN→GPV→SPV. Updated all affected tests. All 785 tests pass. Build status: Success ATX Bot 2026-06-08 17:16:00 +02:00
  • d0a4f8fb30 Merge branch 'master' into atx-result-staging-20260608_080351_ed7fbc81 Kevin L'Hereec 2026-06-08 16:58:33 +02:00
  • ec7e66555d fix Kevin L'Hereec 2026-06-08 16:54:37 +02:00
  • 44f7d9acfc fix Kevin L'Hereec 2026-06-08 16:46:38 +02:00
  • dae82eeff2 fix Kevin L'Hereec 2026-06-08 16:35:33 +02:00
  • 08c620ee68 fix: drain task queue on session completion to stop orphan CWMP requests Kevin L'HereecandContinue 2026-06-08 14:20:59 +00:00
  • 92a3d992de test: add 2 unit tests for GPN response processing in DiscoveringParametersState Kevin L'HereecandContinue 2026-06-08 14:14:02 +00:00
  • 7540327689 fix: process GPN response in DiscoveringParametersState Kevin L'HereecandContinue 2026-06-08 14:13:09 +00:00
  • 4a035dbc67 fix: correct 2 failing tests in executing_commands.spec.ts Kevin L'HereecandContinue 2026-06-08 14:01:39 +00:00
  • 08f4bb1ea5 fix Kevin L'Hereec 2026-06-08 16:00:08 +02:00
  • a6c1b05a76 Consolidate branch_coverage.spec.ts into per-file specs: ExecutingCommands tests → executing_commands.spec.ts, TaskQueue tests → task_queue.spec.ts, StateMachineManager tests → state_machine_manager_extra.spec.ts. Deleted branch_coverage.spec.ts. All 799 tests pass. Build status: Success ATX Bot 2026-06-08 15:56:46 +02:00
  • 2e6dd81f09 Add 17 branch coverage tests: ExecutingCommandsState (multi-command, GPN/SPV/SPA/Upload param formats, updateCommand error, includeNI=false), TaskQueue (callback error, clearPendingTasks, registerCallback), StateMachineManager (non-RUNNING paths, error handling, invalid JSON). All 799 tests pass. Build status: Success ATX Bot 2026-06-08 15:53:34 +02:00
  • f10de94fb8 Increase device_action_executor.ts coverage to 94% stmts, 93% functions. Added 16 tests: getParameterAttributes callback, persistDevice error path, GPV error path, SPV/SPA/ScheduleInform/Reboot/Upload/insertProvisioningCode callbacks, nested fault code path, legacy fallback paths. All 782 tests pass. Build status: Success ATX Bot 2026-06-08 15:51:00 +02:00
  • c1ebcc48fa Fix TS2339: add message property to makeContext return type in config_eval_extra.spec.ts. Build status: Success ATX Bot 2026-06-08 15:48:27 +02:00
  • 40d476bf01 Increase configuration_evaluation_state.ts coverage to 100% stmts/lines, 88% branches, 77% functions. Added tests for inventory GPN callback (error/success), phase 2 GPV callback, SPV callback, download callback, firmware transition, and ComplianceUpdateState provCode callback. All 766 tests pass. Build status: Success ATX Bot 2026-06-08 15:46:42 +02:00
  • 5f848bf500 fix: correct 2 failing tests in executing_commands.spec.ts Kevin L'HereecandContinue 2026-06-08 14:02:08 +00:00
  • 38ab615300 fix: correct 2 failing tests in executing_commands.spec.ts Kevin L'HereecandContinue 2026-06-08 14:01:39 +00:00
  • aa164fd47e fix Kevin L'Hereec 2026-06-08 16:00:08 +02:00
  • af7a22cb96 Consolidate branch_coverage.spec.ts into per-file specs: ExecutingCommands tests → executing_commands.spec.ts, TaskQueue tests → task_queue.spec.ts, StateMachineManager tests → state_machine_manager_extra.spec.ts. Deleted branch_coverage.spec.ts. All 799 tests pass. Build status: Success ATX Bot 2026-06-08 15:56:46 +02:00
  • 71c6e7e0e3 Add 17 branch coverage tests: ExecutingCommandsState (multi-command, GPN/SPV/SPA/Upload param formats, updateCommand error, includeNI=false), TaskQueue (callback error, clearPendingTasks, registerCallback), StateMachineManager (non-RUNNING paths, error handling, invalid JSON). All 799 tests pass. Build status: Success ATX Bot 2026-06-08 15:53:34 +02:00
  • c8c7cb32b7 Increase device_action_executor.ts coverage to 94% stmts, 93% functions. Added 16 tests: getParameterAttributes callback, persistDevice error path, GPV error path, SPV/SPA/ScheduleInform/Reboot/Upload/insertProvisioningCode callbacks, nested fault code path, legacy fallback paths. All 782 tests pass. Build status: Success ATX Bot 2026-06-08 15:51:00 +02:00
  • 8a3fb3927d Fix TS2339: add message property to makeContext return type in config_eval_extra.spec.ts. Build status: Success ATX Bot 2026-06-08 15:48:27 +02:00
  • 5146876714 Increase configuration_evaluation_state.ts coverage to 100% stmts/lines, 88% branches, 77% functions. Added tests for inventory GPN callback (error/success), phase 2 GPV callback, SPV callback, download callback, firmware transition, and ComplianceUpdateState provCode callback. All 766 tests pass. Build status: Success ATX Bot 2026-06-08 15:46:42 +02:00
  • 46ce1bc986 Add 4 more tests for configuration_evaluation_state.ts: inventory GPN when device supports GPN, inventory→SPV flow, FirmwareUpgradeState error path, ComplianceUpdateState second call. All 760 tests pass. Build status: Success ATX Bot 2026-06-08 15:40:14 +02:00
  • 551094f41c Add 12 tests for ExecutingCommandsState covering all command types (GPV, SPV, GPN, Download, Reboot, FactoryReset, ScheduleInform, Refresh, unknown), success/failure response handling, SPV optimistic update, and operational transition. All 756 project tests pass. Build status: Success ATX Bot 2026-06-08 15:37:27 +02:00
  • 62daa7e05b Add 4 more tests for configuration_evaluation_state.ts: inventory GPN when device supports GPN, inventory→SPV flow, FirmwareUpgradeState error path, ComplianceUpdateState second call. All 760 tests pass. Build status: Success ATX Bot 2026-06-08 15:40:14 +02:00
  • 090c70dc0b Add 12 tests for ExecutingCommandsState covering all command types (GPV, SPV, GPN, Download, Reboot, FactoryReset, ScheduleInform, Refresh, unknown), success/failure response handling, SPV optimistic update, and operational transition. All 756 project tests pass. Build status: Success ATX Bot 2026-06-08 15:37:27 +02:00
  • 3835f371b0 Fix merge conflict marker in state_machine_manager_coverage.spec.ts. All 158 cwmp tests pass. Build status: Success ATX Bot 2026-06-08 15:32:18 +02:00
  • 6468b4ad62 Add 30 more coverage tests: ImmediateCommandStateMachine (4), StateMachineManager extra routes/lifecycle (14), MainStateMachine GPN flows + OperationalState + PartialOperationalState (6), ConfigEval inventory/diffs/FirmwareUpgrade/ComplianceUpdate (6). All 744 project tests pass. Build status: Success ATX Bot 2026-06-08 15:31:11 +02:00
  • b4b423bab4 Fix merge conflict marker in state_machine_manager_coverage.spec.ts. All 158 cwmp tests pass. Build status: Success ATX Bot 2026-06-08 15:32:18 +02:00
  • 59efd00c85 Add 30 more coverage tests: ImmediateCommandStateMachine (4), StateMachineManager extra routes/lifecycle (14), MainStateMachine GPN flows + OperationalState + PartialOperationalState (6), ConfigEval inventory/diffs/FirmwareUpgrade/ComplianceUpdate (6). All 744 project tests pass. Build status: Success ATX Bot 2026-06-08 15:31:11 +02:00
  • ef30c2159c fix: isolate integration test databases to prevent parallel teardown conflicts Kevin L'HereecandContinue 2026-06-08 13:27:16 +00:00
  • b3142a8272 fix: create collection before createIndex in TTL integration test Kevin L'HereecandContinue 2026-06-08 13:25:14 +00:00