test/feat: Vercel lifecycle, Soroban snapshot, migration integrity, deployment pipeline integration tests#872
Merged
Merged
Conversation
…on test Simulates the complete domain lifecycle (project create → domain add → verification polling → cert check) using injected mock fetch handlers. Covers: false×2 then true polling, domain_already_in_use 409 path, and deployment record status transitions across all lifecycle stages. closes StellerCraft#796
… recovery Implements ContractStateSnapshotService that captures all persistent ContractData ledger entries at a given ledger sequence, compresses them with zlib, and stores them in Supabase Storage. Supports restoring a snapshot for offline Soroban sandbox replay. Enforces a 10 MB uncompressed size limit per snapshot. Tests cover snapshot, restore, round-trip fidelity, size limit, and error paths. closes StellerCraft#794
…ack coverage Extends the migration test suite with per-migration schema assertions for all 13 migrations, a full-table snapshot after every migration is applied, index verification, and a rollback test for migration 013 that drops the github_webhook_deliveries tables and confirms no orphaned FK constraints remain on pre-013 tables. closes StellerCraft#797
…ock injection
Integration test exercising the full deployment initiation flow via the
real route handler. Intercepts GitHub REST API calls (POST /user/repos,
POST /repos/{owner}/{repo}/git/refs) through injected mock fetch. Asserts
the deployments table transitions through pending→generating→creating_repo
and that GitHub 403 (repository limit reached) is mapped to the
REPOSITORY_LIMIT_REACHED error code (HTTP 402) returned to the client.
closes StellerCraft#795
|
@observerr411 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
verified: true.ContractStateSnapshotServiceinpackages/stellar/src/that captures all persistent Soroban ContractData entries at a given ledger, compresses them with zlib (10 MB limit), stores them in Supabase Storage, and supports point-in-time restore for offline replay. Full test suite covering round-trip fidelity, size limit, and storage/DB error paths.supabase/tests/migrations/migration.test.tswith sequential per-migration schema assertions for all 13 migrations, full-table snapshot verification, index checks, and a rollback test for migration 013 (github_webhook_delivery_tracking) that verifies no orphaned FK constraints remain.POST /user/repos,POST /repos/{owner}/{repo}/git/refs). Asserts deployment record transitionspending → generating → creating_repoand that GitHub 403 maps toREPOSITORY_LIMIT_REACHED/ HTTP 402.Test plan
pnpm test -- vercel-domain-lifecycle.integration— all lifecycle stages and error paths passpnpm test --filter=stellar -- contract-state-snapshot— snapshot/restore round-trip passespnpm test -- migration— all 13 migration assertions and rollback test passpnpm test -- deployment-pipeline.github.integration— all GitHub API interaction assertions passpnpm lintpassespnpm typecheckpassesCloses #796
Closes #794
Closes #797
Closes #795