PluginBench
Skill
Official
Pass
Audit score 90

scaffolding-oracle-to-postgres-migration-test-project

github/awesome-copilot

Scaffold xUnit integration test infrastructure for Oracle-to-PostgreSQL migration projects in .NET.

What is scaffolding-oracle-to-postgres-migration-test-project?

Creates a compilable xUnit test project with transaction-rollback base class and seed data manager for Oracle databases. Use this during Phase 3 to establish test infrastructure before writing baseline integration tests; do not re-run during Phase 6 when the PostgreSQL test project is created by migrating this scaffolded project.

  • Creates an xUnit test project matching the target application's .NET version
  • Adds Oracle database connectivity packages (Oracle.ManagedDataAccess.Core) and configures appsettings.json
  • Implements a transaction-rollback base class that rolls back after each test to preserve database state
  • Provides a seed data manager for loading test data within transaction scope without committing
  • Establishes naming conventions for seed file location for downstream test creation

How to install scaffolding-oracle-to-postgres-migration-test-project

npx skills add https://github.com/github/awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project
Prerequisites
  • A .NET solution with a target project to test against
  • Access to an Oracle database for test execution
  • NuGet package management configured in the development environment
Claude Code
Cursor
Windsurf
Cline

How to use scaffolding-oracle-to-postgres-migration-test-project

  1. 1.Run the skill and specify the target project to test
  2. 2.Review the generated test project's .csproj to confirm .NET version and package versions match the target
  3. 3.Verify appsettings.json is configured with correct Oracle connection details
  4. 4.Inspect the transaction-rollback base class and seed data manager implementations
  5. 5.Build the test project and confirm zero compilation errors before proceeding to write test cases

Use cases

Good for
  • Setting up test infrastructure before writing Oracle baseline integration tests in Phase 3
  • Establishing transaction management patterns that will be migrated to PostgreSQL in Phase 6
  • Creating a reusable test harness for multiple test classes targeting the same Oracle database
  • Ensuring test data isolation without modifying production or persistent test data
  • Preparing a compilable, empty test project as the foundation for a database migration validation suite
Who it's for
  • Database migration engineers working on Oracle-to-PostgreSQL transitions
  • QA engineers writing integration tests for .NET applications
  • Development teams validating database compatibility across platforms
  • Teams following a structured migration workflow with distinct phases

scaffolding-oracle-to-postgres-migration-test-project FAQ

When should I run this skill?

Run this skill only during Phase 3, before writing Oracle baseline integration tests. Do not re-run during Phase 6; the PostgreSQL test project is created by migrating this scaffolded project, not by running this skill again.

What .NET version should the test project target?

The test project targets the same .NET version as the application under test. The skill reads the target project's .csproj and matches versions exactly without upgrading.

Will test data persist after tests run?

No. The transaction-rollback base class rolls back all changes after each test, including seed data. Existing database data is preserved and not truncated.

Can I use this skill for PostgreSQL testing?

No. This skill scaffolds Oracle-targeting test infrastructure only. The PostgreSQL test project is created in Phase 6 by copying and migrating this Oracle project.

What happens if the test project fails to compile?

The skill includes a verification step to build and confirm zero compilation errors before finishing. If compilation fails, review the generated code and appsettings.json configuration.

Full instructions (SKILL.md)

Source of truth, from github/awesome-copilot.


name: scaffolding-oracle-to-postgres-migration-test-project description: 'Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.'

Scaffolding an Integration Test Project for Oracle-to-PostgreSQL Migration

Creates a compilable, empty xUnit test project with transaction management and seed data infrastructure for a single target project. Run once per project before writing tests.

Workflow

Progress:
- [ ] Step 1: Inspect the target project
- [ ] Step 2: Create the xUnit test project
- [ ] Step 3: Implement transaction-rollback base class
- [ ] Step 4: Implement seed data manager
- [ ] Step 5: Verify the project compiles

Step 1: Inspect the target project

Read the target project's .csproj to determine the .NET version and existing package references. Match these versions exactly — do not upgrade.

Step 2: Create the xUnit test project

  • Target the same .NET version as the application under test.
  • Add NuGet packages for Oracle database connectivity (Oracle.ManagedDataAccess.Core) and xUnit.
  • Add a project reference to the target project only — no other application projects.
  • Add an appsettings.json configured for Oracle database connectivity.

Step 3: Implement transaction-rollback base class

  • Create a base test class that opens a transaction before each test and rolls it back after.
  • Catch and handle all exceptions to guarantee rollback.
  • Make the pattern inheritable by all downstream test classes.

Step 4: Implement seed data manager

  • Create a global seed manager for loading test data within the transaction scope.
  • Do not commit seed data — transactions roll back after each test.
  • Do not use TRUNCATE TABLE — preserve existing database data.
  • Establish a naming convention for seed file location that downstream test creation will follow.

Step 5: Verify the project compiles

Build the test project and confirm it compiles with zero errors before finishing.

Key Constraints

  • Phase 3 only — this skill scaffolds the Oracle-targeting test project. The PostgreSQL test project (Phase 6) is created by copying and migrating this project; do not run this skill again at that point.
  • Oracle is the golden behavior source — scaffold for Oracle only, not PostgreSQL.
  • Keep to existing .NET and C# versions; do not introduce newer language or runtime features.
  • Output is an empty test project with infrastructure only — no test cases.