Skip to content

[Feature] Integration test runner - #91

Open
sakari-malkki wants to merge 11 commits into
devfrom
feature/test-runner
Open

[Feature] Integration test runner#91
sakari-malkki wants to merge 11 commits into
devfrom
feature/test-runner

Conversation

@sakari-malkki

Copy link
Copy Markdown
Collaborator

Adds new Px.Utils.IntegrationTest project with a small database with both valid and invalid px and alias files. Runs predetermined tests for validation, full and limited data query and computation processes.

Integration test run added to CI.yml.

Fixed few mostly alias file and database related validation issues.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a CI-integrated console runner for validating PX fixtures, data queries, and matrix calculations, alongside database-validation fixes.

Changes:

  • Adds deterministic integration scenarios and fixtures.
  • Improves alias-file, empty-database, path, and concurrency handling.
  • Adds CI execution, tests, and architecture documentation.

Reviewed changes

Copilot reviewed 49 out of 50 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
Px.Utils/Validation/ValidationFeedback.cs Synchronizes feedback writes.
Px.Utils/Validation/Enums.cs Adds database feedback rules.
Px.Utils/Validation/DatabaseValidation/DatabaseValidatorFunctions.cs Improves paths and alias matching.
Px.Utils/Validation/DatabaseValidation/DatabaseValidator.cs Adds alias encoding and empty-database handling.
Px.Utils/Validation/ContentValidation/ContentValidator.cs Handles single-axis data dimensions.
Px.Utils/Px.Utils.csproj Bumps version and adds Ude.
Px.Utils.UnitTests/Validation/PxFileValidationTests/PxFileValidationTests.cs Tests single-axis PX files.
Px.Utils.UnitTests/Validation/Fixtures/PxFileFixtures.cs Adds single-axis fixtures.
Px.Utils.UnitTests/Validation/DatabaseValidation/MockFileSystem.cs Extends database mocks.
Px.Utils.UnitTests/Validation/DatabaseValidation/DatabaseValidatorTests.cs Tests new database behavior.
Px.Utils.sln Registers integration project.
Px.Utils.IntegrationTest/TestResult.cs Defines scenario results.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_ras_pxt_13m4.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_kttav_pxt_11b6.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_klts_pxt_11wv.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_kihi_pxt_141f.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_khi_pxt_122q.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_jate_pxt_jate001.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_cvts_pxt_13vr.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_atp_pxt_11n3.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/statfin_akay_pxt_013.px Adds valid PX fixture.
Px.Utils.IntegrationTest/test-database/valid-files/Alias_sv.txt Adds Swedish alias fixture.
Px.Utils.IntegrationTest/test-database/valid-files/Alias_fi.txt Adds Finnish alias fixture.
Px.Utils.IntegrationTest/test-database/valid-files/Alias_en.txt Adds English alias fixture.
Px.Utils.IntegrationTest/test-database/invalid-files/statfin_vpa_pxt_132.px Adds invalid PX fixture.
Px.Utils.IntegrationTest/test-database/invalid-files/statfin_tvki_pxt_141r.px Adds invalid PX fixture.
Px.Utils.IntegrationTest/test-database/invalid-files/statfin_tvki_pxt_141p.px Adds invalid PX fixture.
Px.Utils.IntegrationTest/test-database/invalid-files/statfin_opiskt_pxt_13nm.px Adds invalid PX fixture.
Px.Utils.IntegrationTest/test-database/invalid-files/Alias_fi.txt Adds invalid-set alias.
Px.Utils.IntegrationTest/test-database/invalid-files/Alias_en.txt Adds encoded alias fixture.
Px.Utils.IntegrationTest/test-database/Alias_sv.txt Adds root Swedish alias.
Px.Utils.IntegrationTest/test-database/Alias_fi.txt Adds root Finnish alias.
Px.Utils.IntegrationTest/test-database/Alias_en.txt Adds root English alias.
Px.Utils.IntegrationTest/Scenarios/DataScenarios.cs Runs validation and query scenarios.
Px.Utils.IntegrationTest/Scenarios/CalculationScenario.cs Runs matrix calculations.
Px.Utils.IntegrationTest/PxLoader.cs Loads metadata and data.
Px.Utils.IntegrationTest/Px.Utils.IntegrationTest.csproj Configures integration executable.
Px.Utils.IntegrationTest/Program.cs Defines executable entry point.
Px.Utils.IntegrationTest/IntegrationTestRunner.cs Coordinates scenarios and exit codes.
Px.Utils.IntegrationTest/ExpectedResults/validation-results.json Defines validation expectations.
Px.Utils.IntegrationTest/ExpectedResults/limited-query-results.json Defines mapped-read expectations.
Px.Utils.IntegrationTest/ExpectedResults/full-query-results.json Defines full-read expectations.
Px.Utils.IntegrationTest/ExpectedResults/ExpectationModels.cs Models expectation documents.
Px.Utils.IntegrationTest/Assertions/IntegrationAssert.cs Compares scenario results.
Px.Utils.IntegrationTest/Assertions/DifferenceFormatter.cs Formats comparison failures.
docs/README.md Documents runner usage.
docs/architecture.testing.md Documents integration testing.
docs/architecture.overview.md Adds project architecture entry.
.github/workflows/CI.yml Runs integration tests in CI.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Px.Utils/Validation/DatabaseValidation/DatabaseValidator.cs Outdated
Comment thread Px.Utils/Validation/DatabaseValidation/DatabaseValidatorFunctions.cs Outdated
Comment thread Px.Utils.IntegrationTest/Scenarios/DataScenarios.cs
Comment thread Px.Utils/Px.Utils.csproj
Comment thread Px.Utils/Validation/DatabaseValidation/DatabaseValidator.cs
Comment thread docs/architecture.overview.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants