Skip to content

fix fqns and assertj - #3312

Merged
robfrank merged 1 commit into
mainfrom
fix/fqns-assertj
Feb 2, 2026
Merged

fix fqns and assertj#3312
robfrank merged 1 commit into
mainfrom
fix/fqns-assertj

Conversation

@robfrank

@robfrank robfrank commented Feb 2, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

fixes FQNs to import
fixes junit assertions to assertj

@robfrank
robfrank merged commit 5f4f908 into main Feb 2, 2026
0 of 10 checks passed
@robfrank
robfrank deleted the fix/fqns-assertj branch February 2, 2026 19:50
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @robfrank, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on improving code quality and consistency within the test suite. The changes primarily involve modernizing JUnit test method declarations, simplifying exception handling in tests, and cleaning up fully qualified name usage by introducing appropriate imports. Additionally, a dependency exclusion was added to the Gremlin module to ensure smoother dependency resolution.

Highlights

  • Refactoring Fully Qualified Names (FQNs): Updated several test files to use direct imports for classes like ArcadeDBException, Offset, IOException, and Array, replacing their fully qualified names in the code for better readability and conciseness.
  • JUnit 5 Test Method Modernization: Converted numerous test methods from public void testMethodName() to void methodName() across various test classes, aligning with JUnit 5's preferred non-public test method style.
  • Simplified Exception Handling in Tests: Modified many test method signatures to declare throws Exception instead of more specific exceptions like IOException or InterruptedException, streamlining exception declarations in test contexts.
  • Dependency Management: Added an exclusion for the junit artifact within the gremlin-test dependency in the gremlin/pom.xml to prevent potential dependency conflicts.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request includes some nice cleanups, such as fixing fully qualified names and updating test method names to align with modern JUnit 5 conventions. However, I've noticed a recurring pattern where specific checked exceptions in throws clauses (like IOException, InterruptedException) are replaced with the generic Exception. This is generally considered a bad practice as it makes method contracts less specific and can obscure the actual exceptions that callers should be prepared to handle. It's better to declare the most specific exception types possible. I've added a few specific comments with suggestions to revert this change in some places. Please apply this feedback across all similar changes in the pull request.


@Test
void successMessageCreation() throws IOException {
void successMessageCreation() throws Exception {

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.

medium

The method signature was changed from throws IOException to throws Exception. However, the body of this test method does not appear to throw any checked exceptions. It's best practice to remove the throws clause entirely if no checked exceptions are thrown.

Suggested change
void successMessageCreation() throws Exception {
void successMessageCreation() {


@Test
void successMessageWriteAndToString() throws IOException {
void successMessageWriteAndToString() throws Exception {

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.

medium

Changing the exception type from IOException to the more generic Exception makes the method's contract less specific. It's better to declare the most specific exception type that can be thrown. Since methods in this test call PackStreamWriter methods that throw IOException, the signature should specify throws IOException.

Suggested change
void successMessageWriteAndToString() throws Exception {
void successMessageWriteAndToString() throws IOException {


@Test
void concurrentSessions() throws InterruptedException {
void concurrentSessions() throws Exception {

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.

medium

The throws clause was changed from InterruptedException to Exception. It's better to be specific about the exceptions a method can throw. Since thread.join() throws InterruptedException, the method signature should declare throws InterruptedException.

Suggested change
void concurrentSessions() throws Exception {
void concurrentSessions() throws InterruptedException {


@Test
void floatArrayPropertyRoundTrip() throws SQLException, ClassNotFoundException {
void floatArrayPropertyRoundTrip() throws Exception {

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.

medium

Broadening the exception type from SQLException, ClassNotFoundException to Exception makes the method signature less precise. It's better to declare the specific checked exceptions that can be thrown. getConnection() is declared to throw SQLException and ClassNotFoundException, so the original signature was more accurate.

Suggested change
void floatArrayPropertyRoundTrip() throws Exception {
void floatArrayPropertyRoundTrip() throws SQLException, ClassNotFoundException {


@Test
void maxFilesRetention() throws IOException {
void maxFilesRetention() throws Exception {

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.

medium

The throws clause was changed from IOException to Exception. It's better to be specific about the exceptions a method can throw. Since createBackupFiles() can throw an IOException, the method signature should declare throws IOException.

Suggested change
void maxFilesRetention() throws Exception {
void maxFilesRetention() throws IOException {


@Test
void sessionIdleTimeout() throws InterruptedException {
void sessionIdleTimeout() throws Exception {

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.

medium

The throws clause was changed from InterruptedException to Exception. It's better to be specific about the exceptions a method can throw. Since Thread.sleep() throws InterruptedException, the method signature should declare throws InterruptedException.

Suggested change
void sessionIdleTimeout() throws Exception {
void sessionIdleTimeout() throws InterruptedException {

@mergify

mergify Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

🧪 CI Insights

Here's what we observed from your CI run for d80f2b5.

🟢 All jobs passed!

But CI Insights is watching 👀

robfrank added a commit that referenced this pull request Feb 17, 2026
(cherry picked from commit 5f4f908)
tae898 pushed a commit to humemai/arcadedb-embedded-python that referenced this pull request Jun 28, 2026
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.3 to 4.31.4.
Release notes

*Sourced from [github/codeql-action's releases](https://github.com/github/codeql-action/releases).*

> v4.31.4
> -------
>
> CodeQL Action Changelog
> =======================
>
> See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
>
> 4.31.4 - 18 Nov 2025
> --------------------
>
> No user facing changes.
>
> See the full [CHANGELOG.md](https://github.com/github/codeql-action/blob/v4.31.4/CHANGELOG.md) for more information.


Changelog

*Sourced from [github/codeql-action's changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md).*

> CodeQL Action Changelog
> =======================
>
> See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
>
> [UNRELEASED]
> ------------
>
> No user facing changes.
>
> 4.31.4 - 18 Nov 2025
> --------------------
>
> No user facing changes.
>
> 4.31.3 - 13 Nov 2025
> --------------------
>
> * CodeQL Action v3 will be deprecated in December 2026. The Action now logs a warning for customers who are running v3 but could be running v4. For more information, see [Upcoming deprecation of CodeQL Action v3](https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/).
> * Update default CodeQL bundle version to 2.23.5. [ArcadeData#3288](https://redirect.github.com/github/codeql-action/pull/3288)
>
> 4.31.2 - 30 Oct 2025
> --------------------
>
> No user facing changes.
>
> 4.31.1 - 30 Oct 2025
> --------------------
>
> * The `add-snippets` input has been removed from the `analyze` action. This input has been deprecated since CodeQL Action 3.26.4 in August 2024 when this removal was announced.
>
> 4.31.0 - 24 Oct 2025
> --------------------
>
> * Bump minimum CodeQL bundle version to 2.17.6. [ArcadeData#3223](https://redirect.github.com/github/codeql-action/pull/3223)
> * When SARIF files are uploaded by the `analyze` or `upload-sarif` actions, the CodeQL Action automatically performs post-processing steps to prepare the data for the upload. Previously, these post-processing steps were only performed before an upload took place. We are now changing this so that the post-processing steps will always be performed, even when the SARIF files are not uploaded. This does not change anything for the `upload-sarif` action. For `analyze`, this may affect Advanced Setup for CodeQL users who specify a value other than `always` for the `upload` input. [ArcadeData#3222](https://redirect.github.com/github/codeql-action/pull/3222)
>
> 4.30.9 - 17 Oct 2025
> --------------------
>
> * Update default CodeQL bundle version to 2.23.3. [ArcadeData#3205](https://redirect.github.com/github/codeql-action/pull/3205)
> * Experimental: A new `setup-codeql` action has been added which is similar to `init`, except it only installs the CodeQL CLI and does not initialize a database. Do not use this in production as it is part of an internal experiment and subject to change at any time. [ArcadeData#3204](https://redirect.github.com/github/codeql-action/pull/3204)
>
> 4.30.8 - 10 Oct 2025
> --------------------
>
> No user facing changes.
>
> 4.30.7 - 06 Oct 2025
> --------------------
>
> * [v4+ only] The CodeQL Action now runs on Node.js v24. [ArcadeData#3169](https://redirect.github.com/github/codeql-action/pull/3169)
>
> 3.30.6 - 02 Oct 2025
> --------------------
>
> * Update default CodeQL bundle version to 2.23.2. [ArcadeData#3168](https://redirect.github.com/github/codeql-action/pull/3168)
>
> 3.30.5 - 26 Sep 2025
> --------------------
>
> * We fixed a bug that was introduced in `3.30.4` with `upload-sarif` which resulted in files without a `.sarif` extension not getting uploaded. [ArcadeData#3160](https://redirect.github.com/github/codeql-action/pull/3160)

... (truncated)


Commits

* [`e12f017`](github/codeql-action@e12f017) Merge pull request [ArcadeData#3312](https://redirect.github.com/github/codeql-action/issues/3312) from github/update-v4.31.4-70434f6dd
* [`c9cb6f9`](github/codeql-action@c9cb6f9) Update changelog for v4.31.4
* [`70434f6`](github/codeql-action@70434f6) Merge pull request [ArcadeData#3311](https://redirect.github.com/github/codeql-action/issues/3311) from github/mbg/deps/bump-glob
* [`528362a`](github/codeql-action@528362a) Bump `glob` to at least `11.1.0`
* [`de12435`](github/codeql-action@de12435) Merge pull request [ArcadeData#3308](https://redirect.github.com/github/codeql-action/issues/3308) from github/mbg/pr-template/nov25
* [`ffa63f0`](github/codeql-action@ffa63f0) Merge pull request [ArcadeData#3307](https://redirect.github.com/github/codeql-action/issues/3307) from github/dependabot/github\_actions/dot-github/wor...
* [`7bcdb4b`](github/codeql-action@7bcdb4b) Add additional options to PR template and clarify some
* [`07eae64`](github/codeql-action@07eae64) Merge pull request [ArcadeData#3303](https://redirect.github.com/github/codeql-action/issues/3303) from github/mario-campos/v3-core-warning
* [`e546fff`](github/codeql-action@e546fff) Rebuild
* [`c418a0f`](github/codeql-action@c418a0f) Bump ruby/setup-ruby
* Additional commits viewable in [compare view](github/codeql-action@014f16e...e12f017)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=github/codeql-action&package-manager=github\_actions&previous-version=4.31.3&new-version=4.31.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
tae898 pushed a commit to humemai/arcadedb-embedded-python that referenced this pull request Jun 28, 2026
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.

1 participant