Skip to content

fix: mock_core server build#1890

Merged
JoshuaSBrown merged 1 commit intodevelfrom
1854-mock-core-fix
Mar 19, 2026
Merged

fix: mock_core server build#1890
JoshuaSBrown merged 1 commit intodevelfrom
1854-mock-core-fix

Conversation

@JoshuaSBrown
Copy link
Copy Markdown
Collaborator

@JoshuaSBrown JoshuaSBrown commented Mar 12, 2026

Ticket

Description

How Has This Been Tested?

Artifacts (if appropriate):

Tasks

  • - A description of the PR has been provided, and a diagram included if it is a new feature.
  • - Formatter has been run
  • - CHANGELOG comment has been added
  • - Labels have been assigned to the pr
  • - A reviwer has been added
  • - A user has been assigned to work on the pr
  • - If new feature a unit test has been added

Summary by Sourcery

Fix mock_core test server version reporting and ensure its version header is generated during test builds.

Bug Fixes:

  • Correct version namespace used for mock_core component version in the test client worker so the server reports the intended version values.

Build:

  • Generate tests/mock_core/Version.hpp from Version.hpp.in via CMake during test configuration so the mock_core server can be built with the expected version header.

Tests:

  • Adjust mock_core client worker in tests to use the mock_core version constants rather than the core library versions.

@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai bot commented Mar 12, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Fixes the mock_core test server build by aligning the version reporting in ClientWorker with the mock_core-local version namespace and wiring CMake to generate a mock_core Version.hpp header from a template during test configuration.

File-Level Changes

Change Details Files
Align mock_core ClientWorker version response with mock_core-local version constants instead of core library version constants.
  • Updated version reply to use version::MAJOR/MINOR/PATCH in procVersionRequest instead of core::version::MAJOR/MINOR/PATCH to remove the dependency on the core library version namespace.
tests/mock_core/ClientWorker.cpp
Generate a mock_core Version.hpp header for tests at configure time.
  • Added a CMake configure_file step to generate mock_core/Version.hpp from Version.hpp.in when integration tests are enabled, ensuring the mock_core test server has a version header available at build time.
  • Introduced a new Version.hpp.in template file in tests/mock_core as the source for the generated Version.hpp header.
tests/CMakeLists.txt
tests/mock_core/Version.hpp.in

Possibly linked issues

  • #[Authz, GridFTP]: PR fixes mock_core server build and versioning, directly supporting the mocked core service requested in the issue.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The configure_file call writes Version.hpp into ${CMAKE_CURRENT_SOURCE_DIR}; it would be more robust to generate this into the binary tree (e.g. ${CMAKE_CURRENT_BINARY_DIR}/mock_core/Version.hpp) to avoid modifying the source tree and accidentally committing generated files.
  • If the mock_core build and tests currently include Version.hpp from the source directory, consider updating include paths to consume the generated header from the binary directory instead, so configuration-specific values are correctly picked up per build.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `configure_file` call writes `Version.hpp` into `${CMAKE_CURRENT_SOURCE_DIR}`; it would be more robust to generate this into the binary tree (e.g. `${CMAKE_CURRENT_BINARY_DIR}/mock_core/Version.hpp`) to avoid modifying the source tree and accidentally committing generated files.
- If the mock_core build and tests currently include `Version.hpp` from the source directory, consider updating include paths to consume the generated header from the binary directory instead, so configuration-specific values are correctly picked up per build.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@JoshuaSBrown JoshuaSBrown self-assigned this Mar 16, 2026
@JoshuaSBrown JoshuaSBrown added Type: Test Related to unit or integration testing Component: Core Relates to core service Component: Python API Relates to Python API labels Mar 16, 2026
@JoshuaSBrown JoshuaSBrown requested a review from nedvedba March 16, 2026 12:22
@JoshuaSBrown JoshuaSBrown merged commit 704536c into devel Mar 19, 2026
14 checks passed
@JoshuaSBrown JoshuaSBrown deleted the 1854-mock-core-fix branch March 19, 2026 10:24
nedvedba added a commit that referenced this pull request Mar 31, 2026
* refactor: core server files refactored to support re-use in the mock implementation

* refactor: changed mock core server to work with proto3 and reusue abstractions from core server.

* fix: prevent defaults being set to undefined, and interpret numbers a… (#1861)

* fix: prevent defaults being set to undefined, and interpret numbers and enums as strings.

* chore: Auto-format JavaScript files with Prettier

* fix: version numbers from proto3 messages follow camel case. (#1868)

* docs: fix jsdoc error.

* [DAPS-1862] - fix allocation change failure (#1864)

* [DAPS-1663] Adding LogContext to dbGetRaw, Correlation_ID to dbMaintenance, metricThread and task_worker (#1885)

Co-authored-by: Joshua S Brown <joshbro42867@yahoo.com>
Co-authored-by: Joshua S Brown <brownjs@ornl.gov>

* fix: mock_core server build (#1890)

* [DAPS-1887] - refactor: facility fuse, remove dead code. (#1888)

* [DAPS-1857] - feature: python client, tests, support schema functions, to hit feature parity with web ser… (#1859)

* [DAPS-1855] - feature, core, add schema factory to decouple schema logic (#1891)

* [DAPS-1896] - feature: foxx, schema format and type added to schema create API (#1897)

* [DAPS-1893] - feature: common, proto3 add fields for schema type, format, and metadata format (#1894)

* [DAPS-1830-1] - core foxx refactored json schema integration 1 (#1892)

* [DAPS-1857-2] python client schema support (#1895)

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* [DAPS-1830-2] - core foxx refactored json schema integration (#1899)

* [DAPS-1902] - core, common, feat: get schema api client into compliance with API spec file. (#1903)

* [DAPS-1906-1] - feature: add core unit testing to CI (#1907)

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* [DAPS-1830-3] - core foxx refactored json schema integration 3 1827 (#1898)

* [DAPS-1910] - upgrade: playwright 1.51.1 version. (#1911)

* [DAPS-1914] - bug, web schema id name version mismatch (#1915)

* [DAPS-1913] - refactor: foxx ci test scripts consolidate database name and default to different database for tests (#1917)

* [DAPS-1916] - tests add integration test for schema client handler to cmake (#1918)

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: JoshuaSBrown <brownjs@ornl.gov>
Co-authored-by: Joshua S Brown <joshbro42867@yahoo.com>
Co-authored-by: Austin Hampton <44103380+megatnt1122@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
JoshuaSBrown added a commit that referenced this pull request Apr 1, 2026
* [DAPS-1663]   - feature: core, LogContext to dbGetRaw, Correlation_ID to dbMaintenance, metricThread and task_worker (#1885)
* [DAPS-1890]   - fix: test, mock_core server build (#1890)
* [DAPS-1887]   - refactor: facility fuse, remove dead code. (#1888)
* [DAPS-1857]   - feature: python client, tests, support schema functions, to hit feature parity with web ser… (#1859)
* [DAPS-1855]   - feature, core, add schema factory to decouple schema logic (#1891)
* [DAPS-1896]   - feature: foxx, schema format and type added to schema create API (#1897)
* [DAPS-1893]   - feature: common, proto3 add fields for schema type, format, and metadata format (#1894)
* [DAPS-1830-1] - refactor: core foxx refactored json schema integration 1 (#1892)
* [DAPS-1857-2] - feature: python client schema support (#1895)
* [DAPS-1830-2] - refactor: core foxx refactored json schema integration (#1899)
* [DAPS-1902]   - feature: core, common, get schema api client into compliance with API spec file. (#1903)
* [DAPS-1906-1] - feature: add core unit testing to CI (#1907)
* [DAPS-1830-3] - refactor: core foxx refactored json schema integration 3 1827 (#1898)
* [DAPS-1910]   - upgrade: playwright 1.51.1 version. (#1911)
* [DAPS-1914]   - fix: web, bug in schema id name version mismatch (#1915)
* [DAPS-1913]   - refactor: foxx ci test scripts consolidate database name and default to different database for tests (#1917)
* [DAPS-1916]   - tests: add integration test for schema client handler to cmake (#1918)
* [DAPS-1912]   - refactor: register linkml storage engine with schema handler (#1912)
* [DAPS-1919]   - feature: python, web support linkml schema (#1921)
* [DAPS-1923]   - update: version numbers bumped. (#1923)

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Austin Hampton <amh107@latech.edu>
Co-authored-by: Blake Nedved <blakeanedved@gmail.com>
Co-authored-by: Polina Shpilker <infinite.loopholes@gmail.com>
Co-authored-by: JoshuaSBrown <brownjs@ornl.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Core Relates to core service Component: Python API Relates to Python API Type: Test Related to unit or integration testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants