diff --git a/.github/workflows/ci.yml.bak b/.github/workflows/ci.yml.bak
index 920ad31..9e4ecda 100644
--- a/.github/workflows/ci.yml.bak
+++ b/.github/workflows/ci.yml.bak
@@ -10,8 +10,8 @@ env:
PYTHON_VERSION: "3.12"
ENCRYPTION_KEY: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
SECRET_KEY: "ci-test-secret-key-for-github-actions-only-not-for-production"
- DATABASE_URL: "postgresql+asyncpg://pecflow:pecflow_ci@localhost:5432/pecflow_test"
- DATABASE_URL_SYNC: "postgresql://pecflow:pecflow_ci@localhost:5432/pecflow_test"
+ DATABASE_URL: "postgresql+asyncpg://pechub:pechub_ci@localhost:5432/pechub_test"
+ DATABASE_URL_SYNC: "postgresql://pechub:pechub_ci@localhost:5432/pechub_test"
REDIS_URL: "redis://localhost:6379/0"
jobs:
@@ -61,9 +61,9 @@ jobs:
postgres:
image: postgres:16-alpine
env:
- POSTGRES_DB: pecflow_test
- POSTGRES_USER: pecflow
- POSTGRES_PASSWORD: pecflow_ci
+ POSTGRES_DB: pechub_test
+ POSTGRES_USER: pechub
+ POSTGRES_PASSWORD: pechub_ci
ports:
- 5432:5432
options: >-
@@ -156,7 +156,7 @@ jobs:
context: ./backend
file: ./backend/Dockerfile
push: false
- tags: pecflow-backend:${{ github.sha }}
+ tags: pechub-backend:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
diff --git a/backend/alembic/versions/0001_initial_schema.py b/backend/alembic/versions/0001_initial_schema.py
index 1c75709..39890a8 100644
--- a/backend/alembic/versions/0001_initial_schema.py
+++ b/backend/alembic/versions/0001_initial_schema.py
@@ -1,4 +1,4 @@
-"""Initial schema – tutte le tabelle PecFlow Fase 1
+"""Initial schema – tutte le tabelle PEChub Fase 1
Revision ID: 0001
Revises:
diff --git a/backend/app/__init__.py b/backend/app/__init__.py
index 0aa560e..77955e8 100644
--- a/backend/app/__init__.py
+++ b/backend/app/__init__.py
@@ -1 +1 @@
-# PecFlow Backend
+# PEChub Backend
diff --git a/backend/app/config.py b/backend/app/config.py
index 3df24ae..5298bc5 100644
--- a/backend/app/config.py
+++ b/backend/app/config.py
@@ -34,8 +34,8 @@ class Settings(BaseSettings):
encryption_key: str = "0" * 64
# ── Database ──────────────────────────────────────────────────────────────
- database_url: str = "postgresql+asyncpg://pecflow:pecflow_dev_password@db:5432/pecflow"
- database_url_sync: str = "postgresql://pecflow:pecflow_dev_password@db:5432/pecflow"
+ database_url: str = "postgresql+asyncpg://pechub:pechub_dev_password@db:5432/pechub"
+ database_url_sync: str = "postgresql://pechub:pechub_dev_password@db:5432/pechub"
# ── Redis ─────────────────────────────────────────────────────────────────
redis_url: str = "redis://redis:6379/0"
@@ -44,7 +44,7 @@ class Settings(BaseSettings):
minio_endpoint: str = "minio:9000"
minio_access_key: str = "minioadmin"
minio_secret_key: str = "minioadmin"
- minio_bucket: str = "pecflow"
+ minio_bucket: str = "pechub"
minio_use_ssl: bool = False
# ── CORS ──────────────────────────────────────────────────────────────────
diff --git a/backend/app/core/exceptions.py b/backend/app/core/exceptions.py
index bf71dcf..b507b58 100644
--- a/backend/app/core/exceptions.py
+++ b/backend/app/core/exceptions.py
@@ -1,5 +1,5 @@
"""
-Eccezioni applicative custom per PecFlow.
+Eccezioni applicative custom per PEChub.
"""
from fastapi import HTTPException, status
diff --git a/backend/app/core/logging.py b/backend/app/core/logging.py
index 2fe9e35..a459d29 100644
--- a/backend/app/core/logging.py
+++ b/backend/app/core/logging.py
@@ -1,5 +1,5 @@
"""
-Structured logging per PecFlow.
+Structured logging per PEChub.
In produzione (LOG_JSON=true) emette log JSON per aggregatori (Loki, ELK).
In sviluppo emette log leggibili colorati.
"""
diff --git a/backend/app/main.py b/backend/app/main.py
index c212ed8..a300e83 100644
--- a/backend/app/main.py
+++ b/backend/app/main.py
@@ -31,7 +31,7 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
setup_logging()
logger.info(
- "🚀 PecFlow Backend avviato",
+ "🚀 PEChub Backend avviato",
extra={"env": settings.app_env, "debug": settings.app_debug},
)
@@ -53,14 +53,14 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
from app.services.send_service import close_arq_pool
await close_arq_pool()
await engine.dispose()
- logger.info("🛑 PecFlow Backend fermato")
+ logger.info("🛑 PEChub Backend fermato")
# ─── Applicazione FastAPI ─────────────────────────────────────────────────────
limiter = Limiter(key_func=get_remote_address, default_limits=["200/minute"])
app = FastAPI(
- title="PecFlow API",
+ title="PEChub API",
description="API per la gestione PEC SaaS multi-tenant",
version="1.0.0",
docs_url="/docs" if not settings.is_production else None,
diff --git a/backend/app/models/notification.py b/backend/app/models/notification.py
index 97fc29b..58ea825 100644
--- a/backend/app/models/notification.py
+++ b/backend/app/models/notification.py
@@ -109,7 +109,7 @@ class NotificationChannel(Base):
class NotificationRule(Base):
"""
- Regola: evento PecFlow → canale di notifica.
+ Regola: evento PEChub → canale di notifica.
event_type: new_message | state_changed | anomaly | send_failed | ...
filter: JSONB con condizioni opzionali (mailbox_id, state, ecc.)
diff --git a/backend/app/schemas/tenant.py b/backend/app/schemas/tenant.py
index 0f979f4..2221401 100644
--- a/backend/app/schemas/tenant.py
+++ b/backend/app/schemas/tenant.py
@@ -26,7 +26,7 @@ class TenantCreateRequest(BaseModel):
@field_validator("slug")
@classmethod
def validate_slug(cls, v: str) -> str:
- reserved = {"api", "admin", "www", "mail", "smtp", "imap", "pecflow", "app"}
+ reserved = {"api", "admin", "www", "mail", "smtp", "imap", "pechub", "app"}
if v in reserved:
raise ValueError(f"Slug '{v}' riservato")
return v.lower()
diff --git a/backend/app/services/auth_service.py b/backend/app/services/auth_service.py
index 9af5b60..8ee8ed1 100644
--- a/backend/app/services/auth_service.py
+++ b/backend/app/services/auth_service.py
@@ -209,7 +209,7 @@ class AuthService:
# Genera URI otpauth://
totp = pyotp.TOTP(secret)
- uri = totp.provisioning_uri(name=user.email, issuer_name="PecFlow")
+ uri = totp.provisioning_uri(name=user.email, issuer_name="PEChub")
# Genera QR code
qr = qrcode.QRCode(version=1, box_size=6, border=4)
diff --git a/backend/pyproject.toml b/backend/pyproject.toml
index e8903e1..792b925 100644
--- a/backend/pyproject.toml
+++ b/backend/pyproject.toml
@@ -3,9 +3,9 @@ requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
-name = "pecflow-backend"
+name = "pechub-backend"
version = "1.0.0"
-description = "PecFlow – Backend API per gestione PEC SaaS"
+description = "PEChub – Backend API per gestione PEC SaaS"
requires-python = ">=3.12"
dependencies = [
diff --git a/backend/tests/integration/test_api_send.py b/backend/tests/integration/test_api_send.py
index f240207..6ab4da3 100644
--- a/backend/tests/integration/test_api_send.py
+++ b/backend/tests/integration/test_api_send.py
@@ -143,8 +143,8 @@ class TestCreateSendJob:
json={
"mailbox_id": str(active_mailbox.id),
"to_addresses": ["matteo1801@spidmail.it"],
- "subject": "Test PecFlow Fase 4",
- "body_text": "Messaggio di test inviato da PecFlow.",
+ "subject": "Test PEChub Fase 4",
+ "body_text": "Messaggio di test inviato da PEChub.",
},
headers=auth_headers,
)
diff --git a/database/init/00_extensions.sql b/database/init/00_extensions.sql
index 42845b0..281295c 100644
--- a/database/init/00_extensions.sql
+++ b/database/init/00_extensions.sql
@@ -1,8 +1,8 @@
--- Estensioni PostgreSQL richieste da PecFlow
+-- Estensioni PostgreSQL richieste da PEChub
-- Questo script viene eseguito automaticamente da Docker al primo avvio
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
-- Permette SET LOCAL per RLS (app.current_tenant_id)
-ALTER DATABASE pecflow SET "app.current_tenant_id" TO '';
+ALTER DATABASE pechub SET "app.current_tenant_id" TO '';
diff --git a/database/seeds/dev_tenant.sql b/database/seeds/dev_tenant.sql
index 443f33f..665a1fc 100644
--- a/database/seeds/dev_tenant.sql
+++ b/database/seeds/dev_tenant.sql
@@ -2,8 +2,8 @@
-- SEED: Tenant demo + utenti per sviluppo locale
--
-- Credenziali:
--- Admin: admin@demo.pecflow.it / Demo@PecFlow2026!
--- Operator: operator@demo.pecflow.it / Oper@PecFlow2026!
+-- Admin: admin@demo.pechub.it / Demo@PEChub2026!
+-- Operator: operator@demo.pechub.it / Oper@PEChub2026!
--
-- Esegui con: make seed
-- ============================================================
@@ -25,27 +25,27 @@ VALUES (
ON CONFLICT (slug) DO NOTHING;
-- Utente super_admin (global, senza tenant specifico usa il tenant demo)
--- Password: SuperAdmin@PecFlow2026! (bcrypt hash)
+-- Password: SuperAdmin@PEChub2026! (bcrypt hash)
INSERT INTO users (id, tenant_id, email, password_hash, full_name, role, is_active)
VALUES (
'00000000-0000-0000-0000-000000000001',
'11111111-1111-1111-1111-111111111111',
- 'superadmin@pecflow.it',
- '$2b$12$y2yq6X2f3dZi22wqWZd1aumP03IU6OWrrevRMFj9054aGnUms116W', -- SuperAdmin@PecFlow2026!
- 'Super Admin PecFlow',
+ 'superadmin@pechub.it',
+ '$2b$12$y2yq6X2f3dZi22wqWZd1aumP03IU6OWrrevRMFj9054aGnUms116W', -- SuperAdmin@PEChub2026!
+ 'Super Admin PEChub',
'super_admin',
TRUE
)
ON CONFLICT (tenant_id, email) DO NOTHING;
-- Utente admin del tenant demo
--- Password: Demo@PecFlow2026! (bcrypt hash)
+-- Password: Demo@PEChub2026! (bcrypt hash)
INSERT INTO users (id, tenant_id, email, password_hash, full_name, role, is_active)
VALUES (
'11111111-0000-0000-0000-000000000001',
'11111111-1111-1111-1111-111111111111',
- 'admin@demo.pecflow.it',
- '$2b$12$PmyaJvF0i7ACFR39k6hfMO2.6U.FVPYma.7OyXyrGuGuokiJOfX8y', -- Demo@PecFlow2026!
+ 'admin@demo.pechub.it',
+ '$2b$12$PmyaJvF0i7ACFR39k6hfMO2.6U.FVPYma.7OyXyrGuGuokiJOfX8y', -- Demo@PEChub2026!
'Admin Demo',
'admin',
TRUE
@@ -53,13 +53,13 @@ VALUES (
ON CONFLICT (tenant_id, email) DO NOTHING;
-- Utente operator del tenant demo
--- Password: Oper@PecFlow2026! (bcrypt hash)
+-- Password: Oper@PEChub2026! (bcrypt hash)
INSERT INTO users (id, tenant_id, email, password_hash, full_name, role, is_active)
VALUES (
'11111111-0000-0000-0000-000000000002',
'11111111-1111-1111-1111-111111111111',
- 'operator@demo.pecflow.it',
- '$2b$12$Z0REc7flPCD3Sb8fZHsuW.Uk2X4JiJO7HhTajNSuPiQgzppkCDmLu', -- Oper@PecFlow2026!
+ 'operator@demo.pechub.it',
+ '$2b$12$Z0REc7flPCD3Sb8fZHsuW.Uk2X4JiJO7HhTajNSuPiQgzppkCDmLu', -- Oper@PEChub2026!
'Operatore Demo',
'operator',
TRUE
@@ -74,7 +74,7 @@ DO $$
BEGIN
RAISE NOTICE '✅ Seed completato!';
RAISE NOTICE ' Tenant demo: 11111111-1111-1111-1111-111111111111';
- RAISE NOTICE ' Admin: admin@demo.pecflow.it / Demo@PecFlow2026!';
- RAISE NOTICE ' Operator: operator@demo.pecflow.it / Oper@PecFlow2026!';
+ RAISE NOTICE ' Admin: admin@demo.pechub.it / Demo@PEChub2026!';
+ RAISE NOTICE ' Operator: operator@demo.pechub.it / Oper@PEChub2026!';
END
$$;
diff --git a/docker-compose.yml b/docker-compose.yml
index 513d5e6..dbcadd7 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,4 +1,4 @@
-name: pecflow
+name: pechub
services:
@@ -7,9 +7,9 @@ services:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_DB: pecflow
- POSTGRES_USER: pecflow
- POSTGRES_PASSWORD: pecflow_dev_password
+ POSTGRES_DB: pechub
+ POSTGRES_USER: pechub
+ POSTGRES_PASSWORD: pechub_dev_password
ports:
- "5432:5432"
volumes:
@@ -17,12 +17,12 @@ services:
- ./database/init:/docker-entrypoint-initdb.d/init:ro
- ./database/seeds:/docker-entrypoint-initdb.d/seeds:ro
healthcheck:
- test: ["CMD-SHELL", "pg_isready -U pecflow -d pecflow"]
+ test: ["CMD-SHELL", "pg_isready -U pechub -d pechub"]
interval: 5s
timeout: 5s
retries: 10
networks:
- - pecflow_net
+ - pechub_net
# ─── Redis 7 ────────────────────────────────────────────────────────────────
redis:
@@ -40,7 +40,7 @@ services:
timeout: 3s
retries: 10
networks:
- - pecflow_net
+ - pechub_net
# ─── MinIO (Object Storage S3-compatible) ───────────────────────────────────
minio:
@@ -61,7 +61,7 @@ services:
timeout: 5s
retries: 5
networks:
- - pecflow_net
+ - pechub_net
# ─── MinIO bucket initializer ───────────────────────────────────────────────
minio-init:
@@ -72,12 +72,12 @@ services:
entrypoint: >
/bin/sh -c "
mc alias set local http://minio:9000 minioadmin minioadmin &&
- mc mb --ignore-existing local/pecflow &&
- mc anonymous set none local/pecflow &&
- echo 'MinIO bucket pecflow creato'
+ mc mb --ignore-existing local/pechub &&
+ mc anonymous set none local/pechub &&
+ echo 'MinIO bucket pechub creato'
"
networks:
- - pecflow_net
+ - pechub_net
# ─── Backend FastAPI ─────────────────────────────────────────────────────────
backend:
@@ -87,8 +87,8 @@ services:
restart: unless-stopped
env_file: .env
environment:
- DATABASE_URL: postgresql+asyncpg://pecflow:pecflow_dev_password@db:5432/pecflow
- DATABASE_URL_SYNC: postgresql://pecflow:pecflow_dev_password@db:5432/pecflow
+ DATABASE_URL: postgresql+asyncpg://pechub:pechub_dev_password@db:5432/pechub
+ DATABASE_URL_SYNC: postgresql://pechub:pechub_dev_password@db:5432/pechub
REDIS_URL: redis://redis:6379/0
MINIO_ENDPOINT: minio:9000
ports:
@@ -107,7 +107,7 @@ services:
timeout: 5s
retries: 5
networks:
- - pecflow_net
+ - pechub_net
# ─── Frontend React (Vite dev server) ──────────────────────────────────────
frontend:
@@ -128,7 +128,7 @@ services:
depends_on:
- backend
networks:
- - pecflow_net
+ - pechub_net
# ─── Nginx reverse proxy ─────────────────────────────────────────────────────
nginx:
@@ -143,7 +143,7 @@ services:
- backend
- frontend
networks:
- - pecflow_net
+ - pechub_net
# ─── Worker IMAP Sync (arq) ──────────────────────────────────────────────────
worker:
@@ -153,7 +153,7 @@ services:
restart: unless-stopped
env_file: .env
environment:
- DATABASE_URL: postgresql+asyncpg://pecflow:pecflow_dev_password@db:5432/pecflow
+ DATABASE_URL: postgresql+asyncpg://pechub:pechub_dev_password@db:5432/pechub
REDIS_URL: redis://redis:6379/0
MINIO_ENDPOINT: minio:9000
volumes:
@@ -166,7 +166,7 @@ services:
minio:
condition: service_healthy
networks:
- - pecflow_net
+ - pechub_net
# ─── GreenMail (server IMAP/SMTP mock per test) ───────────────────────────────
greenmail:
@@ -195,14 +195,14 @@ services:
profiles:
- greenmail # avviato solo con: docker compose --profile greenmail up
networks:
- - pecflow_net
+ - pechub_net
# ─── PgAdmin (solo dev) ──────────────────────────────────────────────────────
pgadmin:
image: dpage/pgadmin4:latest
restart: unless-stopped
environment:
- PGADMIN_DEFAULT_EMAIL: admin@pecflow.it
+ PGADMIN_DEFAULT_EMAIL: admin@pechub.it
PGADMIN_DEFAULT_PASSWORD: admin
PGADMIN_CONFIG_SERVER_MODE: "False"
ports:
@@ -214,7 +214,7 @@ services:
profiles:
- tools
networks:
- - pecflow_net
+ - pechub_net
volumes:
postgres_data:
@@ -223,5 +223,5 @@ volumes:
pgadmin_data:
networks:
- pecflow_net:
+ pechub_net:
driver: bridge
diff --git a/frontend/src/components/PecBadge/PecBadge.tsx b/frontend/src/components/PecBadge/PecBadge.tsx
index e392d21..152f0d5 100644
--- a/frontend/src/components/PecBadge/PecBadge.tsx
+++ b/frontend/src/components/PecBadge/PecBadge.tsx
@@ -19,14 +19,14 @@ const STATE_COLORS: Record
- ⚠ Nessuna casella PEC associata + Nessuna casella PEC associata
)} @@ -581,7 +581,7 @@ function VBoxFormDialog({ open, editingVbox, onClose, onSaved }: VBoxFormDialogP )} {(selectedMailboxIds ?? []).length === 0 && availableMailboxes.length > 0 && (- ⚠ Seleziona almeno una casella PEC reale da associare. + Seleziona almeno una casella PEC reale da associare.
)} diff --git a/worker/app/__init__.py b/worker/app/__init__.py index 8baafb0..b8d5bc3 100644 --- a/worker/app/__init__.py +++ b/worker/app/__init__.py @@ -1 +1 @@ -# Worker PecFlow +# Worker PEChub diff --git a/worker/app/config.py b/worker/app/config.py index 09c4414..ed68f52 100644 --- a/worker/app/config.py +++ b/worker/app/config.py @@ -21,7 +21,7 @@ class WorkerSettings(BaseSettings): log_level: str = "INFO" # ── Database ────────────────────────────────────────────────────────────── - database_url: str = "postgresql+asyncpg://pecflow:pecflow_dev_password@db:5432/pecflow" + database_url: str = "postgresql+asyncpg://pechub:pechub_dev_password@db:5432/pechub" # ── Redis ───────────────────────────────────────────────────────────────── redis_url: str = "redis://redis:6379/0" @@ -30,7 +30,7 @@ class WorkerSettings(BaseSettings): minio_endpoint: str = "minio:9000" minio_access_key: str = "minioadmin" minio_secret_key: str = "minioadmin" - minio_bucket: str = "pecflow" + minio_bucket: str = "pechub" minio_use_ssl: bool = False # ── Cifratura credenziali (ADR-002) ─────────────────────────────────────── diff --git a/worker/app/main.py b/worker/app/main.py index 151c235..75a9ff9 100644 --- a/worker/app/main.py +++ b/worker/app/main.py @@ -1,5 +1,5 @@ """ -Entrypoint worker arq – PecFlow IMAP Sync Engine. +Entrypoint worker arq – PEChub IMAP Sync Engine. Avvio: python -m app.main @@ -55,7 +55,7 @@ async def on_startup(ctx: dict[str, Any]) -> None: """ global _mailbox_pool - logger.info("🚀 PecFlow Worker avviato") + logger.info("🚀 PEChub Worker avviato") logger.info(f" DB: {settings.database_url.split('@')[-1]}") logger.info(f" Redis: {settings.redis_url}") logger.info(f" MinIO: {settings.minio_endpoint}") @@ -85,7 +85,7 @@ async def on_shutdown(ctx: dict[str, Any]) -> None: """Cleanup all'arresto del worker.""" global _mailbox_pool - logger.info("🛑 PecFlow Worker in arresto...") + logger.info("🛑 PEChub Worker in arresto...") pool = ctx.get("mailbox_pool") or _mailbox_pool if pool: @@ -161,5 +161,5 @@ class WorkerSettings: # ─── Entrypoint ─────────────────────────────────────────────────────────────── if __name__ == "__main__": - logger.info("Avvio PecFlow Worker (arq)...") + logger.info("Avvio PEChub Worker (arq)...") run_worker(WorkerSettings) diff --git a/worker/app/smtp/sender.py b/worker/app/smtp/sender.py index 34278bb..4ca7815 100644 --- a/worker/app/smtp/sender.py +++ b/worker/app/smtp/sender.py @@ -115,7 +115,7 @@ class SmtpSender: body_container = msg # Headers obbligatori - message_id = make_msgid(domain="pecflow.local") + message_id = make_msgid(domain="pechub.local") msg["From"] = self.mailbox.email_address msg["To"] = ", ".join(to_addresses) if cc_addresses: diff --git a/worker/app/storage/minio_client.py b/worker/app/storage/minio_client.py index 3119b43..1027733 100644 --- a/worker/app/storage/minio_client.py +++ b/worker/app/storage/minio_client.py @@ -1,8 +1,8 @@ """ Client MinIO/S3 asincrono per il worker. -Percorso EML raw: pecflow/tenants/{tenant_id}/mailboxes/{mailbox_id}/raw/{uid}.eml -Percorso allegati: pecflow/tenants/{tenant_id}/mailboxes/{mailbox_id}/attachments/{msg_id}/{filename} +Percorso EML raw: pechub/tenants/{tenant_id}/mailboxes/{mailbox_id}/raw/{uid}.eml +Percorso allegati: pechub/tenants/{tenant_id}/mailboxes/{mailbox_id}/attachments/{msg_id}/{filename} """ import io diff --git a/worker/tests/integration/test_smtp_real_aruba.py b/worker/tests/integration/test_smtp_real_aruba.py index 23eaddc..404511d 100644 --- a/worker/tests/integration/test_smtp_real_aruba.py +++ b/worker/tests/integration/test_smtp_real_aruba.py @@ -11,7 +11,7 @@ Testa: 5. Rilevazione ricevute accettazione/consegna Eseguire DENTRO il container worker: - docker exec -e PYTHONPATH=/worker pecflow-worker-1 python \ + docker exec -e PYTHONPATH=/worker pechub-worker-1 python \ /worker/tests/integration/test_smtp_real_aruba.py """ @@ -28,7 +28,7 @@ from unittest.mock import MagicMock if "ENCRYPTION_KEY" not in os.environ: os.environ["ENCRYPTION_KEY"] = "6465762d656e6372797074696f6e2d6b65792d6e6f742d666f722d70726f6400" os.environ.setdefault("SECRET_KEY", "dev-secret-key-not-for-production-use-only-for-local-0000000000000") -os.environ.setdefault("DATABASE_URL", "postgresql+asyncpg://pecflow:pecflow_dev_password@db:5432/pecflow") +os.environ.setdefault("DATABASE_URL", "postgresql+asyncpg://pechub:pechub_dev_password@db:5432/pechub") os.environ.setdefault("REDIS_URL", "redis://redis:6379/0") os.environ.setdefault("MINIO_ENDPOINT", "minio:9000") @@ -157,9 +157,9 @@ async def test_smtp_send() -> tuple[str | None, bool]: sender = SmtpSender(mailbox) ts = datetime.now().strftime("%Y-%m-%d %H:%M:%S") - subject = f"[PecFlow TEST] Verifica SMTP+Ricevute – {ts}" + subject = f"[PEChub TEST] Verifica SMTP+Ricevute – {ts}" body = ( - f"Messaggio di test automatico PecFlow – {ts}\n\n" + f"Messaggio di test automatico PEChub – {ts}\n\n" "Verifica:\n" " 1. Connessione SMTP SSL porta 465 → smtps.pec.aruba.it\n" " 2. Autenticazione e invio PEC\n" @@ -167,7 +167,7 @@ async def test_smtp_send() -> tuple[str | None, bool]: " 4. Ricezione ricevuta di avvenuta consegna\n\n" f"Mittente : {PEC_EMAIL}\n" f"Destinato: {TO_ADDRESS}\n\n" - "Non rispondere. Generato da PecFlow SaaS.\n" + "Non rispondere. Generato da PEChub SaaS.\n" ) _sep() @@ -458,7 +458,7 @@ async def test_imap_full_inspection() -> None: print(" • I messaggi in INBOX non sono ancora stati aggiornati") print() print(" 💡 Ri-esegui lo STEP 2 manualmente tra qualche secondo con:") - print(" docker exec -e PYTHONPATH=/worker pecflow-worker-1 python -c \"") + print(" docker exec -e PYTHONPATH=/worker pechub-worker-1 python -c \"") print(" import asyncio, sys; sys.path.insert(0,'/worker')") print(" from tests.integration.test_smtp_real_aruba import test_imap_full_inspection") print(" asyncio.run(test_imap_full_inspection())\"") @@ -481,7 +481,7 @@ def _sep(char: str = "─", width: int = 60) -> None: def _banner() -> None: _sep("═") - print(" PecFlow – Test SMTP/IMAP Reale (Aruba PEC)") + print(" PEChub – Test SMTP/IMAP Reale (Aruba PEC)") _sep("═") print(f" Timestamp : {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}") print(f" Casella PEC : {PEC_EMAIL}")