From 4b832e7445e9a9a702df5e41fa9914d3d7bcd7ce Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Tue, 2 Jun 2026 09:13:35 -0400 Subject: [PATCH] Update 2026-06-02-nexacloud-cutover-01-odoo-cancel-endpoint.md --- ...xacloud-cutover-01-odoo-cancel-endpoint.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/superpowers/plans/2026-06-02-nexacloud-cutover-01-odoo-cancel-endpoint.md b/docs/superpowers/plans/2026-06-02-nexacloud-cutover-01-odoo-cancel-endpoint.md index 20b3da45..39c1c7c0 100644 --- a/docs/superpowers/plans/2026-06-02-nexacloud-cutover-01-odoo-cancel-endpoint.md +++ b/docs/superpowers/plans/2026-06-02-nexacloud-cutover-01-odoo-cancel-endpoint.md @@ -12,6 +12,34 @@ --- +## ⚠ Test harness (supersedes any `-d nexamain` command below) + +**NEVER run `-u` / `--test-enable` against the live `nexamain` DB.** Tests run in an **isolated throwaway container** against a dedicated DB, reading a **separate** addons copy so the live module is never touched: + +``` +# 1) edit files on branch feat/nexacloud-odoo-billing-cutover, then sync the changed +# module files to the staging addons copy on odoo-nexa: +# /opt/odoo/custom-addons-staging/fusion_centralize_billing/... +# 2) run (ssh odoo-nexa): +docker run --rm --network odoo_odoo-network \ + -v /opt/odoo/custom-addons-staging:/mnt/extra-addons:ro \ + -v /opt/odoo/enterprise-addons:/mnt/enterprise-addons:ro \ + -v /opt/odoo/odoo.conf:/etc/odoo/odoo.conf:ro \ + -v /opt/odoo/staging-data:/var/lib/odoo \ + odoo-nexa:19 -c /etc/odoo/odoo.conf -d fcb_test \ + --db_host=db --db_user=odoo \ + --addons-path=/usr/lib/python3/dist-packages/odoo/addons,/mnt/extra-addons,/mnt/enterprise-addons \ + --test-enable --test-tags /fusion_centralize_billing:TestSubscriptionCancel \ + -u fusion_centralize_billing --stop-after-init --no-http +``` +- `fcb_test` is a **fresh** install DB (not a prod clone). `nexamain_staging` is a prod clone kept for later integration/importer plans. +- **Scope each step's run to the relevant test class** (`:TestSubscriptionCancel`, `:TestSubscriptionCancelHttp`). The wider suite is **not hermetic yet** (see Plan 00) — `test_invoice_ledger` needs a configured Canadian CoA/active CAD/HST; `test_usage`/`test_webhook` collide with cloned prod data. Don't gate this plan on those. +- The per-step `Run:` blocks below that mention `-d nexamain` are **illustrative only — use this harness instead.** + +> **Prerequisite — Plan 00 (make the suite hermetic):** before green-baseline TDD, fix fixtures so the whole suite passes on `fcb_test`: `setUp` should get-or-create the `nexacloud`/`cpu_seconds` records (idempotent), and a test-setup helper must ensure an active CAD currency + a Canadian CoA + a 13% HST sale tax. Tracked as its own plan; recommended before Plan 01 execution. + +--- + ## Increment plan sequence (this is Plan 01 of 6) Each is its own plan doc + its own working, testable deliverable. Order reflects dependencies: