Skip to content

test: Enhanced integration testing #20

Description

@db-tycoon-stephen

Summary

Expand integration test coverage for CLI commands and SnowDDL workflows.

Motivation

From roadmap Priority 2 and Technical Debt:

  • Current test coverage ~40%, target >80%
  • Limited integration tests
  • Missing end-to-end tests

Proposed Test Suites

tests/integration/
├── test_cli_snowddl_integration.py   # CLI <-> SnowDDL interaction
├── test_authentication_methods.py     # RSA keys, encrypted passwords
├── test_deployment_workflow.py        # Plan -> Apply flow
└── test_yaml_validation.py            # Config validation

Test Scenarios

  1. CLI Integration

    • snowddl-plan produces expected output format
    • snowddl-apply with --dry-run mode
    • Error handling for missing configs
  2. Authentication

    • RSA key generation and validation
    • Password encryption/decryption roundtrip
    • Fernet key handling
  3. Workflow

    • Full plan -> review -> apply cycle (mocked)
    • Rollback scenarios
    • Concurrent modification handling

Acceptance Criteria

  • Test coverage increased to >60%
  • All new tests pass in CI
  • Integration tests isolated (no real Snowflake calls)
  • Tests documented in TESTING.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions