Feature Description
Three housekeeping improvements to the test infrastructure:
- Move
DBTestingConnection (and new MockResultSets) from testing/classes/ to the root test package so the test tree mirrors src/main.
- Migrate
.github/copilot-instructions.md from Python to Scala — correct tooling, add JMF criteria, add Repo additions.
- Add project-specific JMF rules for deprecated delegates, factory wrappers, label-overloads, and trivial accessors.
Problem / Opportunity
testing/classes/ has no main-tree counterpart. JMF flags trivially untestable methods as coverage gaps. Copilot instructions reference the wrong language and tools.
Acceptance Criteria
testing/classes/ is deleted; imports updated to za.co.absa.db.balta.
QueryResult has its own unit and integration test files; its tests are not in QueryResultRowIntegrationTests.
MockResultSets exposes emptyMockResultSet, singleRowMockResultSet, twoRowMockResultSet, mockResultSetWithCols(n).
- Every new JMF rule has a one-line comment; none covers a method with branching logic.
sbt "testOnly *UnitTests" passes without a DB.
Proposed Solution
All changes are in branch feature/improve-jmf-rules-by-adding-unit-tests:
- Relocate
DBTestingConnection.scala and new MockResultSets.scala to balta/src/test/scala/za/co/absa/db/balta/
- Add
QueryResultUnitTests.scala (10 tests, no DB) and QueryResultIntegrationTests.scala (split from QueryResultRowIntegrationTests)
- Add 9 project-specific rules to
jmf-rules.txt under # PROJECT RULES
- Rewrite
.github/copilot-instructions.md and .github/copilot-review-rules.md for Scala/sbt
Dependencies / Related
No response
Additional Context
No response
Feature Description
Three housekeeping improvements to the test infrastructure:
DBTestingConnection(and newMockResultSets) fromtesting/classes/to the root test package so the test tree mirrorssrc/main..github/copilot-instructions.mdfrom Python to Scala — correct tooling, add JMF criteria, addRepo additions.Problem / Opportunity
testing/classes/has no main-tree counterpart. JMF flags trivially untestable methods as coverage gaps. Copilot instructions reference the wrong language and tools.Acceptance Criteria
testing/classes/is deleted; imports updated toza.co.absa.db.balta.QueryResulthas its own unit and integration test files; its tests are not inQueryResultRowIntegrationTests.MockResultSetsexposesemptyMockResultSet,singleRowMockResultSet,twoRowMockResultSet,mockResultSetWithCols(n).sbt "testOnly *UnitTests"passes without a DB.Proposed Solution
All changes are in branch
feature/improve-jmf-rules-by-adding-unit-tests:DBTestingConnection.scalaand newMockResultSets.scalatobalta/src/test/scala/za/co/absa/db/balta/QueryResultUnitTests.scala(10 tests, no DB) andQueryResultIntegrationTests.scala(split fromQueryResultRowIntegrationTests)jmf-rules.txtunder# PROJECT RULES.github/copilot-instructions.mdand.github/copilot-review-rules.mdfor Scala/sbtDependencies / Related
No response
Additional Context
No response