Files
care-api/tests/unit/Security/README.md
T
ealmeida 658b2a5136
⚡ Quick Security Scan / 🚨 Quick Vulnerability Detection (push) Failing after 26s
docs(okf): frontmatter OKF + rich abstracts nas descriptions
Normalizacao OKF dos .md: type/title/description/timestamp/layer +
descriptions factuais (rich abstracts). Apenas .md tracked; corpos intactos.
Parte da aplicacao OKF a /Dados/Dev (28-06-2026).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 22:58:20 +01:00

3.2 KiB

type, title, description, timestamp, layer
type title description timestamp layer
Reference Readme Este directório contém os testes unitários para a classe `Security_Manager` do Care API, focando nas funcionalidades crí… 2025-09-14T03:27:08.976803+00:00 raw

Security Manager Unit Tests

Descrição

Este directório contém os testes unitários para a classe Security_Manager do Care API, focando nas funcionalidades críticas de segurança:

5 Testes Principais

  1. test_validate_endpoint_permissions() - Validação de permissões de endpoints

    • Endpoints públicos (status, health, version)
    • Endpoints de autenticação (login, password reset)
    • Endpoints protegidos (require JWT)
  2. test_rate_limiting_enforcement() - Aplicação de rate limiting

    • Diferentes limites por tipo de endpoint
    • Separação por endereço IP
    • Bloqueio quando limite excedido
  3. test_authentication_requirement_check() - Verificação de autenticação

    • Headers Authorization obrigatórios
    • Formato Bearer válido
    • Disponibilidade do serviço JWT
  4. test_sql_injection_protection() - Proteção contra SQL injection

    • Sanitização de inputs maliciosos
    • Validação por tipo de dados
    • Bloqueio de padrões perigosos
  5. test_xss_prevention() - Prevenção XSS

    • Escape de outputs HTML
    • Sanitização recursiva de arrays/objects
    • Diferentes contextos (text, html, url, attribute, javascript)

Como Executar

Executar apenas testes de Security Manager:

vendor/bin/phpunit tests/unit/Security/SecurityManagerTest.php

Executar todos os testes unitários:

vendor/bin/phpunit --testsuite="KiviCare API Unit Tests"

Com coverage:

vendor/bin/phpunit tests/unit/Security/SecurityManagerTest.php --coverage-text

Dependências

  • PHPUnit 10+ - Framework de testes
  • WordPress Test Framework - Ambiente WordPress para testes
  • Care API Security Manager - Classe sendo testada

Estrutura dos Testes

Cada teste segue a estrutura:

  1. Setup - Configuração do ambiente (transients, mocks, $_SERVER vars)
  2. Execute - Execução da funcionalidade
  3. Assert - Validação dos resultados
  4. Cleanup - Limpeza automática no tearDown()

Cobertura de Testes

Os testes cobrem:

  • Cenários positivos (funcionamento correcto)
  • Cenários negativos (falhas esperadas)
  • Edge cases (valores limites, formatos inválidos)
  • Casos de erro (serviços indisponíveis)

Notas Técnicas

  • Transients Mockados: Rate limiting usa sistema de transients mockado para testes isolados
  • WordPress Nonces: Usa nonces reais do WordPress para autenticidade
  • PHP 8.1+ Compatible: Sintaxe moderna com strict types
  • PSR-4 Autoloading: Namespaces correctos para autoload
  • WordPress Coding Standards: Segue WPCS para consistência

Exemplo de Output

PHPUnit 10.5.0

testValidateEndpointPermissions     ✓
testRateLimitingEnforcement         ✓
testAuthenticationRequirementCheck ✓
testSqlInjectionProtection          ✓
testXssPrevention                   ✓

Time: 00:00.123, Memory: 10.00 MB

OK (5 tests, 47 assertions)

Implementado: 2025-09-14 | Versão: 1.0.0 | Autor: Descomplicar®