-
Notifications
You must be signed in to change notification settings - Fork 86
change tests directory structure #9133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
## Walkthrough
This change reorganizes and updates the test infrastructure by moving test scripts and related files from `unit_tests` and `system_tests` directories into new `framework`, `utils`, and `external_tests` directories. All references, import paths, and test runner scripts are updated accordingly. Test entry points are deleted or relocated, and documentation and build scripts are revised to reflect the new structure.
## Changes
| Files/Groups | Change Summary |
|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
| Makefile, .github/workflows/nightly-tests.yaml, src/deploy/NVA_build/Tests.Dockerfile, package.json | Update test script paths and arguments to new directory structure; update Mocha entry point; update Docker CMD and workflow scripts. |
| src/test/unit_tests/index.js, src/test/unit_tests/nc_index.js, src/test/unit_tests/sudo_index.js | Deleted main test suite entry points; orchestration moved or restructured. |
| src/test/framework/run_npm_test_on_test_container.sh | Change logic to use new test file paths for single test execution. |
| src/test/system_tests/test_utils.js | Rename and refactor `get_coretest_path` to `require_coretest`; update policy generation logic. |
| src/test/integration_tests/**, src/test/unit_tests/**, src/test/external_tests/** | Update all import/require paths to match new directory structure and module locations. |
| src/test/external_tests/ceph_s3_tests/**, src/test/external_tests/mint/**, src/test/external_tests/warp/** | Update script and utility paths to new locations; adjust all related shell scripts and JS files. |
| docs/NooBaaNonContainerized/CI&Tests.md | Update documentation commands to reflect new test entry points and directory layout. |
## Sequence Diagram(s)
```mermaid
sequenceDiagram
participant Developer
participant Makefile
participant Docker
participant TestRunner (Mocha)
participant TestScripts
Developer->>Makefile: make test-<target>
Makefile->>Docker: Run container with new test script path
Docker->>TestRunner: Execute ./src/test/framework/run_npm_test_on_test_container.sh
TestRunner->>TestScripts: Require test files from new locations
TestScripts-->>TestRunner: Run tests and report results
TestRunner-->>Docker: Exit code
Docker-->>Makefile: Test results Possibly related PRs
Suggested labels
|
ddc151b
to
cb65eba
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 8
🔭 Outside diff range comments (3)
src/test/integration_tests/nc/tools/test_cli_diagnose.test.js (1)
53-58
: Async arrow passed todescribe
is silently ignoredMocha does not await async functions given to
describe
; the promise is dropped and failures inside the callback are swallowed.
Switch to a regular (synchronous) callback.-describe('gather-logs flow', async => { +describe('gather-logs flow', function () {src/test/different_clients/test_go_sdkv2_script.js (1)
25-28
: Restore GLOBAL env after test to avoid cross-suite pollution
process.env.AWS_*
is overwritten but never reverted.
Capture the originals and restore them in anafter()
hook to prevent side-effects on subsequent tests.- process.env.AWS_ACCESS_KEY_ID = admin_access_key; - process.env.AWS_SECRET_ACCESS_KEY = admin_secret_key; - process.env.AWS_DEFAULT_REGION = config.DEFAULT_REGION; + const old_env = { + AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID, + AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY, + AWS_DEFAULT_REGION: process.env.AWS_DEFAULT_REGION, + }; + Object.assign(process.env, { + AWS_ACCESS_KEY_ID: admin_access_key, + AWS_SECRET_ACCESS_KEY: admin_secret_key, + AWS_DEFAULT_REGION: config.DEFAULT_REGION, + }); + + this._restore_env = () => Object.assign(process.env, old_env); ... + mocha.after(function () { + if (this._restore_env) this._restore_env(); + });.github/workflows/nightly-tests.yaml (1)
14-18
: Add the framework test runner script to the tester imageThe script
src/test/framework/run_npm_test_on_test_container.sh
is present and executable in the repo (100755), butsrc/deploy/NVA_build/Tests.Dockerfile
does not COPY it into thenoobaa-tester
image. As a result, invoking it in nightly CI will fail with “file not found.”• In
src/deploy/NVA_build/Tests.Dockerfile
, after the otherCOPY
lines (around line 58), add:COPY ./src/test/framework/run_npm_test_on_test_container.sh \ ./src/test/framework/run_npm_test_on_test_container.sh
• This ensures the script is included (with its executable bit) under
./src/test/framework
inside the container.
• Nightly tests should then successfully locate and run./src/test/framework/run_npm_test_on_test_container.sh
.
♻️ Duplicate comments (12)
src/test/unit_tests/internal/test_debug_module.js (1)
5-10
: Same alias advice as intest_chunk_coder.js
The added
../../../
prefixes have the same maintenance drawback; please see earlier comment.src/test/integration_tests/api/s3/test_namespace_auth.js (1)
5-6
: Path-alias remark duplicatedImport paths were deepened; refer to the first comment for rationale & suggestion.
Also applies to: 10-11, 21-21
src/test/unit_tests/internal/test_schema_keywords.js (1)
6-7
: Alias recommendation duplicatedSee initial comment regarding long relative paths.
src/test/integration_tests/api/s3/test_s3_ops.js (1)
8-10
: Alias recommendation duplicatedDeep relative imports again—same suggestion applies.
Also applies to: 13-16
src/test/integration_tests/nc/tools/test_cli_upgrade.test.js (1)
9-17
: Deep relative imports – same brittleness appliesThese eight “../../../..” chains will suffer the same maintenance pain as noted in the S3 upgrade test.
Moving to path aliases (e.g.@utils/fs_utils
) will make this large test suite re-org a one-time effort.src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js (1)
8-17
: Deep relative imports – same brittleness appliesSee earlier comment regarding replacing multi-dot paths with root-level aliases.
src/test/integration_tests/internal/test_map_reader.js (2)
5-6
: Align with newrequire_coretest()
helperSame issue as in
test_tiering_upload.js
– please use the centralized helper to stay consistent with the new directory layout.
18-18
: Path brittleness
../../../server/object_services/map_reader
is another fragile chain; consider the alias strategy suggested previously.src/test/integration_tests/api/s3/test_versioning_concurrency.test.js (1)
6-12
: Same note on brittle relative import depthAll six updated imports jump four directories back. An alias‐based approach (see previous comment) will keep these paths stable and save future PR noise when tests are reshuffled again.
src/test/integration_tests/db/test_system_store.js (2)
6-8
: Relative-path churnThe shift to
../../framework/coretest/coretest
& friends repeats the pattern already flagged—worth considering a root alias to prevent further path-length edits.
17-17
: Import path comment duplicatedSame reasoning as above for
../../../server/...
– an alias keeps this stable and clearer.src/test/integration_tests/nc/cli/test_nc_cli.js (1)
9-20
: Long relative imports lower readabilityFive-level
../../../../../
hops are hard to scan. Adopting a project-root alias (e.g.@src
,@util
) would make these imports concise and remove the need for periodic path-fix PRs.
🧹 Nitpick comments (45)
src/test/unit_tests/internal/test_bucket_diff.test.js (1)
8-8
: Inconsistent “.js” suffix may cause duplicate cache keysMost code in this repo imports without the extension (e.g.
require('./foo')
).
Mixing both forms can lead to two separate cache entries (foo
vsfoo.js
) under some bundlers / test runners.-const replication_utils = require('../../../server/utils/replication_utils.js'); +const replication_utils = require('../../../server/utils/replication_utils');src/test/unit_tests/native/test_nb_native_fs.js (1)
9-12
: Avoid deep-relative paths – introduce a central alias/import helperThe triple-
../..
chains are fragile and will break again on the next directory reshuffle.
Consider exposingutil/*
through a module-alias (e.g.@util/fs_utils
) or adding the project root toNODE_PATH
so imports stay one hop away regardless of file location.src/test/integration_tests/nc/tools/test_cli_diagnose.test.js (1)
9-15
: Same deep-relative-path smell as elsewhereFive-level
../../../..
traversals are hard to read and error-prone. A path alias (orrequire_coretest()
helper similar to the new core-test util) would improve maintainability.src/test/integration_tests/internal/test_host_server.js (1)
8-8
: Another fragile relative import
require('../../framework/coretest/coretest')
will break if tests move again. Prefer the newrequire_coretest()
utility or a module alias to decouple test files from directory depth.src/test/integration_tests/api/s3/test_s3_list_buckets.js (1)
7-13
: Consider uniform coretest bootstrapMost updated tests now use the helper
require_coretest()
instead of hand-crafted relative paths. Adopting it here would remove two hard-coded traversals and keep the file consistent with the rest of the suite.src/test/different_clients/test_go_sdkv2_script.js (1)
8-15
: Path depth + env leakage
- Same deep-relative import issue – migrate to an alias/helper.
- Importing
config
three levels up while other tests use four suggests path inconsistencies; double-check the resolved file.src/test/integration_tests/internal/test_dedup.js (1)
5-5
: Preferrequire_coretest()
for consistency with new test frameworkMost files that were touched in this PR now rely on the helper exported from
system_tests/test_utils.js
:const { require_coretest } = require('<path>/system_tests/test_utils'); const coretest = require_coretest();Using the helper keeps all core-test resolution logic in one place and avoids future breakage if its location changes again.
-const coretest = require('../../framework/coretest/coretest'); +const { require_coretest } = require('../../system_tests/test_utils'); +const coretest = require_coretest();src/test/framework/run_npm_test_on_test_container.sh (1)
41-42
: Quote the filename to avoid word-splittingIf the single-test path contains globbing chars or spaces, the current assignment breaks. A minimal hardening:
-command="./node_modules/mocha/bin/mocha.js src/test/${2}" +command="./node_modules/mocha/bin/mocha.js src/test/${2//\"/}"(or simply wrap
"src/test/$2"
in quotes).
Not critical, but improves robustness.src/test/integration_tests/api/s3/test_bucket_logging.js (1)
7-10
: Consider switching to centralizedrequire_coretest()
helperSame rationale as in
test_dedup.js
– keeps all tests aligned with the new utility and avoids brittle relative paths.-const coretest = require('../../../framework/coretest/coretest'); +const { require_coretest } = require('../../../system_tests/test_utils'); +const coretest = require_coretest();src/test/integration_tests/api/s3/test_s3_worm.js (1)
5-5
: Prefer unifiedrequire_coretest()
helper instead of hard-coded relative pathMost updated tests rely on
require_coretest()
fromtest_utils
to resolve the correct coretest variant (debug/production) and hide deep../../../framework/...
paths that tend to break on future moves. Consider switching to the helper for consistency and maintainability:-const coretest = require('../../../framework/coretest/coretest'); +const { require_coretest } = require('../../../system_tests/test_utils'); +const coretest = require_coretest();src/test/integration_tests/nc/tools/test_nc_bucket_logging.js (1)
7-17
: Good adoption ofrequire_coretest()
but paths are brittleAll six
../../../../
style imports resolve today, yet they couple the test to exact depth.
Long-term, consider using module-alias or the jestmoduleNameMapper
already present in the repo to shorten toutil/fs_utils
,manage_nsfs/constants
, etc.
This keeps future moves from turning into path-editing marathons.src/test/integration_tests/internal/test_node_server.js (1)
5-5
: Align withrequire_coretest()
helperSame comment as for
test_s3_worm.js
: replace the deep relative require with the shared helper to stay consistent across the suite and avoid duplicate coretest instances.-const coretest = require('../../framework/coretest/coretest'); +const { require_coretest } = require('../../system_tests/test_utils'); +const coretest = require_coretest();src/test/unit_tests/internal/test_chunk_coder.js (1)
11-19
: Use a path-alias to avoid brittle “../../../..” hopsDeep relative paths couple the test code to the folder layout; any further refactor will require another mass-renaming. Consider configuring a root-alias (e.g. via
NODE_PATH
,module-alias
, or Jest “moduleNameMapper”) so this becomes:const nb_native = require('util/nb_native'); const RandStream = require('util/rand_stream'); …Cleaner imports improve readability and make future moves cost-free.
src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js (1)
11-22
: Deep relative imports fixed – consider central alias to avoid future churnThe new
../../../..
&../../../
paths are correct given the move, but the 4-level back-tracking is brittle and will break again on the next refactor.
A smalltest/alias.js
(or the existingrequire_coretest()
helper) exporting pre-resolved project-root aliases would turn these into:const { config, NamespaceFS, s3_utils, ... } = require('@root'); // exampleleaving future directory reshuffles harmless.
Not urgent for this PR, but worth adding to avoid mechanical path updates every time the tree moves.src/test/unit_tests/internal/test_bucket_chunks_builder.js (1)
10-11
: Import paths adjusted – same alias suggestion applies
require('../../../server/…')
resolves correctly, yet keeps the test coupled to folder depth.
If you adopt a project-root alias (e.g. viamodule-alias
or JestmoduleNameMapper
) the path becomes stable and easier to read.src/test/unit_tests/api/test_ns_list_objects.js (1)
6-9
: Path correction acknowledgedThe updated paths compile and match the new structure. As with other files, switching to a project-wide alias would remove the need for these repetitive
../../../
edits.src/test/unit_tests/nsfs/test_nsfs_access.js (1)
8-16
: Multiple deep imports – candidate for shared helperEight separate
../../../
imports in one header make maintenance painful. A shared helper (similar torequire_coretest()
) exposing{ fs_utils, nb_native, ... }
from the project root keeps this readable and refactor-proof.src/test/integration_tests/internal/test_tiering_ttl_worker.js (1)
5-18
: Still using hard-coded../../framework/coretest/coretest
Most newer tests switched to
require_coretest()
to decouple from directory depth. Consider aligning this file to the same helper:-const { setup, rpc_client, POOL_LIST } = require('../../framework/coretest/coretest'); +const { setup, rpc_client, POOL_LIST } = require('../../system_tests/test_utils').require_coretest();Keeps the import stable and consistently readable across the suite.
src/test/unit_tests/internal/test_chunk_config_utils.js (1)
8-9
: Relative-import depth keeps growing – consider a stable aliasMoving to
../../../../config
and../../../server/utils/...
works today, but every future relocation will break these strings again.
Define a root-level alias (e.g. viaNODE_PATH
,module-alias
, or Jest/Mocha’smoduleNameMapper
) so tests can simply do:const config = require('@root/config'); const chunk_config_utils = require('@server/utils/chunk_config_utils');This removes the brittle “dot-dot carnival” and makes large-scale moves (like this PR) easier.
Please verify the new paths resolve on CI across all OSes.src/test/integration_tests/nc/tools/test_nc_health.js (1)
10-24
: 16(!) dotted segments – import paths are becoming unmaintainableThe health test now reaches five
..
segments for some modules. Readability aside, a single directory shuffle will 404 half of these requires.Suggestion
- Introduce a shared alias strategy (see comment in
test_chunk_config_utils.js
).- Alternatively, expose frequently-used helpers (
config
,fs_utils
,test_utils
, etc.) through a thin wrapper module undersrc/test/framework/helpers
.Either approach eliminates cascaded path edits in future restructures.
src/test/integration_tests/db/test_mdsequence.js (1)
4-11
: Deep relative imports – same maintainability concern
'../../framework/coretest/coretest'
,'../../../../config'
, etc. repeat the fragile pattern discussed earlier. Please consider adopting a module alias (e.g.@coretest
,@config
) to future-proof these imports.src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js (1)
10-15
: Brittle path strings – favour aliases for shared utilitiesThe six updated imports all rely on very deep
../
traversals. Introducing a project-root alias (or exporting the SDK/utility bundle from a single barrel file) will prevent another mass-edit when the test tree moves again.src/test/unit_tests/internal/test_namespace_cache.js (1)
9-15
: Imports look correct, but consider future-proofing path gymnasticsThe updated relative paths point to valid locations given the new directory layout – good catch.
However, these six-deep../../../..
chains are brittle and will break on the next structural shuffle (exactly what happened now). A small shim that exposes project-root-relative requires (e.g. utilisingmodule-alias
or a simple helper that prependsprocess.cwd()
) would make the tests immune to further moves.No action is mandatory for this PR, just food for thought before the next re-org.
src/test/integration_tests/internal/test_encryption.js (1)
6-24
: Relative-path imports are correct but brittle – consider introducing a path alias.All the updated
require()
statements resolve properly after the directory move, so ✅ for correctness.
However, walking three-plus levels up (../../../
) makes the code harder to maintain; one more restructuring will break every import again.A small alias layer pays off quickly:
// bootstrap once in test bootstrap file (or use `module-alias`) +require('module-alias/register');
package.json
{ "_moduleAliases": { "@coretest": "src/test/framework/coretest", "@server": "src/server", "@util": "src/util", "@config": "config.js" } }and then in this file:
-const coretest = require('../../framework/coretest/coretest'); -const system_store = require('../../../server/system_services/system_store').get_instance(); -const auth_server = require('../../../server/common_services/auth_server'); -const SensitiveString = require('../../../util/sensitive_string'); -const db_client = require('../../../util/db_client').instance(); -const P = require('../../../util/promise'); -const config = require('../../../../config.js'); -const { KeyRotator } = require('../../../server/bg_services/key_rotator'); +const coretest = require('@coretest/coretest'); +const system_store = require('@server/system_services/system_store').get_instance(); +const auth_server = require('@server/common_services/auth_server'); +const SensitiveString= require('@util/sensitive_string'); +const db_client = require('@util/db_client').instance(); +const P = require('@util/promise'); +const config = require('@config'); +const { KeyRotator } = require('@server/bg_services/key_rotator');This eliminates fragile climbs and clarifies intent.
Optional for this PR, but worth adding before the next re-org.src/test/unit_tests/api/test_namespace_fs_mpu.js (1)
13-21
: Same path-depth issue as above – suggest using module aliasesThe updated
require('../../../…')
paths now point correctly after the move, but they repeat long climbs that will break again on the next relocation. Re-using the alias approach outlined in the previous comment would tidy this file as well and remove a lot of visual noise.No functional blockers – tests should run – but consider centralising import roots.
src/test/integration_tests/api/s3/test_lifecycle.js (1)
18-27
: Prefer module-alias over fragile deep relative pathsThe updated
require('../../../../...')
chains work but are brittle—one extra directory move will break every import. Consider configuring a root-level alias (e.g. viamodule-alias
,NODE_PATH
, or TS/Jest path mapping) so that tests can simply doconst ObjectIO = require('src/sdk/object_io');This keeps the test code readable and decoupled from future refactors.
src/test/integration_tests/db/test_md_store.js (1)
5-5
: Same maintenance concern with deep relative import
require('../../framework/coretest/coretest')
is correct today but fragile. A project-wide alias (e.g.require('tests/coretest')
) would avoid repeated path adjustments each time the test tree is reorganised.src/test/integration_tests/db/test_nodes_store.js (1)
5-11
: Minor nit – consider future-proofing deep relative imports
require('../../framework/coretest/coretest')
and
require('../../../server/node_services/nodes_store')
work today but will break
whenever the file moves. Using project-root aliases (e.g. viamodule-alias
ortsconfig
paths)
would decouple tests from folder depth.src/test/integration_tests/api/s3/test_s3_bucket_policy.js (1)
10-22
: Deep relative imports are getting brittleThe re-shuffle forces paths such as
../../../../../config
that climb five levels.
A future move of this test file (or the target module) will silently break the require, and the pattern is repeated formd_store
,fs_utils
, ands3_errors
.Consider:
-const MDStore = require('../../../../server/object_services/md_store').MDStore; -const fs_utils = require('../../../../util/fs_utils'); -const { S3Error } = require('../../../../endpoint/s3/s3_errors'); -const config = require('../../../../../config'); +const { MDStore } = require('server/object_services/md_store'); +const fs_utils = require('util/fs_utils'); +const { S3Error } = require('endpoint/s3/s3_errors'); +const config = require('config');Using a module-alias (e.g.
module-alias
,ts-config-paths
) or Node’sNODE_PATH
keeps the require lines short, relocatable, and IDE-friendly.src/test/integration_tests/nc/cli/test_nc_account_cli.test.js (1)
12-14
: Deep relative imports are brittle – consider introducing a root aliasThree
require
statements now climb four directories (../../../../…
).
Any future movement of this test file (or the referenced utils) will break these paths and force another sweeping path-update PR. A small Jest/Node alias such as@src/*
(viamodule-alias
,NODE_PATH
, or JestmoduleNameMapper
) would decouple test locations from code structure and improve maintainability.Example:
// with module-alias (package.json "_moduleAliases") const os_util = require('@src/util/os_utils'); const fs_utils = require('@src/util/fs_utils'); const { ConfigFS } = require('@src/sdk/config_fs');src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js (1)
8-14
: Reduce dependency-fragile deep relative pathsFive-level traversals (
../../../../../
etc.) are extremely brittle – a single directory move breaks every import.
Consider adopting a central alias (e.g. usingmodule-alias
or theNODE_PATH
trick) so that all tests can simply do:const config = require('@root/config'); const { folder_delete } = require('@src/util/fs_utils');This keeps the refactor’s spirit of “clearer structure” while future-proofing the codebase.
src/test/integration_tests/internal/test_tiering_upload.js (1)
15-20
: Minor: keep import extension usage consistentSome updated imports add “.js” (
config.js
) while others omit it.
Node resolves either way but consistency aids grepping and future ESM migration.src/test/integration_tests/api/sts/test_sts.js (1)
5-18
: Prefer the sharedrequire_coretest()
helper for consistencyMost test files now pull
coretest
via the helper exposed bysrc/test/system_tests/test_utils.js
:const { require_coretest } = require('../../../system_tests/test_utils'); const coretest = require_coretest();Sticking to the helper avoids hard-coding a relative path that may shift again and keeps all suites uniform.
src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js (1)
12-18
: Deep relative paths – consider a module-alias orNODE_PATH
to reduce fragilityThe new
../../../../…
style paths work, but as the project structure grows they become brittle and noisy.
Introducing a root-level alias (e.g. viamodule-alias
,tsconfig
paths
, orNODE_PATH
) would let you replaceconst os_util = require('../../../../util/os_utils');with something like
const os_util = require('@util/os_utils');improving readability and avoiding future churn when directories move.
(No functional change required for this PR.)src/test/integration_tests/internal/test_node_allocator.js (1)
5-5
: Adopt the sharedrequire_coretest()
utilitySame rationale as above – it reduces relative-path churn and matches the new convention introduced by this PR.
-const coretest = require('../../framework/coretest/coretest'); +const { require_coretest } = require('../../system_tests/test_utils'); +const coretest = require_coretest();src/test/integration_tests/api/s3/test_s3_list_objects.js (1)
6-6
: Unify Core-Test loading strategyThis is one of the few remaining files still importing Core-Test via path math.
Recommend the same small change:-const coretest = require('../../../framework/coretest/coretest'); +const { require_coretest } = require('../../../../system_tests/test_utils'); +const coretest = require_coretest();src/test/integration_tests/internal/test_map_client.js (1)
4-8
: Use the common Core-Test loaderAs with the other integration tests, moving to the helper keeps imports short and future-proof:
-/** @typedef {typeof import('../../../sdk/nb')} nb */ - -// setup coretest first to prepare the env -const coretest = require('../../framework/coretest/coretest'); +/** @typedef {typeof import('../../../sdk/nb')} nb */ + +const { require_coretest } = require('../../system_tests/test_utils'); +const coretest = require_coretest();src/test/integration_tests/api/s3/test_nsfs_integration.js (1)
39-39
: Sanity-check:require_coretest()
may throw earlySwitching from a hard-coded path to
require_coretest()
improves portability, but ifrequire_coretest
cannot locate the framework (e.g. mis-set env var after the directory move), the exception surfaces only when tests start.Consider wrapping with a small guard to emit a clearer message:
let coretest; try { coretest = require_coretest(); } catch (e) { console.error('Failed to resolve coretest after test-suite relocation:', e); throw e; }src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in this context as indicated by the static analysis tool.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/integration_tests/api/s3/test_bucketspace_versioning.js (1)
11-14
: Deep relative paths are becoming brittleAfter the directory reshuffle the imports now climb four levels (
../../../../
).
Any further movement of this file or the util folder will silently break these paths.
Consider introducing a root-alias (e.g. viaNODE_PATH
,module-alias
, or TS path mapping) so tests can import like:const P = require('@src/util/promise'); const fs_utils = require('@src/util/fs_utils');This keeps test files agnostic to directory depth changes.
src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.As noted by static analysis, the 'use strict' directive is redundant in ES modules since they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/system_tests/run_system_tests_on_tests_container.sh (2)
46-46
: Consider making the sleep duration configurable.The hardcoded 40-second sleep may be brittle across different environments or system loads.
Consider making it configurable:
-sleep 40 +DEPLOY_WAIT_TIME=${DEPLOY_WAIT_TIME:-40} +sleep ${DEPLOY_WAIT_TIME}
53-53
: Clean up commented code.The commented test should be either implemented or removed to maintain code cleanliness.
src/test/framework/index/index.js (1)
2-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making this directive unnecessary.
-'use strict';
src/test/system_tests/test_bucket_access.js (1)
160-179
: Clean up temporary debug logging.The debug strings with "NMNMNM" and console.log statements appear to be temporary debugging code that should be cleaned up before merging.
Consider removing or replacing with more descriptive logging:
- dbg.log0("NMNMNMN authenticate"); + dbg.log0("Starting authentication"); - console.log("NMNNMNMNMNMNMNMNM0"); + dbg.log0("Generating test file"); - console.log("NMNM", accounts, email); + dbg.log0("Looking up account:", email);Also applies to: 187-217, 409-409
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (101)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_integration.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/api/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_public_access_block.js
(1 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_aws.conf
(1 hunks)src/test/system_tests/ceph_s3_tests/tox.ini
(1 hunks)src/test/system_tests/run_system_tests_on_tests_container.sh
(1 hunks)src/test/system_tests/test_bucket_access.js
(8 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/api/test_namespace_fs.js
(2 hunks)src/test/unit_tests/api/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/api/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/api/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/internal/test_s3select.js
(1 hunks)src/test/unit_tests/internal/test_schema_keywords.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/sudo_index.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
src/test/unit_tests/db/test_migration_to_postgres.js
src/test/different_clients/test_go_sdkv2_script.js
src/test/unit_tests/internal/test_chunk_coder.js
src/test/integration_tests/internal/test_host_server.js
src/test/integration_tests/db/test_postgres_upgrade.js
src/test/system_tests/test_md_aggregator.js
src/test/unit_tests/native/test_nb_native_hashes.js
src/test/integration_tests/api/s3/test_s3_encryption.js
src/test/unit_tests/native/test_nb_native_fs.js
src/test/integration_tests/api/s3/test_bucket_logging.js
src/test/unit_tests/internal/test_chunk_splitter.js
src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
src/test/integration_tests/internal/test_node_server.js
src/test/unit_tests/native/test_nb_native_b64.js
src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
src/test/integration_tests/internal/test_dedup.js
src/test/integration_tests/api/s3/test_s3_worm.js
src/test/unit_tests/native/test_nb_native_gpfs.js
src/test/unit_tests/internal/test_debug_module.js
src/test/unit_tests/internal/test_bucket_chunks_builder.js
src/test/integration_tests/api/s3/test_namespace_auth.js
src/test/framework/run_npm_test_on_test_container.sh
src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
src/test/integration_tests/db/test_mdsequence.js
src/test/unit_tests/internal/test_chunk_config_utils.js
src/test/integration_tests/api/s3/test_s3_ops.js
src/test/unit_tests/db/test_postgres_client.js
src/test/integration_tests/db/test_nodes_store.js
src/test/integration_tests/db/test_md_store.js
src/test/unit_tests/internal/test_s3select.js
src/test/integration_tests/internal/test_tiering_ttl_worker.js
src/test/unit_tests/internal/test_keys_semaphore.js
src/test/unit_tests/api/test_nc_lifecycle.test.js
src/test/unit_tests/internal/test_schema_keywords.js
src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
src/test/integration_tests/api/s3/test_s3_bucket_policy.js
src/test/unit_tests/api/test_namespace_fs.js
src/test/unit_tests/api/test_ns_list_objects.js
src/test/unit_tests/internal/test_namespace_cache.js
src/test/integration_tests/db/test_md_aggregator_unit.js
src/test/unit_tests/nsfs/test_nsfs_access.js
src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
src/test/framework/index/sudo_index.js
src/test/system_tests/ceph_s3_tests/tox.ini
src/test/integration_tests/api/s3/test_bucket_replication.js
src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
src/test/unit_tests/api/test_namespace_fs_mpu.js
src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
src/test/integration_tests/api/sts/test_sts.js
src/test/integration_tests/nc/cli/test_nc_cli.js
src/test/integration_tests/api/s3/test_nsfs_integration.js
src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
src/test/integration_tests/internal/test_map_deleter.js
src/test/integration_tests/internal/test_object_io.js
src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
src/test/integration_tests/internal/test_system_servers.js
src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
src/test/unit_tests/internal/test_mapper.js
src/test/integration_tests/internal/test_map_reader.js
src/test/integration_tests/api/s3/test_s3_list_objects.js
src/test/integration_tests/internal/test_agent_blocks_verifier.js
src/test/unit_tests/internal/test_mirror_writer.js
src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
src/test/integration_tests/internal/test_tiering_upload.js
src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
src/test/integration_tests/internal/test_map_client.js
src/test/integration_tests/db/test_system_store.js
src/test/integration_tests/api/s3/test_s3_list_buckets.js
src/test/unit_tests/internal/test_bucket_diff.test.js
src/test/integration_tests/internal/test_node_allocator.js
src/test/unit_tests/nc/test_nc_master_keys.test.js
src/test/integration_tests/api/test_nc_iam_basic_integration.js
src/test/integration_tests/nc/tools/test_nc_health.js
src/test/integration_tests/internal/test_public_access_block.js
src/test/integration_tests/api/s3/test_lifecycle.js
src/test/framework/index/index.js
src/test/integration_tests/internal/test_upgrade_scripts.js
src/test/unit_tests/api/test_nsfs_versioning.js
src/test/system_tests/run_system_tests_on_tests_container.sh
src/test/integration_tests/internal/test_encryption.js
src/test/integration_tests/api/s3/test_notifications.js
src/test/framework/coretest/coretest.js
src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_aws.conf
src/test/unit_tests/api/test_bucketspace_fs.js
src/test/system_tests/test_utils.js
src/test/framework/index/nc_index.js
src/test/integration_tests/internal/test_map_builder.js
src/test/integration_tests/api/s3/test_bucketspace_versioning.js
src/test/system_tests/test_bucket_access.js
src/test/framework/coretest/nc_coretest.js
🧠 Learnings (20)
.github/workflows/nightly-tests.yaml (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/internal/test_dedup.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/api/s3/test_s3_worm.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/api/s3/test_namespace_auth.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/api/s3/test_s3_ops.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/api/s3/test_s3_bucket_policy.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/unit_tests/api/test_namespace_fs.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/api/sts/test_sts.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/api/s3/test_nsfs_integration.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/deploy/NVA_build/Tests.Dockerfile (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
src/test/integration_tests/api/s3/test_s3_list_buckets.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/internal/test_public_access_block.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/internal/test_upgrade_scripts.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/internal/test_encryption.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/framework/coretest/coretest.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/unit_tests/api/test_bucketspace_fs.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/integration_tests/internal/test_map_builder.js (2)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
src/test/system_tests/test_bucket_access.js (1)
Learnt from: naveenpaul1
PR: noobaa/noobaa-core#9042
File: src/util/cloud_utils.js:183-194
Timestamp: 2025-06-17T12:59:51.543Z
Learning: In the set_noobaa_s3_connection function in src/util/cloud_utils.js, internal NooBaa S3 endpoints (filtered by 'api': 's3', 'kind': 'INTERNAL') will always be non-secure, so tls: false is the correct setting despite the conditional https:// scheme logic.
Makefile (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
🪛 Biome (1.9.4)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: ceph-s3-tests / Ceph S3 Tests
🔇 Additional comments (68)
src/test/unit_tests/db/test_migration_to_postgres.js (1)
7-7
: Relative-path fix looks correct — double-check remaining callers.The extra
../
now correctly resolves fromsrc/test/unit_tests/db/
→src/util/
.
Run a quick grep to ensure no other test insrc/test/**
still uses the outdated../../util/mongo_client
path.src/test/system_tests/test_md_aggregator.js (1)
7-7
: Import path aligns with new test layout — verifyhttp_utils
availability in system-test image.The shallower path (
../../util/http_utils
) assumes the system-test container hassrc
as the working directory.
If the Dockerfile still setsWORKDIR /src/test/framework
, this will fail at runtime. Validate by running the system-test target locally/CI after the directory shuffle.src/test/unit_tests/native/test_nb_native_hashes.js (1)
7-7
: Path update LGTM.No functional impact; tests should still resolve
nb_native
.src/test/unit_tests/native/test_nb_native_b64.js (1)
7-7
: Path update LGTM.Matches the new directory depth.
src/test/unit_tests/internal/test_keys_semaphore.js (1)
7-8
: Corrected imports — ensure shared util path consistency.Both
promise
andkeys_semaphore
are now resolved fromsrc/util/
, consistent with the restructure.
Run the unit-test suite to confirm there aren’t lingering duplicate copies of these modules insidesrc/test
.src/test/integration_tests/db/test_postgres_upgrade.js (1)
7-12
: Import Paths Are CorrectVerified that both
src/upgrade/migrator.js
andsrc/util/postgres_client.js
exist exactly once in the codebase. The../../../upgrade/migrator
and../../../util/postgres_client
require paths insrc/test/integration_tests/db/test_postgres_upgrade.js
will resolve successfully—no changes needed.src/test/unit_tests/native/test_nb_native_gpfs.js (1)
7-10
: Validatefs_utils
import to avoid duplicate instances
The test atsrc/test/unit_tests/native/test_nb_native_gpfs.js
usesconst fs_utils = require('../../../util/fs_utils');However, running
fd -t f fs_utils.js
shows threefs_utils.js
files in the repo, so it’s not guaranteed you’re pulling in the canonical singleton (e.g.src/util/fs_utils.js
). An incorrect resolution here can lead to multiple module instances and break native state.• Confirm that
../../../util/fs_utils
from this test file points to the intendedfs_utils.js
.
• The other imports (nb_native
,native_fs_utils
) each have exactly one match and look safe.src/test/unit_tests/db/test_postgres_client.js (1)
7-13
: Import paths verified – utilities exist at expected depthI confirmed that the three modules live in
src/util/{postgres_client.js, sensitive_string.js, promise.js}
and that the../../../util/...
imports insrc/test/unit_tests/db/test_postgres_client.js
correctly resolve to them. No missing consumers were detected.src/test/unit_tests/internal/test_chunk_splitter.js (1)
9-11
: Check that utility paths still resolve after moveJust like the other test files, these utilities shifted one level deeper. Make sure the CI run includes this suite so we catch any path mismatch early.
src/test/integration_tests/internal/test_dedup.js (1)
9-13
: LGTM on updated relative pathsThe updated deep-relative paths (
../../../util/http_utils
,../../../server/object_services/md_store
,../../../../config
) correctly resolve from the new file location. No functional issues spotted.src/test/unit_tests/internal/test_s3select.js (1)
6-10
: Import path adjustments look correctAll three imports now walk three levels up, matching
src/test/unit_tests/internal/**
→src/util/**
. Runtime resolution should succeed; no further action required.src/test/unit_tests/api/test_nc_lifecycle.test.js (1)
14-15
: Path realignment verified
../../../util/lifecycle_utils
resolves three levels up fromunit_tests/api
, which is correct after the directory reshuffle. No further comments.src/test/unit_tests/nc/test_nc_master_keys.test.js (1)
14-14
: Import path update looks correctNew relative path resolves to
src/test/system_tests/test_utils.js
; no issues found.src/test/integration_tests/api/s3/test_s3_encryption.js (1)
22-22
: Relative path toconfig
still works but is inconsistentOther updated tests import the root
config
withrequire('../../../../config')
(4 dots) from a similar nesting depth. Here we need five dots; double-check soon-to-be-moved files to avoid off-by-one mistakes. Nothing to fix right now, just flagging for consistency.src/test/integration_tests/internal/test_upgrade_scripts.js (1)
11-14
: Possible over-traversal in relative pathsThese four imports walk up three levels (
../../../
) fromsrc/test/integration_tests/internal
.
Given the file is at depthsrc/test/integration_tests/internal
, three dots land atsrc/
, so everything after that must live undersrc/…
. Verify thatserver/system_services/...
,upgrade/...
, etc. indeed reside undersrc/
. If they are one level higher (repo root), the tests will crash at runtime.Request a quick sanity check before merging.
src/test/system_tests/ceph_s3_tests/tox.ini (1)
5-9
: Verifyrequirements.txt
resolution
deps = -rrequirements.txt
assumesrequirements.txt
sits in the same folder as thistox.ini
.
If the file actually lives one level up (common in mono-repos), the install step will silently skip deps and tests will misbehave. Please confirm the location or change to-r../requirements.txt
.src/test/integration_tests/db/test_md_store.js (1)
11-14
: Double-check new pathsBoth
require('../../../../config')
andrequire('../../../server/object_services/md_store')
jumped one directory. CI will only catch missing files at runtime; please run the suite locally or via the pipeline to ensure they still resolve.src/test/unit_tests/api/test_namespace_fs.js (1)
14-28
: Verify all new relative-import hops resolve at runtimeThe test file moved deeper; most
require('../../../…')
statements now climb three levels.
Please run the suite (or at minimumnode -e "require('./src/test/unit_tests/api/test_namespace_fs')"
)
to confirm that every path indeed lands on an existing module – a single typo will only surface at
execution time.src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js (1)
8-18
: Path realignment looks OK – double-check against renamed foldersThe CLI test now ascends four-to-five directories for most helpers (
../../../../…
,../../../../../config
).
Given the sweeping restructure, please re-run the NC CLI integration tests to ensure Node can still
resolve:
•util/os_utils
•util/fs_utils
•sdk/config_fs
•manage_nsfs/*
• root-levelconfig
src/test/integration_tests/api/s3/test_s3_bucket_policy.js (1)
7-8
: Avoid mixing two sources of truth for core-test context
is_nc_coretest
is imported fromtest_utils
, yet most of the file still branches onprocess.env.NC_CORETEST
.
Keeping two flags that try to describe the same runtime mode invites subtle mismatches (string vs. boolean, typo, forgotten export, etc.).
- Trust the single exported boolean and drop direct
process.env
checks (or vice-versa).- You’ll be able to grep / refactor the code later without chasing both forms.
[ suggest_optional_refactor ]
src/test/integration_tests/nc/cli/test_nc_account_cli.test.js (1)
16-19
: Verification Passed: Unique test_utils.js Location ConfirmedI ran the provided check and confirmed there is exactly one
src/test/system_tests/test_utils.js
in the repo, so the import path is correct. No further action required.src/test/unit_tests/api/test_bucketspace_fs.js (1)
11-27
: Import path updates look correct 👍All updated
require()
paths resolve cleanly fromsrc/test/unit_tests/api/
, and they mirror the new directory layout introduced by the PR.
No further action needed.src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js (1)
7-13
: Nice adoption of the new test-utils helperSwitching to
require_coretest()
and the consolidated util barrel keeps this file portable across directory moves. Looks good.src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js (1)
5-12
: Imports align with relocated modulesDepth adjustments (
../../../../
) correctly resolve to the SDK and util packages given the new folder structure. No issues spotted.package.json (1)
27-27
: Verify CI & local scripts reference the new Mocha entry point
mocha
now targetssrc/test/framework/index/index.js
. Make sure every CI job, Dockerfile, andMakefile
path was updated in tandem; otherwise some pipelines might still invoke the removedunit_tests
entry.src/test/integration_tests/api/s3/test_bucket_replication.js (3)
7-8
: Import-path adjustments look fineRelative traversals resolve correctly to
src/*
after the directory reshuffle; no other issues spotted.Also applies to: 14-16, 18-18
167-167
: Import-path update verified
replication_store
is now referenced via the new relative depth – path resolves tosrc/server/system_services/replication_store.js
. 👍
387-387
: No functional changes were introduced in these assertions / housekeeping statements.Also applies to: 400-400, 410-410, 690-691
src/test/integration_tests/internal/test_map_deleter.js (1)
5-5
: Only path corrections—logic untouched.Also applies to: 17-17
src/test/unit_tests/api/test_nsfs_versioning.js (1)
11-15
: Only depth-prefix tweaks to match new layout – good to go.src/test/framework/coretest/coretest.js (1)
21-24
: Path realignments only; everything still resolves undersrc/
.Also applies to: 33-57, 41-57
src/test/unit_tests/internal/test_mapper.js (1)
6-6
: Updated import depths align with the new directory structure.Also applies to: 15-16
src/test/integration_tests/db/test_md_aggregator_unit.js (1)
6-6
: LGTM: Import paths correctly updated for framework reorganization.The import paths have been properly adjusted to reflect the new test directory structure, moving coretest to
framework/coretest
and adjusting other utility imports for the deeper nesting.Also applies to: 15-18
src/test/integration_tests/internal/test_map_builder.js (1)
4-4
: LGTM: Import paths consistently updated for new directory structure.All import paths have been systematically updated to reflect the reorganized test framework, with proper adjustment of relative path depths while maintaining access to the same modules.
Also applies to: 7-7, 15-27
src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js (1)
9-17
: LGTM: Import paths properly updated for test reorganization.The import paths for utility modules and type definitions have been correctly adjusted to accommodate the new test directory structure.
Also applies to: 1064-1064
src/test/integration_tests/internal/test_agent_blocks_verifier.js (2)
4-4
: LGTM: Import paths updated for framework reorganization.The import paths have been correctly adjusted to reflect the new test directory structure, maintaining access to the same modules through updated relative paths.
Also applies to: 7-7, 13-18
75-75
: LGTM: Defensive programming improvement addresses potential null reference.The addition of optional chaining (
blocks?.map
) prevents potential runtime errors if theblocks
array is undefined or null. This aligns with the PR objective of fixing DeepScan-identified issues.src/test/integration_tests/internal/test_object_io.js (1)
16-18
: LGTM on the adjusted SDK / util pathsPaths now correctly resolve three directories up.
No additional concerns.src/test/integration_tests/api/s3/test_s3_list_objects.js (1)
13-15
: Path fixes look correctThe new locations for
promise
andobject_io
are consistent with the repo move.
No further action required.src/test/framework/coretest/nc_coretest.js (1)
10-15
: Validate all deep relative requiresMany paths were rebased by one level (e.g.,
../../../util/sensitive_string
).
Please double-check that every target file still exists from this location – CI will catch it, but a quicknode -e "require.resolve('PATH')"
locally saves a red build.Also applies to: 25-29, 36-43
src/test/integration_tests/internal/test_map_client.js (1)
14-18
: Approved path realignmentsAll SDK / server utilities now resolve three levels up; looks consistent with the directory restructure.
src/test/integration_tests/internal/test_system_servers.js (2)
6-6
: Thecoretest
import path is validVerified that
src/test/framework/coretest/coretest.js
exists, so the require callconst coretest = require('../../framework/coretest/coretest');resolves correctly. No changes needed.
14-18
: All updated relative imports are validRan verification against the filesystem and confirmed that all three target modules exist at their resolved paths—no import errors will occur at runtime.
src/test/unit_tests/internal/test_mirror_writer.js (1)
12-17
: Module paths confirmedAll import paths in
src/test/unit_tests/internal/test_mirror_writer.js
are correct; the following files exist at their specified locations:
- src/server/bg_services/mirror_writer.js
- config.js
- src/util/debug_module.js
No changes required.
src/test/integration_tests/api/s3/test_nsfs_integration.js (2)
16-16
: Likely wrong relative path toconfig
Given the file location
src/test/integration_tests/api/s3/test_nsfs_integration.js
, reachingsrc/config.js
requires four..
segments, not five.
../../../../../config
climbs to project-root and looks forconfig.js
there – which does not exist in the NooBaa tree and will resolve to theconfig
NPM package instead.-const config = require('../../../../../config'); +const config = require('../../../../config');Verify the correct path and adjust; otherwise every
config
reference will point to the wrong module.
28-31
: Fatal error – duplicate bindings in destructuring import
generate_s3_policy
,create_fs_user_by_platform
,delete_fs_user_by_platform
, andget_new_buckets_path_by_test_env
appear twice in the same destructuring pattern.
Node will throwSyntaxError: Duplicate binding name
on the very first require, breaking the entire suite.-const { TMP_PATH, IS_GPFS, is_nc_coretest, require_coretest, invalid_nsfs_root_permissions, - generate_s3_policy, create_fs_user_by_platform, delete_fs_user_by_platform, get_new_buckets_path_by_test_env, - generate_s3_policy, create_fs_user_by_platform, delete_fs_user_by_platform, get_new_buckets_path_by_test_env, - generate_s3_client, exec_manage_cli, generate_anon_s3_client, generate_nsfs_account } = require('../../../system_tests/test_utils'); +const { + TMP_PATH, + IS_GPFS, + is_nc_coretest, + require_coretest, + invalid_nsfs_root_permissions, + generate_s3_policy, + create_fs_user_by_platform, + delete_fs_user_by_platform, + get_new_buckets_path_by_test_env, + generate_s3_client, + exec_manage_cli, + generate_anon_s3_client, + generate_nsfs_account, +} = require('../../../system_tests/test_utils');Please fix before merging – none of the tests will execute otherwise.
Likely an incorrect or invalid review comment.
src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js (1)
8-19
: LGTM! Import paths correctly updated for new directory structure.The import paths have been consistently updated to reflect the new test directory organization, and the switch from
get_coretest_path()
torequire_coretest()
is a good improvement that simplifies the coretest module loading.src/test/framework/index/sudo_index.js (1)
5-25
: LGTM! Well-structured test orchestrator for sudo-level tests.The file properly:
- Sets up the coretest framework
- Validates root permissions before running tests
- Organizes tests that require elevated privileges
- Uses correct import paths for the new directory structure
src/test/integration_tests/internal/test_agent_blocks_reclaimer.js (1)
5-21
: LGTM! Import paths correctly updated for new framework structure.All import paths have been consistently updated to reflect the new directory organization, with the coretest import properly pointing to the
framework/coretest
location and all other imports adjusted accordingly.src/test/system_tests/test_utils.js (2)
251-256
: LGTM! Excellent improvement to simplify coretest module loading.The function rename and implementation change from
get_coretest_path()
torequire_coretest()
is a great improvement. Directly returning the required module instead of just the path simplifies the usage pattern and reduces boilerplate code for consumers.
922-922
: LGTM! Export correctly updated to match function rename.The export statement properly reflects the function name change from
get_coretest_path
torequire_coretest
.src/test/integration_tests/api/s3/test_bucketspace_versioning.js (1)
16-17
:require_coretest
signature changed – double-check all callersThe helper list now exposes
require_coretest
instead ofget_coretest_path
.
Make sure every other test file in the repo was updated accordingly; otherwise they’ll throw at runtime.src/test/integration_tests/internal/test_public_access_block.js (1)
11-14
: LGTM: Import paths correctly updated for directory restructuring.The import path updates are consistent with the test directory reorganization, properly reflecting the new hierarchy and switching to the standardized
require_coretest()
pattern.src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_aws.conf (1)
1-60
: LGTM: Well-structured configuration file for Ceph S3 system tests.The configuration file is properly organized with clear sections for connection parameters, fixtures, and multiple test user accounts. This supports comprehensive S3 testing scenarios including ACL-related tests.
src/test/integration_tests/api/s3/test_notifications.js (3)
10-10
: LGTM: Config import path correctly updated.The path adjustment to
../../../../../config
properly reflects the new directory depth.
13-14
: LGTM: Core test import standardized.The switch to
require_coretest()
function follows the new standardized pattern for loading the core test framework.
31-31
: LGTM: Utility import path correctly adjusted.The notifications_util path update properly reflects the new directory structure.
src/test/integration_tests/api/test_nc_iam_basic_integration.js (4)
10-10
: LGTM: Utility import path correctly updated.The fs_utils path adjustment to
../../../util/fs_utils
properly reflects the new directory depth.
12-12
: LGTM: Test utilities import standardized.The import of
require_coretest
from the standardized location follows the new pattern.
26-27
: LGTM: IAM module imports correctly adjusted.Both IAM constants and errors import paths are properly updated to reflect the deeper directory structure.
30-30
: LGTM: Core test framework loading standardized.The direct call to
require_coretest()
follows the new standardized pattern for loading the core test framework.src/test/framework/index/nc_index.js (1)
5-35
: LGTM: Well-organized test index for NC environment.The test index properly sets up the nc_coretest environment and imports a comprehensive suite of tests covering namespace filesystem, CLI tools, health checks, IAM integration, and multi-fork scenarios. The TODO comments appropriately mark tests for future enabling.
src/test/system_tests/run_system_tests_on_tests_container.sh (1)
1-56
: LGTM! Well-structured system test automation script.The script follows good practices with
set -e
for error handling and comprehensive environment variable configuration. The hardcoded credentials are acceptable for test environments.src/test/framework/index/index.js (1)
5-110
: Excellent test organization and comprehensive coverage.The centralized test index with clear categorization (utils, stores, core, servers) and logical grouping of tests that require/don't require host pools is well-structured and maintainable.
Makefile (2)
283-283
: LGTM! Consistent framework path updates.All test targets have been properly updated to use the new framework directory structure, maintaining consistency across the build system.
Also applies to: 293-293, 304-304
271-271
: New framework paths verified — files presentAll referenced test scripts exist in the new
framework
structure:
src/test/framework/index/sudo_index.js
src/test/framework/index/nc_index.js
src/test/framework/run_npm_test_on_test_container.sh
The path updates are consistent with the reorganization.
src/test/system_tests/test_bucket_access.js (2)
91-106
: Excellent improvement with dynamic pool selection.Replacing hardcoded pool names with dynamic selection from the system's host pools makes the test more robust and environment-agnostic.
408-411
: LGTM! Improved account lookup function.The updated
account_by_name
function with direct email string comparison and logging is more robust and debuggable.
const coretest = require('../../../framework/coretest/coretest'); | ||
coretest.setup({ pools_to_create: [coretest.POOL_LIST[1]] }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Switch to the new require_coretest()
helper
Most tests that moved to framework/
no longer hard-code deep paths – they call the shared helper exported from system_tests/test_utils.js
:
const { require_coretest } = require('../../../../system_tests/test_utils');
const coretest = require_coretest();
Using the helper keeps this file in sync if the framework is relocated again and removes one more hard-coded ../../../..
.
Consider replacing the direct require('../../../framework/coretest/coretest')
with the snippet above.
🤖 Prompt for AI Agents
In src/test/integration_tests/api/s3/test_s3_encryption.js at lines 5 to 6,
replace the direct require of '../../../framework/coretest/coretest' with the
new require_coretest() helper from '../../../../system_tests/test_utils'. First,
import require_coretest from the test_utils module, then call it to get the
coretest object. This removes the hard-coded deep path and keeps the import
resilient to framework relocations.
const coretest = require('../../framework/coretest/coretest'); | ||
const { rpc_client, EMAIL } = coretest; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Align with helper-based coretest import
Same remark as in test_s3_encryption.js
: prefer the central helper to avoid brittle paths.
-const coretest = require('../../framework/coretest/coretest');
+const { require_coretest } = require('../../../system_tests/test_utils');
+const coretest = require_coretest();
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
const coretest = require('../../framework/coretest/coretest'); | |
const { rpc_client, EMAIL } = coretest; | |
const { require_coretest } = require('../../../system_tests/test_utils'); | |
const coretest = require_coretest(); | |
const { rpc_client, EMAIL } = coretest; |
🤖 Prompt for AI Agents
In src/test/integration_tests/internal/test_upgrade_scripts.js at lines 5 to 6,
the import of coretest uses a relative path that can be brittle. Replace this
with the central helper-based import used in other tests like
test_s3_encryption.js to ensure consistency and reduce path fragility. Update
the require statement to import coretest from the central helper module instead
of the relative path.
|
||
const tmp_fs_path = path.join(TMP_PATH, 'test_nc_account_cli'); | ||
const timeout = 50000; | ||
const config = require('../../../../config'); | ||
const config = require('../../../../../config'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Multiple config
singleton instances risk diverging state
Using a fifth-level relative path (../../../../../config
) means other test files at different depths will require
the same module with different resolved absolute paths (e.g. ../../../config
, ../../config
, …).
Node treats those as distinct modules, so mutations (e.g. config.NC_DISABLE_ACCESS_CHECK = true
) won’t propagate, leading to hard-to-trace bugs.
Refactor to a single canonical import path – e.g. register @root/config
alias or:
const projectRoot = path.resolve(__dirname, '../../../../..');
const config = require(path.join(projectRoot, 'config'));
Ensuring every file computes the same absolute path avoids accidental duplication.
🤖 Prompt for AI Agents
In src/test/integration_tests/nc/cli/test_nc_account_cli.test.js at line 23, the
config module is imported using a deep relative path which can cause multiple
singleton instances due to different resolved absolute paths. To fix this,
replace the relative require with a computed absolute path by resolving the
project root directory (e.g., using path.resolve with __dirname) and then
requiring the config module from that absolute path. This ensures all files
import the same canonical config instance and avoid state divergence.
const coretest = require('../../framework/coretest/coretest'); | ||
coretest.setup({ pools_to_create: coretest.POOL_LIST }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Inconsistent coretest bootstrap – switch to the new helper
Most updated tests rely on require_coretest()
exposed by test_utils
.
Keeping a hard-coded relative path here breaks the single-source-of-truth goal and will fail once coretest
is relocated again.
-const coretest = require('../../framework/coretest/coretest');
+const { require_coretest } = require('../../system_tests/test_utils');
+const coretest = require_coretest();
This mirrors the pattern already used in test_nc_online_upgrade_s3_integrations.js
.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
const coretest = require('../../framework/coretest/coretest'); | |
coretest.setup({ pools_to_create: coretest.POOL_LIST }); | |
// Before: | |
// const coretest = require('../../framework/coretest/coretest'); | |
// coretest.setup({ pools_to_create: coretest.POOL_LIST }); | |
// After: | |
const { require_coretest } = require('../../system_tests/test_utils'); | |
const coretest = require_coretest(); | |
coretest.setup({ pools_to_create: coretest.POOL_LIST }); |
🤖 Prompt for AI Agents
In src/test/integration_tests/internal/test_tiering_upload.js at lines 5-6,
replace the direct require of coretest with the use of require_coretest() from
test_utils to maintain a single source of truth and avoid hard-coded relative
paths. Import require_coretest from test_utils and use it to get coretest, then
call setup on it as before.
require('../../../server/notifications/alerts_log_store').instance(); | ||
require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance(); | ||
require('../../../server/analytic_services/io_stats_store').IoStatsStore.instance(); | ||
require('../../../server/analytic_services/bucket_stats_store').BucketStatsStore.instance(); | ||
require('../../../server/analytic_services/history_data_store').HistoryDataStore.instance(); | ||
require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance(); | ||
// eslint-disable-next-line no-unused-expressions | ||
require('../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance; | ||
require('../../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate require + missing invocation
ActivityLogStore.instance()
is required twice (lines 101 and 105).EndpointStatsStore.instance
(line 107) omits()
, unlike the other stores, so the singleton is never initialized.
- require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance();
...
- require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance();
- // eslint-disable-next-line no-unused-expressions
- require('../../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance;
+ require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance();
...
+ // eslint-disable-next-line no-unused-expressions
+ require('../../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance();
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
require('../../../server/notifications/alerts_log_store').instance(); | |
require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance(); | |
require('../../../server/analytic_services/io_stats_store').IoStatsStore.instance(); | |
require('../../../server/analytic_services/bucket_stats_store').BucketStatsStore.instance(); | |
require('../../../server/analytic_services/history_data_store').HistoryDataStore.instance(); | |
require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance(); | |
// eslint-disable-next-line no-unused-expressions | |
require('../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance; | |
require('../../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance; | |
} | |
require('../../../server/notifications/alerts_log_store').instance(); | |
require('../../../server/analytic_services/activity_log_store').ActivityLogStore.instance(); | |
require('../../../server/analytic_services/io_stats_store').IoStatsStore.instance(); | |
require('../../../server/analytic_services/bucket_stats_store').BucketStatsStore.instance(); | |
require('../../../server/analytic_services/history_data_store').HistoryDataStore.instance(); | |
// eslint-disable-next-line no-unused-expressions | |
require('../../../server/analytic_services/endpoint_stats_store').EndpointStatsStore.instance(); | |
} |
🤖 Prompt for AI Agents
In src/test/framework/coretest/coretest.js between lines 100 and 108, remove the
duplicate require call to ActivityLogStore.instance() on line 105 to avoid
redundant initialization. Also, add parentheses to EndpointStatsStore.instance
on line 107 to invoke the method and properly initialize the singleton, matching
the pattern used for other stores.
@@ -3,7 +3,7 @@ | |||
'use strict'; | |||
|
|||
// setup coretest first to prepare the env | |||
const coretest = require('./coretest'); | |||
const coretest = require('../../framework/coretest/coretest'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Prefer require_coretest()
over deep relative path
The project already exposes a helper in src/test/system_tests/test_utils.js
:
const { require_coretest } = require('../../system_tests/test_utils');
const coretest = require_coretest();
Switching to it will:
- eliminate the fragile
../../framework/...
traversal - keep this file aligned with the rest of the suite that was migrated in this PR
-const coretest = require('../../framework/coretest/coretest');
+const { require_coretest } = require('../../system_tests/test_utils');
+const coretest = require_coretest();
🤖 Prompt for AI Agents
In src/test/integration_tests/internal/test_object_io.js at line 6, replace the
direct require of coretest using a deep relative path with the helper function
require_coretest from src/test/system_tests/test_utils.js. Import
require_coretest from '../../system_tests/test_utils' and then call it to get
coretest. This change removes fragile relative path traversal and aligns this
file with the rest of the test suite.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (100)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_integration.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/api/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_public_access_block.js
(1 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_aws.conf
(1 hunks)src/test/system_tests/ceph_s3_tests/tox.ini
(1 hunks)src/test/system_tests/run_system_tests_on_tests_container.sh
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/api/test_namespace_fs.js
(2 hunks)src/test/unit_tests/api/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/api/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/api/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/internal/test_s3select.js
(1 hunks)src/test/unit_tests/internal/test_schema_keywords.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/sudo_index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (21)
- src/test/unit_tests/api/test_nc_lifecycle.test.js
- src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/system_tests/test_md_aggregator.js
- src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_aws.conf
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/internal/test_map_client.js
- package.json
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/api/test_nc_iam_basic_integration.js
- src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/unit_tests/api/test_nsfs_versioning.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/api/s3/test_bucketspace_versioning.js
- Makefile
🚧 Files skipped from review as they are similar to previous changes (73)
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/system_tests/ceph_s3_tests/tox.ini
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/unit_tests/api/test_namespace_fs_mpu.js
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/internal/test_s3select.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/framework/coretest/coretest.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/api/test_ns_list_objects.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_public_access_block.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/unit_tests/api/test_bucketspace_fs.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/api/s3/test_nsfs_integration.js
- src/test/system_tests/run_system_tests_on_tests_container.sh
- src/test/unit_tests/nc/test_nc_master_keys.test.js
- src/test/unit_tests/internal/test_schema_keywords.js
- src/test/unit_tests/api/test_namespace_fs.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/integration_tests/api/s3/test_notifications.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: run-jest-unit-tests
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
🔇 Additional comments (9)
src/test/framework/index/sudo_index.js (2)
13-15
: LGTM! Good permission validation for sudo tests.The runtime check for NSFS root permissions is appropriate and provides clear error messaging when insufficient permissions are detected.
18-24
: Well-organized test suite for NSFS functionality.The test organization is logical, grouping NSFS-related tests that don't require host pools. The imports correctly reference the new directory structure.
src/test/framework/index/nc_index.js (3)
8-25
: Comprehensive test coverage for NC functionality.The test organization covers a wide range of NC-related functionality including namespace filesystem, multi-part uploads, native filesystem, CLI tools, health checks, and various S3 integrations. The import paths are correctly updated for the new directory structure.
26-29
: Clear documentation for tests with special setups.The comments appropriately highlight that these tests use different setups (IAM port, multiple forks), which is important for understanding test execution context.
31-35
: Good planning with TODO comments.The commented-out test imports with TODO notes indicate planned future additions, which is helpful for tracking incomplete test coverage.
src/test/framework/index/index.js (4)
8-11
: Excellent test organization with clear separation.The clear separation between tests that do and don't require host pools is well-documented and will help with test execution planning and debugging.
12-37
: Comprehensive utility test coverage.The test suite includes excellent coverage of utility modules including data structures (linked list, LRU), concurrency primitives (semaphore, keys lock), networking (HTTP, SSL, RPC), and file system utilities. The organization by functionality makes it easy to locate specific test areas.
38-74
: Well-structured core functionality tests.The test organization logically progresses from data stores through core internal components to server functionality. The comments provide helpful context about test dependencies and initialization requirements.
75-110
: Thorough integration test coverage.The tests requiring host pools cover critical integration scenarios including S3 operations, encryption, bucket policies, replication, lifecycle management, and upgrade scripts. This comprehensive coverage ensures system reliability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.Modern JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.Modern JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.Modern JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (97)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_integration.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/api/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_public_access_block.js
(1 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/api/test_namespace_fs.js
(2 hunks)src/test/unit_tests/api/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/api/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/api/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/internal/test_s3select.js
(1 hunks)src/test/unit_tests/internal/test_schema_keywords.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/sudo_index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (14)
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/unit_tests/api/test_nsfs_versioning.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/api/test_nc_iam_basic_integration.js
- src/test/system_tests/test_md_aggregator.js
🚧 Files skipped from review as they are similar to previous changes (77)
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/unit_tests/api/test_nc_lifecycle.test.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/internal/test_s3select.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/internal/test_schema_keywords.js
- src/test/unit_tests/api/test_namespace_fs_mpu.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
- src/test/unit_tests/api/test_namespace_fs.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
- src/test/integration_tests/internal/test_node_allocator.js
- package.json
- src/test/integration_tests/api/s3/test_bucketspace_versioning.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/internal/test_object_io.js
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/unit_tests/nc/test_nc_master_keys.test.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/api/s3/test_nsfs_integration.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/unit_tests/api/test_bucketspace_fs.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/internal/test_public_access_block.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/framework/coretest/coretest.js
- src/test/system_tests/test_utils.js
- src/test/unit_tests/api/test_ns_list_objects.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- Makefile
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
🔇 Additional comments (7)
src/test/framework/index/sudo_index.js (2)
13-15
: LGTM: Permission validation logic is appropriate.The runtime check for NSFS root permissions is well-implemented, providing clear error messaging with process IDs for debugging.
17-25
: LGTM: Test module organization is appropriate for sudo context.The selected test modules are relevant for sudo-level operations, focusing on NSFS access, S3 integration, and system-level functionality.
src/test/framework/index/nc_index.js (2)
26-30
: LGTM: Clear documentation for special test setups.The comments appropriately document tests that use different setups or configurations, which is helpful for maintenance and understanding test dependencies.
31-35
: LGTM: Appropriate TODO comments for disabled tests.The TODO comments clearly indicate which tests are temporarily disabled and why, facilitating future enabling when support is ready.
src/test/framework/index/index.js (3)
8-11
: LGTM: Clear categorization of test requirements.The comment clearly separates tests that don't require host pools from those that do, which is essential for test execution planning and resource management.
67-75
: LGTM: Excellent test organization with clear dependency documentation.The comments clearly document the test initialization requirements and dependency on host pools, which is crucial for understanding test execution order and resource requirements.
12-110
: LGTM: Comprehensive test suite coverage.The test suite covers a wide range of functionality including JSON schema validation, utilities, data stores, core components, API operations, and integration tests. The organization by category makes it easy to understand the scope and dependencies of different test groups.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (97)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_integration.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/api/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_public_access_block.js
(1 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/api/test_namespace_fs.js
(2 hunks)src/test/unit_tests/api/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/api/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/api/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/internal/test_s3select.js
(1 hunks)src/test/unit_tests/internal/test_schema_keywords.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/sudo_index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (12)
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- package.json
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/framework/coretest/coretest.js
- src/test/integration_tests/api/test_nc_iam_basic_integration.js
- Makefile
🚧 Files skipped from review as they are similar to previous changes (79)
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/nc/test_nc_master_keys.test.js
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/internal/test_s3select.js
- src/test/unit_tests/api/test_namespace_fs.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/internal/test_schema_keywords.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/unit_tests/api/test_ns_list_objects.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/unit_tests/api/test_namespace_fs_mpu.js
- src/test/unit_tests/api/test_nc_lifecycle.test.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/unit_tests/api/test_bucketspace_fs.js
- src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/api/test_nsfs_versioning.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/api/s3/test_bucketspace_versioning.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/api/s3/test_nsfs_integration.js
- src/test/integration_tests/internal/test_public_access_block.js
- src/test/system_tests/test_utils.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
🔇 Additional comments (9)
src/test/framework/index/sudo_index.js (2)
13-15
: LGTM! Good permission validation for NSFS root access.The permission check properly validates that the process has sufficient privileges before running NSFS-related tests, which prevents test failures due to insufficient permissions.
17-25
: Well-organized test imports with clear categorization.The test imports are well-organized and cover the appropriate test categories for sudo-privileged operations. The comment clearly indicates these are tests that don't require host pools.
src/test/framework/index/nc_index.js (3)
8-25
: Excellent test coverage and organization.The test imports provide comprehensive coverage across various components including namespace filesystem, multi-part upload, native filesystem, CLI tools, health checks, and more. The organization is logical and well-structured.
26-29
: Good documentation for tests with special setups.The comments clearly indicate that these tests use different setups, which is helpful for understanding the test execution context and maintaining the test suite.
31-35
: Clear TODO markers for future test enablement.The TODO comments provide good visibility into which tests are temporarily disabled and need to be enabled in the future.
src/test/framework/index/index.js (4)
8-11
: Excellent test categorization and organization.The clear separation between tests that require host pools and those that don't is excellent for test execution optimization and understanding dependencies.
12-37
: Comprehensive utility and schema test coverage.The test imports provide excellent coverage of utility functions, JSON schema validation, and core components with clear categorical organization.
67-74
: Good documentation for test pool requirements.The comments clearly explain the transition from tests that don't require host pools to those that do, which helps with understanding test execution requirements and dependencies.
76-110
: Well-organized pool-dependent tests with comprehensive coverage.The tests requiring host pools are well-organized and cover all major components including servers, core functionality, API operations, and upgrade scenarios. The categorization is logical and maintainable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added some comments on the files but there are some general things I wanted to raise -
- ceph tests/mint/warp/go-sdk tests - might be useful to move them to external tests dir or something similar
- the tree mentioned in the description is not compatible with the changes in the code so we should probably update it inorder to get an understanding of the new structure.
- we might want to split renames to a different PR
package.json
Outdated
@@ -24,7 +24,7 @@ | |||
"test": "npm run lint && npm run mocha", | |||
"ts": "tsc", | |||
"lint": "eslint src --quiet", | |||
"mocha": "node --allow-natives-syntax ./node_modules/.bin/_mocha src/test/unit_tests/index.js", | |||
"mocha": "node --allow-natives-syntax ./node_modules/.bin/_mocha src/test/framework/index/index.js", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should index get a higher level due to its importance?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what do you mean higher level? that it should be moved to the test root directory? I just wanted to be less directories there. I can move it there if you like
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
moved it to utils like with coretest
@@ -4,18 +4,18 @@ | |||
const mocha = require('mocha'); | |||
const assert = require('assert'); | |||
const _ = require('lodash'); | |||
const P = require('../../util/promise'); | |||
const coretest = require('./coretest'); | |||
const P = require('../../../../util/promise'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder about the location of test_bucket_replication.js, currently it's in s3/ but the feature itself is not really s3 related right now, it's suppose to be in the future though
but currently it's configured via rpc only..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think its better to keep it in s3 directory. the alternative is to move it to the internal directory which seems less relevant
src/test/integration_tests/api/s3/test_bucketspace_versioning.js
Outdated
Show resolved
Hide resolved
src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant "use strict" directive.The "use strict" directive is redundant in ES modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant "use strict" directive.The "use strict" directive is redundant in ES modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/index.js (1)
1-2
: Remove redundant "use strict" directive.The "use strict" directive is redundant in ES modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (97)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_integration.js
(1 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/api/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_public_access_block.js
(1 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/api/test_namespace_fs.js
(2 hunks)src/test/unit_tests/api/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/api/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/api/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/internal/test_s3select.js
(1 hunks)src/test/unit_tests/internal/test_schema_keywords.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
- src/test/unit_tests/sudo_index.js
✅ Files skipped from review due to trivial changes (6)
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/internal/test_map_client.js
🚧 Files skipped from review as they are similar to previous changes (85)
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/internal/test_node_server.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/nc/test_nc_master_keys.test.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/api/test_nc_lifecycle.test.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/integration_tests/db/test_system_store.js
- src/test/unit_tests/api/test_namespace_fs_mpu.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/unit_tests/internal/test_schema_keywords.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
- src/test/unit_tests/internal/test_s3select.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/unit_tests/api/test_namespace_fs.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/unit_tests/api/test_ns_list_objects.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/api/s3/test_versioning_concurrency.test.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/unit_tests/api/test_bucketspace_fs.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/api/s3/test_bucketspace_versioning.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/unit_tests/api/test_nsfs_versioning.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/api/s3/test_nsfs_concurrency.test.js
- src/test/framework/coretest/coretest.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_map_deleter.js
- package.json
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/internal/test_public_access_block.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/api/s3/test_nsfs_integration.js
- src/test/system_tests/test_utils.js
- Makefile
- src/test/integration_tests/api/test_nc_iam_basic_integration.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
🔇 Additional comments (10)
src/test/framework/index/sudo_index.js (3)
5-7
: LGTM: Core test setup is properly configured.The coretest setup with
incomplete_rpc_coverage: 'show'
configuration is appropriate for this test index.
13-15
: LGTM: Permission validation is correctly implemented.The NSFS root permissions check properly validates user and group IDs before proceeding with tests that require elevated permissions.
18-24
: LGTM: Test module imports are well-organized.The test imports are logically grouped and use consistent relative paths to reference test modules in the reorganized structure.
src/test/framework/index/nc_index.js (3)
5-6
: LGTM: Appropriate use of nc_coretest for NooBaa core tests.The use of
nc_coretest
module is correct for this test index that focuses on NooBaa core functionality.
26-29
: LGTM: Clear documentation of test setup differences.The comments clearly indicate that certain tests use different setups, which is helpful for understanding the test configuration.
31-35
: LGTM: TODO comments for future test enablement.The TODO comments and commented-out test requires are appropriate for tracking future work without cluttering the current test execution.
src/test/framework/index/index.js (4)
5-6
: LGTM: Proper core test setup configuration.The coretest setup with
incomplete_rpc_coverage: 'show'
is appropriate for the main test index.
8-11
: LGTM: Clear organization with descriptive section headers.The section headers clearly separate tests that don't require host pools from those that do, improving test organization and understanding.
67-74
: LGTM: Logical separation of host pool dependent tests.The clear separation between tests that require host pools and those that don't is well-documented and helps with test execution planning.
12-110
: LGTM: Comprehensive test coverage with good categorization.The test imports are well-organized into logical categories (JSON Schema, Utils, Stores, Core, Servers, etc.) with appropriate comments. The mixture of active and commented-out tests with explanatory comments is appropriate for a main test index.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6 modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6 modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6 modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/sudo_index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (32)
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- package.json
🚧 Files skipped from review as they are similar to previous changes (66)
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/api/s3/test_nc_lifecycle_expiration.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/framework/coretest/coretest.js
- Makefile
- src/test/integration_tests/api/sts/test_sts.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/api/s3/test_notifications.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
src/test/integration_tests/nsfs/test_bucketspace_versioning.js
src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: run-jest-unit-tests
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
🔇 Additional comments (15)
src/test/integration_tests/nsfs/test_bucketspace_versioning.js (4)
11-17
: Import path updates look correct for the directory restructuring.The relative path changes from two-level (
../../
) to three-level (../../../
) are consistent with moving the test framework files deeper into the directory structure. The test_utils import path adjustment from../system_tests/test_utils
to../../system_tests/test_utils
correctly reflects the new directory layout.
16-16
: Destructured import changes are correctly implemented.The removal of
get_coretest_path
and addition ofrequire_coretest
in the destructured import aligns with the function renaming mentioned in the AI summary. This change standardizes the coretest loading mechanism across the test suite.
19-19
: Config import path correctly updated.The config import path has been properly deepened from three-level to four-level relative path (
../../../../config
), which is consistent with the new directory structure.
21-21
: Coretest loading mechanism updated correctly.The change from
require(get_coretest_path())
torequire_coretest()
simplifies the coretest loading and is consistent with the function replacement described in the AI summary. The new function directly returns the required coretest module, making the code cleaner.src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js (1)
9-15
: Import path updates look correct for the directory restructuring.The import paths have been consistently updated to add an additional directory traversal level (
../
), which aligns with the test framework reorganization described in the PR objectives.src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js (3)
8-12
: Import path updates are consistent with the directory restructuring.The import paths have been correctly updated to reflect the deeper directory structure of the test framework reorganization.
93-93
: Import path correctly updated.The
nc_master_key_manager
import path has been appropriately updated for the new directory structure.
188-189
: Import paths correctly updated for native utilities.The
nb_native
andnative_fs_utils
import paths have been properly updated to reflect the new directory structure.src/test/framework/index/sudo_index.js (2)
13-15
: Good permission validation for sudo tests.The permission check appropriately ensures that tests requiring elevated permissions have the necessary access before proceeding.
5-25
: Well-organized test suite setup.The test organization is clear with appropriate coretest setup and logical grouping of NSFS-related tests that require elevated permissions.
src/test/framework/index/nc_index.js (2)
5-30
: Well-organized NooBaa core test suite.The test organization is comprehensive and well-structured, covering various aspects of the NooBaa core system including NSFS, API, CLI, and integration tests. The comments noting different setups for specific tests are helpful.
31-35
: TODO comments are appropriate for temporarily disabled tests.The TODO comments clearly indicate tests that should be enabled when supported, providing good documentation for future maintenance.
src/test/framework/index/index.js (3)
5-11
: Good test framework initialization.The coretest setup with incomplete RPC coverage visibility is appropriate for a comprehensive test suite.
12-101
: Excellent test organization and comprehensive coverage.The test suite is well-organized with clear sections for different components (JSON schema, utils, stores, core, servers) and logical separation between tests that require host pools and those that don't. The comprehensive coverage includes unit tests, integration tests, and system tests across various modules.
102-110
: Good organization of specialized test categories.The upgrade tests and lifecycle tests are appropriately grouped, and the TODO comment for postgres upgrade tests provides useful context for future maintenance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6 modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (2)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6 modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
31-35
: TODO comments indicate future work.The commented-out tests with TODO notes suggest these features are not yet supported. Consider creating tracking issues for these items to ensure they're not forgotten.
Would you like me to help create GitHub issues to track enabling these commented tests?
src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6 modules as they are automatically in strict mode.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (3)
- src/test/unit_tests/sudo_index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (11)
- src/test/system_tests/test_md_aggregator.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- package.json
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/internal/test_map_client.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/unit_tests/nsfs/test_namespace_fs.js
🚧 Files skipped from review as they are similar to previous changes (89)
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- .github/workflows/nightly-tests.yaml
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/framework/coretest/coretest.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- Makefile
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/system_tests/test_utils.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
🔇 Additional comments (7)
src/test/framework/index/sudo_index.js (2)
13-15
: LGTM: Permission check implementation is correct.The permission check properly validates NSFS root permissions using process UID/GID and provides a clear error message.
17-25
: LGTM: Test organization is well-structured.The test imports are properly organized and the comment clearly indicates these are tests that don't require host pools.
src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js (2)
7-10
: LGTM: Import paths correctly updated for new directory structure.The import paths have been properly adjusted to reflect the deeper directory structure, adding the necessary
../
segments.
12-12
: LGTM: Coretest requirement updated correctly.The change from
get_coretest_path()
torequire_coretest()
aligns with the PR objective to replace the path resolution function with a direct require helper.src/test/framework/index/nc_index.js (1)
8-30
: LGTM: Test organization is comprehensive and well-documented.The test imports are well-organized and the comments clearly indicate which tests use different setups. This helps maintain clarity about test requirements.
src/test/framework/index/index.js (2)
8-11
: LGTM: Clear test organization with helpful comments.The organization into groups based on host pool requirements is logical and well-documented, making it easy to understand test dependencies.
12-110
: LGTM: Comprehensive test coverage with good organization.The test imports cover a wide range of functionality including:
- JSON schema validation
- Utility modules
- Data stores
- Core internal components
- API tests
- Server components
- S3 operations
- Encryption and lifecycle
The separation between tests requiring and not requiring host pools is helpful for understanding test execution requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (7)
src/test/framework/index/sudo_index.js (2)
1-2
: Remove redundant 'use strict' directive.ES6 modules are automatically in strict mode, making this directive redundant.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
26-26
: Remove trailing empty line.There's an unnecessary trailing line at the end of the file.
-
src/test/framework/index/nc_index.js (3)
1-2
: Remove redundant 'use strict' directive.ES6 modules are automatically in strict mode, making this directive redundant.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
31-35
: Track TODO items for unsupported tests.Multiple tests are commented out with TODO notes. Consider creating tracking issues for these incomplete test modules to ensure they're eventually enabled.
Would you like me to help create GitHub issues to track these disabled tests?
36-36
: Remove trailing empty line.There's an unnecessary trailing line at the end of the file.
-
src/test/framework/index/index.js (2)
1-2
: Remove redundant 'use strict' directive.ES6 modules are automatically in strict mode, making this directive redundant.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
111-111
: Remove trailing empty line.There's an unnecessary trailing line at the end of the file.
-
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_versioning.js
(1 hunks)
⛔ Files not processed due to max files limit (1)
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (2)
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (11)
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
🚧 Files skipped from review as they are similar to previous changes (91)
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/integration_tests/db/test_system_store.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/framework/coretest/nc_coretest.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- package.json
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/integration_tests/internal/test_map_reader.js
- Makefile
- src/test/framework/coretest/coretest.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/system_tests/test_utils.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
🔇 Additional comments (4)
src/test/framework/index/sudo_index.js (1)
13-15
: Good permission validation for sudo tests.The permission check using
test_utils.invalid_nsfs_root_permissions()
is appropriate for tests requiring elevated privileges. The error message provides useful debugging information.src/test/framework/index/nc_index.js (1)
26-29
: Good documentation of special test configurations.The comments clearly explain which tests use different setups, which is helpful for maintainers.
src/test/framework/index/index.js (2)
8-74
: Excellent test organization and categorization.The clear separation between tests that don't require host pools and those that do is well-structured. The categorical organization (JSON Schema, Utils, Stores, Core, Servers) makes it easy to understand test coverage and add new tests appropriately.
76-107
: Good separation of host pool dependent tests.The organization clearly identifies which tests require host pools, which is crucial for test execution planning and debugging. The comments provide helpful context about test requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6+ modules as they are automatically in strict mode.
/* Copyright (C) 2016 NooBaa */ -'use strict';
src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6+ modules as they are automatically in strict mode.
/* Copyright (C) 2016 NooBaa */ -'use strict';
src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.The 'use strict' directive is redundant in ES6+ modules as they are automatically in strict mode.
/* Copyright (C) 2016 NooBaa */ -'use strict';
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_versioning.js
(1 hunks)
⛔ Files not processed due to max files limit (1)
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (2)
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (15)
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
🚧 Files skipped from review as they are similar to previous changes (87)
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- .github/workflows/nightly-tests.yaml
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/db/test_mdsequence.js
- package.json
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/framework/coretest/coretest.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- Makefile
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
🔇 Additional comments (6)
src/test/framework/index/sudo_index.js (2)
13-15
: LGTM! Permission check logic is correct.The permission validation correctly checks both user ID and group ID before proceeding with NSFS tests that require elevated permissions.
17-25
: Well-organized test imports following new directory structure.The test imports are properly organized and correctly reference the new directory structure from the refactoring.
src/test/framework/index/nc_index.js (2)
26-29
: Excellent documentation for test setup variations.The comments clearly explain when tests use different setups, which is valuable for maintainability and understanding test dependencies.
8-25
: Comprehensive test coverage with proper organization.The test imports cover a wide range of NC components and are well-organized. The new directory structure is correctly referenced throughout.
src/test/framework/index/index.js (2)
8-11
: Excellent test categorization and documentation.The clear separation between tests that require host pools and those that don't, along with descriptive comments, greatly improves maintainability and understanding of test dependencies.
12-110
: Comprehensive test coverage with logical organization.The test imports are excellently organized by functional areas (JSON Schema, Utils, Stores, Core, Servers, etc.) and maintain comprehensive coverage during the directory restructuring. The new import paths correctly reference the reorganized directory structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.ES modules are automatically in strict mode, making this directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */src/test/framework/index/nc_index.js (2)
1-2
: Remove redundant 'use strict' directive.ES modules are automatically in strict mode, making this directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
31-35
: Track the TODO items for test migration completion.The commented-out tests indicate incomplete migration. Consider creating issues to track when these tests should be enabled.
Would you like me to help create GitHub issues to track the enablement of these commented-out tests?
src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.ES modules are automatically in strict mode, making this directive unnecessary.
-/* Copyright (C) 2016 NooBaa */ -'use strict'; +/* Copyright (C) 2016 NooBaa */
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_versioning.js
(1 hunks)
⛔ Files not processed due to max files limit (1)
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (2)
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (12)
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- package.json
- src/test/integration_tests/internal/test_map_client.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
🚧 Files skipped from review as they are similar to previous changes (90)
- src/test/unit_tests/db/test_migration_to_postgres.js
- .github/workflows/nightly-tests.yaml
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/framework/coretest/coretest.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- Makefile
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/db/test_postgres_upgrade.js
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
🔇 Additional comments (10)
src/test/framework/index/sudo_index.js (3)
5-7
: LGTM: Clean framework setup.The coretest setup with incomplete RPC coverage visibility is appropriate for a test entry point.
13-15
: LGTM: Appropriate permission validation.The NSFS root permission check is essential for sudo-related tests and provides clear error messaging.
18-24
: LGTM: Well-organized test imports.The test module imports are logically grouped and focus appropriately on NSFS and NC components that require elevated permissions.
src/test/framework/index/nc_index.js (2)
5-6
: LGTM: Appropriate NC framework setup.The nc_coretest setup is correctly configured for namespace controller tests.
26-29
: LGTM: Clear documentation of special test setups.The comments clearly indicate that these tests use different setups, which is important for maintainability.
src/test/framework/index/index.js (5)
5-6
: LGTM: Appropriate framework setup.The coretest setup with incomplete RPC coverage visibility is well-configured for the main test entry point.
8-11
: LGTM: Excellent test organization.The clear separation between tests that don't require host pools and those that do is crucial for test execution efficiency and reliability.
12-64
: LGTM: Comprehensive test coverage without host pool dependencies.The test imports are well-organized by functional areas (JSON schema, utils, stores, core) and appropriately grouped for tests that don't require host pools.
67-74
: LGTM: Clear transition to pool-dependent tests.The comments clearly delineate the transition to tests requiring host pools, which is important for understanding test dependencies.
76-107
: LGTM: Comprehensive pool-dependent test coverage.The test imports for pool-dependent tests are well-organized and cover all major system components that require host pools.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/test/framework/index/sudo_index.js (1)
1-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
/* Copyright (C) 2016 NooBaa */ -'use strict';
src/test/framework/index/nc_index.js (1)
1-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
/* Copyright (C) 2016 NooBaa */ -'use strict';
src/test/framework/index/index.js (1)
1-2
: Remove redundant 'use strict' directive.JavaScript modules are automatically in strict mode, making the explicit directive unnecessary.
/* Copyright (C) 2016 NooBaa */ -'use strict';
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(4 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/coretest/coretest.js
(2 hunks)src/test/framework/coretest/nc_coretest.js
(2 hunks)src/test/framework/index/index.js
(1 hunks)src/test/framework/index/nc_index.js
(1 hunks)src/test/framework/index/sudo_index.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
(1 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)
⛔ Files not processed due to max files limit (2)
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (2)
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (10)
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
🚧 Files skipped from review as they are similar to previous changes (92)
- .github/workflows/nightly-tests.yaml
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- package.json
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/framework/coretest/nc_coretest.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/framework/coretest/coretest.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- Makefile
🧰 Additional context used
📓 Path-based instructions (1)
`src/test/**/*.*`: Ensure that the PR includes tests for the changes.
src/test/**/*.*
: Ensure that the PR includes tests for the changes.
⚙️ Source: CodeRabbit Configuration File
List of files the instruction was applied to:
src/test/framework/index/index.js
src/test/framework/index/nc_index.js
src/test/framework/index/sudo_index.js
🪛 Biome (1.9.4)
src/test/framework/index/index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/nc_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
src/test/framework/index/sudo_index.js
[error] 1-2: Redundant use strict directive.
The entire contents of JavaScript modules are automatically in strict mode, with no statement needed to initiate it.
Safe fix: Remove the redundant use strict directive.
(lint/suspicious/noRedundantUseStrict)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
🔇 Additional comments (7)
src/test/framework/index/sudo_index.js (2)
13-15
: LGTM! Appropriate permission validation for sudo tests.The NSFS root permissions check is correctly implemented with informative error messaging including process IDs for debugging.
17-24
: Well-organized test suite for NSFS and NC components.The test selection is appropriate for sudo tests that don't require host pools, with clear focus on NSFS access, integration, versioning, and NC CLI/health tools.
src/test/framework/index/nc_index.js (2)
26-29
: Excellent documentation for tests with special setups.The comments clearly indicate which tests use different configurations (IAM port, multiple forks), which is valuable for maintainers understanding the test execution context.
31-35
: Appropriate handling of disabled tests.The TODO comment and commented-out requires provide clear indication of tests that should be enabled when supported, making it easy to track pending test coverage.
src/test/framework/index/index.js (3)
8-11
: Excellent test organization with clear categorization.The separation between tests that do and don't require host pools is well-documented and provides clear guidance for test execution and maintenance.
67-74
: Clear transition point between test categories.The comments effectively mark the transition from non-host-pool tests to host-pool-required tests, with appropriate explanation of the system initialization step.
102-109
: Well-structured specialized test sections.The organization of upgrade tests, lifecycle tests, and MD sequence tests into distinct sections makes the test suite easy to navigate and maintain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
81-83
: Fix Markdown list style / indentation
Lines 81-83 violateMD004
andMD007
(unordered-list style & indent). Two spaces before the asterisk keeps the list nesting consistent and silences the linter.-* Run **a single** mocha test locally - - Command: `sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/{test_type}/{test_name}.js` + * Run **a single** mocha test locally – + Command: `sudo env NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/{test_type}/{test_name}.js`
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(5 hunks)docs/NooBaaNonContainerized/CI&Tests.md
(2 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/different_clients/test_go_sdkv2_script.js
(1 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(2 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/coretest.js
(0 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
(1 hunks)src/test/unit_tests/nc_coretest.js
(0 hunks)src/test/unit_tests/nc_index.js
(0 hunks)src/test/unit_tests/nsfs/test_bucketspace_fs.js
(1 hunks)src/test/unit_tests/nsfs/test_namespace_fs.js
(2 hunks)src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_access.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
(1 hunks)src/test/unit_tests/nsfs/test_nsfs_versioning.js
(1 hunks)src/test/unit_tests/sudo_index.js
(0 hunks)
💤 Files with no reviewable changes (5)
- src/test/unit_tests/sudo_index.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/index.js
- src/test/unit_tests/coretest.js
- src/test/unit_tests/nc_coretest.js
✅ Files skipped from review due to trivial changes (10)
- src/test/system_tests/test_md_aggregator.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- package.json
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
🚧 Files skipped from review as they are similar to previous changes (91)
- .github/workflows/nightly-tests.yaml
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
- src/test/different_clients/test_go_sdkv2_script.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/internal/test_node_server.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/internal/test_encryption.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- Makefile
🧰 Additional context used
🧠 Learnings (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
🪛 LanguageTool
docs/NooBaaNonContainerized/CI&Tests.md
[duplication] ~79-~79: Possible typo: you repeated a word.
Context: ...ocha tests locally - Command: `sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/utils/...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~82-~82: Possible typo: you repeated a word.
Context: ...mocha test locally - Command: `sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/{test_...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~165-~165: Possible typo: you repeated a word.
Context: ...ocha tests locally - Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~168-~168: Possible typo: you repeated a word.
Context: ...mocha test locally - Command: `sudo node node_modules/mocha/bin/mocha src/test/{test_...
(ENGLISH_WORD_REPEAT_RULE)
🪛 markdownlint-cli2 (0.17.2)
docs/NooBaaNonContainerized/CI&Tests.md
81-81: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
81-81: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
167-167: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
167-167: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
- GitHub Check: Build Noobaa Image
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
79-82
:sudo
dropsNC_CORETEST
– previous remark still applies
The command still prefixes the environment variable aftersudo
, soNC_CORETEST
is not propagated to the test process on most systems.- sudo NC_CORETEST=true node node_modules/mocha/bin/mocha … + sudo env NC_CORETEST=true node node_modules/mocha/bin/mocha …Same fix is required for the single-test variant two lines below.
🧹 Nitpick comments (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
165-168
: Markdown list style / indentation
Lines are indented with*
instead of the surrounding-
, violating MD004 / MD007.-* Run **all** NSFS mocha tests locally - - Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/index/sudo_index.js`. + - Run **all** NSFS mocha tests locally – + Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/index/sudo_index.js`.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(9 hunks)docs/NooBaaNonContainerized/CI&Tests.md
(2 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(1 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/mint/run_mint_on_test_container.sh
(1 hunks)src/test/external_tests/mint/run_nc_mint_on_test_container.sh
(1 hunks)src/test/external_tests/test_go_sdkv2_script.js
(1 hunks)src/test/external_tests/warp/configure_warp.js
(1 hunks)src/test/external_tests/warp/run_nc_warp_on_test_container.sh
(1 hunks)src/test/external_tests/warp/run_warp.js
(1 hunks)src/test/external_tests/warp/run_warp_on_test_container.sh
(2 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(3 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
(1 hunks)
⛔ Files not processed due to max files limit (8)
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (1)
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (17)
- src/test/external_tests/mint/run_nc_mint_on_test_container.sh
- src/test/external_tests/warp/run_warp_on_test_container.sh
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/external_tests/warp/configure_warp.js
- src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
- src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/external_tests/test_go_sdkv2_script.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/external_tests/mint/run_mint_on_test_container.sh
- src/test/external_tests/warp/run_nc_warp_on_test_container.sh
- src/test/external_tests/warp/run_warp.js
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
🚧 Files skipped from review as they are similar to previous changes (87)
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- package.json
- src/test/integration_tests/db/test_md_aggregator_unit.js
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/internal/test_encryption.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/system_tests/test_utils.js
🧰 Additional context used
🧠 Learnings (2)
Makefile (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
docs/NooBaaNonContainerized/CI&Tests.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
🪛 LanguageTool
docs/NooBaaNonContainerized/CI&Tests.md
[duplication] ~79-~79: Possible typo: you repeated a word.
Context: ...ocha tests locally - Command: `sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/utils/...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~82-~82: Possible typo: you repeated a word.
Context: ...mocha test locally - Command: `sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/{test_...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~165-~165: Possible typo: you repeated a word.
Context: ...ocha tests locally - Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~168-~168: Possible typo: you repeated a word.
Context: ...mocha test locally - Command: `sudo node node_modules/mocha/bin/mocha src/test/{test_...
(ENGLISH_WORD_REPEAT_RULE)
🪛 markdownlint-cli2 (0.17.2)
docs/NooBaaNonContainerized/CI&Tests.md
81-81: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
81-81: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
167-167: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
167-167: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
🔇 Additional comments (10)
Makefile (10)
271-272
: Path update looks correct
Switching toutils/index/sudo_index.js
matches the new directory layout.
283-284
: Verify$(testname)
still resolves to the new path scheme
run_npm_test_on_test_container.sh
now resolves paths relative tosrc/test/
.
Confirm that callers pass values likeunit/api/test_foo.js
(withoutsrc/test/
prefix) or adapt the script call accordingly.
293-294
: LGTM – NC test runner updated
The index file path reflects the newutils/index/
location.
304-305
: Same path-resolution concern as for Mongo single-test
Ensure$(testname)
matches the expectations ofrun_npm_test_on_test_container.sh
.
349-350
: Ceph-S3 external tests path updated correctly
No issues spotted.
360-361
: Warp external tests path updated correctly
No issues spotted.
368-369
: NC-Warp path updated correctly
Looks good.
376-377
: Mint tests path updated correctly
No issues spotted.
394-395
: NC-Mint path updated correctly
Looks good.
409-410
: NSFS Ceph-S3 path updated correctly
No issues spotted.
dcdacc4
to
dc584f4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (2)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (2)
88-93
: Stale path – still points tosystem_tests
after the migration
The job manifest path was migrated toexternal_tests
, but this example still references the old location:kubectl apply -f src/test/system_tests/ceph_s3_tests/test_ceph_s3_job.ymlPlease update to keep the documentation consistent:
-kubectl apply -f src/test/system_tests/ceph_s3_tests/test_ceph_s3_job.yml +kubectl apply -f src/test/external_tests/ceph_s3_tests/test_ceph_s3_job.yml
127-133
: Same out-of-date path in the tester-deployment snippet
This snippet still uses the old directory:kubectl apply -f src/test/system_tests/ceph_s3_tests/test_ceph_s3_deployment.ymlUpdate to:
-kubectl apply -f src/test/system_tests/ceph_s3_tests/test_ceph_s3_deployment.yml +kubectl apply -f src/test/external_tests/ceph_s3_tests/test_ceph_s3_deployment.yml
♻️ Duplicate comments (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
79-82
: Environment variable still dropped undersudo
(repeat of prior feedback)
Prefix the command withenv
(or usesudo -E
) soNC_CORETEST
survives privilege escalation:-sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/utils/index/nc_index.js +sudo env NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/utils/index/nc_index.js
🧹 Nitpick comments (2)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (1)
158-160
: Markdown-lint: bullet style & indent
The new list items use*
with 4-space indent, conflicting with the surrounding-
/ 2-space convention (MD004/MD007). Harmonise to avoid future linter noise.Also applies to: 174-178
docs/NooBaaNonContainerized/CI&Tests.md (1)
165-168
: Minor: align list-indent and dash style
These two bullet points break MD004/MD007 the same way the earlier section did. Convert*
→-
and keep a 2-space indent for consistency.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(9 hunks)docs/NooBaaNonContainerized/CI&Tests.md
(2 hunks)docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
(1 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(3 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_deploy.sh
(1 hunks)src/test/external_tests/mint/run_mint_on_test_container.sh
(1 hunks)src/test/external_tests/mint/run_nc_mint_on_test_container.sh
(1 hunks)src/test/external_tests/test_go_sdkv2_script.js
(1 hunks)src/test/external_tests/warp/configure_warp.js
(1 hunks)src/test/external_tests/warp/run_nc_warp_on_test_container.sh
(1 hunks)src/test/external_tests/warp/run_warp.js
(1 hunks)src/test/external_tests/warp/run_warp_on_test_container.sh
(2 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(3 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
(1 hunks)
⛔ Files not processed due to max files limit (10)
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (1)
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (8)
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- package.json
- src/test/system_tests/test_md_aggregator.js
- src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_deploy.sh
🚧 Files skipped from review as they are similar to previous changes (96)
- src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
- src/test/external_tests/mint/run_mint_on_test_container.sh
- src/test/external_tests/warp/run_warp.js
- src/test/external_tests/warp/configure_warp.js
- src/test/external_tests/warp/run_nc_warp_on_test_container.sh
- src/test/external_tests/warp/run_warp_on_test_container.sh
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
- src/test/external_tests/mint/run_nc_mint_on_test_container.sh
- src/test/unit_tests/internal/test_chunk_coder.js
- .github/workflows/nightly-tests.yaml
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/integration_tests/db/test_md_store.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/external_tests/test_go_sdkv2_script.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/system_tests/test_utils.js
- Makefile
🧰 Additional context used
🧠 Learnings (2)
docs/NooBaaNonContainerized/CI&Tests.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
🪛 LanguageTool
docs/NooBaaNonContainerized/CI&Tests.md
[grammar] ~79-~79: Use proper spacing conventions.
Context: ...mocha src/test/utils/index/nc_index.js`. * Run a single mocha test locally - ...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[typographical] ~81-~81: To join two clauses or set off examples, consider using an em dash.
Context: ... * Run a single mocha test locally - Command: `sudo NC_CORETEST=tr...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~82-~82: Use proper spacing conventions.
Context: ...ha src/test/{test_type}/{test_name}.js. * Run
NC jest tests- * Command:
s...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[grammar] ~165-~165: Use proper spacing conventions.
Context: ...cha src/test/utils/index/sudo_index.js`. * Run a single mocha test locally - ...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[typographical] ~167-~167: To join two clauses or set off examples, consider using an em dash.
Context: ... * Run a single mocha test locally - Command: `sudo node node_modules/mocha/bin/moch...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~168-~168: Use proper spacing conventions.
Context: ...ha src/test/{test_type}/{test_name}.js`. #### NSFS Tests Files List With NamespaceFS n...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
[grammar] ~161-~161: Use articles correctly.
Context: ...ide The Tester Pod) To run a test, from noobaa working directory: ```bash S3TEST_CONF=...
(QB_NEW_EN_OTHER_ERROR_IDS_000004)
[grammar] ~161-~161: Use proper spacing conventions.
Context: ...n a test, from noobaa working directory: bash S3TEST_CONF=${PWD}/src/test/external_tests/ceph_s3_tests/test_ceph_s3_config.conf tox -c src/test/external_tests/ceph_s3_tests/s3-tests/tox.ini ${PWD}/src/test/external_tests/ceph_s3_tests/s3-tests/<test_name>
This should run the test on the noobaa d...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
🪛 markdownlint-cli2 (0.17.2)
docs/NooBaaNonContainerized/CI&Tests.md
81-81: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
81-81: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
167-167: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
167-167: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
158-158: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
159-159: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
159-159: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
160-160: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
160-160: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
162-162: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: run-package-lock-validation
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
🔇 Additional comments (3)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (3)
150-153
: Helper script path was not migrated
test_ceph_s3_config_setup.js
now lives underexternal_tests
, but the doc still points tosystem_tests
.
Search & replace the entire document to avoid future drift.
181-187
: Follow-up: fix the “add --disable-pytest-warnings” example
All four occurrences in this multi-line example still referencesystem_tests
; adjust as above to keep examples runnable.
157-164
: Mixed directories in the same command block
You correctly changed theS3TEST_CONF
andtox -c
paths toexternal_tests
, yet the working-directory string${PWD}/src/test/system_tests/...
inside the same command is left behind. This will break copy-paste execution.-... ${PWD}/src/test/system_tests/ceph_s3_tests/s3-tests/... +... ${PWD}/src/test/external_tests/ceph_s3_tests/s3-tests/...⛔ Skipped due to learnings
Learnt from: nadavMiz PR: noobaa/noobaa-core#9099 File: .github/workflows/run-pr-tests.yaml:135-136 Timestamp: 2025-06-19T11:03:49.934Z Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (1)
149-166
: Outdatedsystem_tests
paths break the updated workflowThe surrounding section mixes the new
external_tests
paths (lines 157/163) with several still-existingsystem_tests
paths (e.g. 151, 152, 131, 88). Anyone copy-pasting will hit file-not-found errors because the files were relocated in this PR.- node ./src/test/system_tests/ceph_s3_tests/test_ceph_s3_config_setup.js + node ./src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_setup.js - kubectl apply -f src/test/system_tests/ceph_s3_tests/test_ceph_s3_job.yml + kubectl apply -f src/test/external_tests/ceph_s3_tests/test_ceph_s3_job.yml - kubectl apply -f src/test/system_tests/ceph_s3_tests/test_ceph_s3_deployment.yml + kubectl apply -f src/test/external_tests/ceph_s3_tests/test_ceph_s3_deployment.ymlSearch the entire doc for
src/test/system_tests/ceph_s3_tests/
and update all occurrences to the new location to keep the guide reliable.
♻️ Duplicate comments (2)
docs/NooBaaNonContainerized/CI&Tests.md (2)
79-82
:NC_CORETEST
still stripped bysudo
Same observation as in the previous review: prefixing the env-var directly to
sudo
causes it to be discarded on most systems. Usesudo env …
(orsudo -E
) so the test harness actually receivesNC_CORETEST=true
.-Command: `sudo NC_CORETEST=true node node_modules/mocha/bin/mocha src/test/utils/index/nc_index.js`. +Command: `sudo env NC_CORETEST=true \ + node node_modules/mocha/bin/mocha src/test/utils/index/nc_index.js`.Apply the same fix to the single-test command two lines below.
165-168
: Environment still not preserved for NSFS mocha commandsRe-raise of the prior feedback: use
sudo env
(orsudo -E
) to keep the current environment when invoking Mocha; otherwise tests that rely on inherited vars silently break.-Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/index/sudo_index.js`. +Command: `sudo env \ + node node_modules/mocha/bin/mocha src/test/utils/index/sudo_index.js`.Do the same for the single-test variant.
🧹 Nitpick comments (3)
docs/NooBaaNonContainerized/CI&Tests.md (2)
76-83
: Minor markdown style drift (unordered list)Lines under this bullet mix asterisks and incorrect 4-space indentation, triggering MD004/MD007. Convert the inner bullets to
-
and indent by two spaces for consistency.
162-168
: Markdown lint: bullet style / indentationThe nested list here also violates MD004/MD007. Use
-
with two-space indent to align with the rest of the document.docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (1)
160-162
: Minor wording fix“run a test, from noobaa working directory:” → “run a test from the NooBaa working directory:” improves grammar and casing.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.eslintignore
(1 hunks).github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(9 hunks)docs/NooBaaNonContainerized/CI&Tests.md
(2 hunks)docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
(1 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(3 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_constants.js
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_deploy.sh
(1 hunks)src/test/external_tests/external_tests_utils.js
(1 hunks)src/test/external_tests/mint/run_mint_on_test_container.sh
(1 hunks)src/test/external_tests/mint/run_nc_mint_on_test_container.sh
(1 hunks)src/test/external_tests/test_go_sdkv2_script.js
(1 hunks)src/test/external_tests/warp/run_nc_warp_on_test_container.sh
(1 hunks)src/test/external_tests/warp/run_warp_on_test_container.sh
(2 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(3 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
(1 hunks)
⛔ Files not processed due to max files limit (11)
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (1)
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (13)
- .eslintignore
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_constants.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/external_tests/external_tests_utils.js
- package.json
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
🚧 Files skipped from review as they are similar to previous changes (91)
- src/test/external_tests/mint/run_mint_on_test_container.sh
- src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
- src/test/external_tests/warp/run_nc_warp_on_test_container.sh
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/external_tests/warp/run_warp_on_test_container.sh
- src/test/unit_tests/native/test_nb_native_gpfs.js
- .github/workflows/nightly-tests.yaml
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_deploy.sh
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/external_tests/test_go_sdkv2_script.js
- src/test/external_tests/mint/run_nc_mint_on_test_container.sh
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
- src/test/integration_tests/db/test_system_store.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/integration_tests/internal/test_map_builder.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/integration_tests/internal/test_node_allocator.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/system_tests/test_utils.js
- Makefile
🧰 Additional context used
🧠 Learnings (2)
docs/NooBaaNonContainerized/CI&Tests.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
🪛 LanguageTool
docs/NooBaaNonContainerized/CI&Tests.md
[grammar] ~79-~79: Use proper spacing conventions.
Context: ...mocha src/test/utils/index/nc_index.js`. * Run a single mocha test locally - ...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[typographical] ~81-~81: To join two clauses or set off examples, consider using an em dash.
Context: ... * Run a single mocha test locally - Command: `sudo NC_CORETEST=tr...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~82-~82: Use proper spacing conventions.
Context: ...ha src/test/{test_type}/{test_name}.js. * Run
NC jest tests- * Command:
s...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[grammar] ~165-~165: Use proper spacing conventions.
Context: ...cha src/test/utils/index/sudo_index.js`. * Run a single mocha test locally - ...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[typographical] ~167-~167: To join two clauses or set off examples, consider using an em dash.
Context: ... * Run a single mocha test locally - Command: `sudo node node_modules/mocha/bin/moch...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~168-~168: Use proper spacing conventions.
Context: ...ha src/test/{test_type}/{test_name}.js`. #### NSFS Tests Files List With NamespaceFS n...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
[grammar] ~161-~161: Use articles correctly.
Context: ...ide The Tester Pod) To run a test, from noobaa working directory: ```bash S3TEST_CONF=...
(QB_NEW_EN_OTHER_ERROR_IDS_000004)
[grammar] ~161-~161: Use proper spacing conventions.
Context: ...n a test, from noobaa working directory: bash S3TEST_CONF=${PWD}/src/test/external_tests/ceph_s3_tests/test_ceph_s3_config.conf tox -c src/test/external_tests/ceph_s3_tests/s3-tests/tox.ini ${PWD}/src/test/external_tests/ceph_s3_tests/s3-tests/<test_name>
This should run the test on the noobaa d...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
🪛 markdownlint-cli2 (0.17.2)
docs/NooBaaNonContainerized/CI&Tests.md
81-81: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
81-81: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
167-167: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
167-167: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: run-jest-unit-tests
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
Signed-off-by: nadav mizrahi <nadav.mizrahi16@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
79-83
:NC_CORETEST
is still stripped bysudo
— previous remark not addressedBecause
sudo
resets most env-vars, the commands will silently dropNC_CORETEST=true
.
Same fix suggested earlier still applies:- sudo NC_CORETEST=true node node_modules/mocha/bin/mocha … + sudo env NC_CORETEST=true node node_modules/mocha/bin/mocha …Please update both the “all tests” and “single test” variants.
🧹 Nitpick comments (1)
docs/NooBaaNonContainerized/CI&Tests.md (1)
165-168
: Consistent bullet style & Markdown-lint nitStatic-analysis flags
MD004/MD007
because these list items use*
while the rest of the doc uses-
, and the indentation is off by two spaces. Aligning the list keeps the doc lint-clean:-* Run **all** NSFS mocha tests locally - - Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/index/sudo_index.js`. +- Run **all** NSFS mocha tests locally - + Command: `sudo node node_modules/mocha/bin/mocha src/test/utils/index/sudo_index.js`.Same for the single-test bullet below.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.eslintignore
(1 hunks).github/workflows/nightly-tests.yaml
(1 hunks)Makefile
(9 hunks)docs/NooBaaNonContainerized/CI&Tests.md
(2 hunks)docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
(1 hunks)package.json
(1 hunks)src/deploy/NVA_build/Tests.Dockerfile
(3 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_setup.js
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_constants.js
(1 hunks)src/test/external_tests/ceph_s3_tests/test_ceph_s3_deploy.sh
(1 hunks)src/test/external_tests/external_tests_utils.js
(1 hunks)src/test/external_tests/mint/run_mint_on_test_container.sh
(1 hunks)src/test/external_tests/mint/run_nc_mint_on_test_container.sh
(1 hunks)src/test/external_tests/test_go_sdkv2_script.js
(1 hunks)src/test/external_tests/warp/run_nc_warp_on_test_container.sh
(1 hunks)src/test/external_tests/warp/run_warp_on_test_container.sh
(2 hunks)src/test/framework/run_npm_test_on_test_container.sh
(1 hunks)src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
(2 hunks)src/test/integration_tests/api/s3/test_bucket_logging.js
(1 hunks)src/test/integration_tests/api/s3/test_bucket_replication.js
(6 hunks)src/test/integration_tests/api/s3/test_lifecycle.js
(1 hunks)src/test/integration_tests/api/s3/test_namespace_auth.js
(2 hunks)src/test/integration_tests/api/s3/test_notifications.js
(2 hunks)src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
(1 hunks)src/test/integration_tests/api/s3/test_public_access_block.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_bucket_policy.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_encryption.js
(2 hunks)src/test/integration_tests/api/s3/test_s3_list_buckets.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_list_objects.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_ops.js
(1 hunks)src/test/integration_tests/api/s3/test_s3_worm.js
(1 hunks)src/test/integration_tests/api/sts/test_sts.js
(1 hunks)src/test/integration_tests/db/test_md_aggregator_unit.js
(2 hunks)src/test/integration_tests/db/test_md_store.js
(1 hunks)src/test/integration_tests/db/test_mdsequence.js
(1 hunks)src/test/integration_tests/db/test_nodes_store.js
(1 hunks)src/test/integration_tests/db/test_postgres_upgrade.js
(1 hunks)src/test/integration_tests/db/test_system_store.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
(2 hunks)src/test/integration_tests/internal/test_agent_blocks_verifier.js
(2 hunks)src/test/integration_tests/internal/test_dedup.js
(1 hunks)src/test/integration_tests/internal/test_encryption.js
(2 hunks)src/test/integration_tests/internal/test_host_server.js
(1 hunks)src/test/integration_tests/internal/test_map_builder.js
(1 hunks)src/test/integration_tests/internal/test_map_client.js
(1 hunks)src/test/integration_tests/internal/test_map_deleter.js
(2 hunks)src/test/integration_tests/internal/test_map_reader.js
(2 hunks)src/test/integration_tests/internal/test_node_allocator.js
(1 hunks)src/test/integration_tests/internal/test_node_server.js
(1 hunks)src/test/integration_tests/internal/test_object_io.js
(2 hunks)src/test/integration_tests/internal/test_system_servers.js
(1 hunks)src/test/integration_tests/internal/test_tiering_ttl_worker.js
(1 hunks)src/test/integration_tests/internal/test_tiering_upload.js
(3 hunks)src/test/integration_tests/internal/test_upgrade_scripts.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
(2 hunks)src/test/integration_tests/nc/cli/test_nc_cli.js
(1 hunks)src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
(1 hunks)src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
(1 hunks)src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_health.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
(1 hunks)src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
(1 hunks)src/test/integration_tests/nsfs/test_bucketspace_versioning.js
(1 hunks)src/test/integration_tests/nsfs/test_nsfs_integration.js
(1 hunks)src/test/system_tests/test_md_aggregator.js
(1 hunks)src/test/system_tests/test_utils.js
(3 hunks)src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
(1 hunks)src/test/unit_tests/api/s3/test_list_object.test.js
(1 hunks)src/test/unit_tests/api/s3/test_ns_list_objects.js
(1 hunks)src/test/unit_tests/api/s3/test_s3select.js
(1 hunks)src/test/unit_tests/db/test_migration_to_postgres.js
(1 hunks)src/test/unit_tests/db/test_postgres_client.js
(1 hunks)src/test/unit_tests/db/test_schema_keywords.js
(1 hunks)src/test/unit_tests/index.js
(0 hunks)src/test/unit_tests/internal/test_bucket_chunks_builder.js
(1 hunks)src/test/unit_tests/internal/test_bucket_diff.test.js
(1 hunks)src/test/unit_tests/internal/test_chunk_coder.js
(1 hunks)src/test/unit_tests/internal/test_chunk_config_utils.js
(1 hunks)src/test/unit_tests/internal/test_chunk_splitter.js
(1 hunks)src/test/unit_tests/internal/test_debug_module.js
(1 hunks)src/test/unit_tests/internal/test_keys_semaphore.js
(1 hunks)src/test/unit_tests/internal/test_mapper.js
(2 hunks)src/test/unit_tests/internal/test_mirror_writer.js
(1 hunks)src/test/unit_tests/internal/test_namespace_cache.js
(1 hunks)src/test/unit_tests/native/test_nb_native_b64.js
(1 hunks)src/test/unit_tests/native/test_nb_native_fs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_gpfs.js
(1 hunks)src/test/unit_tests/native/test_nb_native_hashes.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
(3 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
(1 hunks)src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
(1 hunks)
⛔ Files not processed due to max files limit (12)
- src/test/unit_tests/nc/configuration/test_nc_upgrade_manager.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_gpfs_ilm_integration.test.js
- src/test/unit_tests/nc/lifecycle/test_nc_lifecycle_posix_integration.test.js
- src/test/unit_tests/nc_index.js
- src/test/unit_tests/nsfs/test_bucketspace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs.js
- src/test/unit_tests/nsfs/test_namespace_fs_mpu.js
- src/test/unit_tests/nsfs/test_nsfs_access.js
- src/test/unit_tests/nsfs/test_nsfs_glacier_backend.js
- src/test/unit_tests/nsfs/test_nsfs_versioning.js
- src/test/unit_tests/sudo_index.js
💤 Files with no reviewable changes (1)
- src/test/unit_tests/index.js
✅ Files skipped from review due to trivial changes (7)
- src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_setup.js
- src/test/system_tests/test_md_aggregator.js
- src/test/integration_tests/nc/tools/test_nc_bucket_logging.js
- src/test/integration_tests/internal/test_agent_blocks_verifier.js
- package.json
- src/test/integration_tests/nc/tools/test_cli_upgrade.test.js
- src/test/integration_tests/internal/test_node_allocator.js
🚧 Files skipped from review as they are similar to previous changes (97)
- src/test/external_tests/warp/run_nc_warp_on_test_container.sh
- .github/workflows/nightly-tests.yaml
- src/test/external_tests/mint/run_nc_mint_on_test_container.sh
- src/test/external_tests/mint/run_mint_on_test_container.sh
- src/test/external_tests/ceph_s3_tests/run_ceph_nsfs_test_on_test_container.sh
- src/test/unit_tests/native/test_nb_native_b64.js
- src/test/unit_tests/api/iam/test_iam_ops_input_validation.test.js
- src/test/unit_tests/internal/test_debug_module.js
- src/test/unit_tests/db/test_migration_to_postgres.js
- src/test/unit_tests/native/test_nb_native_gpfs.js
- .eslintignore
- src/test/integration_tests/api/s3/test_bucket_logging.js
- src/test/external_tests/external_tests_utils.js
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_deploy.sh
- src/test/integration_tests/nc/tools/test_nc_health.js
- src/test/integration_tests/api/s3/test_s3_worm.js
- src/test/integration_tests/api/s3/test_namespace_auth.js
- src/test/integration_tests/nc/tools/test_cli_diagnose.test.js
- src/test/unit_tests/internal/test_keys_semaphore.js
- src/test/unit_tests/internal/test_chunk_coder.js
- src/test/integration_tests/api/s3/test_s3_list_buckets.js
- src/test/unit_tests/db/test_postgres_client.js
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_config_and_run_s3_tests.sh
- src/test/framework/run_npm_test_on_test_container.sh
- src/test/unit_tests/internal/test_chunk_config_utils.js
- src/test/unit_tests/nc/configuration/test_nc_account_invalid_mkm_integration.test.js
- src/test/integration_tests/db/test_mdsequence.js
- src/test/integration_tests/api/s3/test_lifecycle.js
- src/test/integration_tests/api/s3/test_public_access_block.js
- src/test/integration_tests/api/s3/test_s3_ops.js
- src/test/integration_tests/api/s3/test_s3_bucket_policy.js
- src/test/integration_tests/internal/test_node_server.js
- src/test/external_tests/warp/run_warp_on_test_container.sh
- src/test/unit_tests/native/test_nb_native_hashes.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_s3_integrations.js
- src/test/unit_tests/internal/test_chunk_splitter.js
- src/test/unit_tests/internal/test_bucket_diff.test.js
- src/test/unit_tests/api/s3/test_list_object.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_bucket_schema_validation.test.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_config_schema_validation.test.js
- src/test/unit_tests/internal/test_bucket_chunks_builder.js
- src/test/unit_tests/nc/configuration/test_config_dir_structure.test.js
- src/test/unit_tests/internal/test_namespace_cache.js
- src/test/unit_tests/nc/configuration/test_config_dir_restructure_upgrade_script.test.js
- src/test/integration_tests/internal/test_host_server.js
- src/test/integration_tests/db/test_postgres_upgrade.js
- src/test/integration_tests/internal/test_tiering_ttl_worker.js
- src/test/integration_tests/db/test_md_store.js
- src/test/integration_tests/api/s3/test_s3_encryption.js
- src/test/integration_tests/internal/test_dedup.js
- src/test/unit_tests/api/s3/test_ns_list_objects.js
- src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh
- src/test/external_tests/ceph_s3_tests/test_ceph_s3_constants.js
- src/test/unit_tests/nc/configuration/test_config_fs.test.js
- src/test/unit_tests/api/s3/test_s3select.js
- src/test/integration_tests/internal/test_map_deleter.js
- src/test/unit_tests/nc/configuration/test_config_fs_backward_compatibility.test.js
- src/test/integration_tests/api/sts/test_sts.js
- src/test/external_tests/ceph_s3_tests/test_ceph_nsfs_s3_config_and_run_s3_tests.sh
- src/test/integration_tests/nc/cli/test_nc_cli.js
- src/test/integration_tests/internal/test_tiering_upload.js
- src/test/integration_tests/nsfs/test_nsfs_integration.js
- src/test/integration_tests/nc/cli/test_nc_bucket_cli.test.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys.test.js
- src/test/unit_tests/internal/test_mapper.js
- src/test/integration_tests/nc/test_nc_with_a_couple_of_forks.js
- src/test/integration_tests/db/test_nodes_store.js
- src/test/unit_tests/db/test_schema_keywords.js
- src/test/integration_tests/api/s3/test_s3_list_objects.js
- src/test/integration_tests/api/iam/test_nc_iam_basic_integration.js
- src/test/integration_tests/internal/test_system_servers.js
- src/test/integration_tests/internal/test_encryption.js
- src/test/integration_tests/api/s3/test_bucket_replication.js
- src/test/integration_tests/internal/test_map_reader.js
- src/test/unit_tests/nc/configuration/test_nc_nsfs_new_buckets_path_validation.test.js
- src/test/unit_tests/native/test_nb_native_fs.js
- src/test/integration_tests/nc/cli/test_nc_account_cli.test.js
- src/test/external_tests/test_go_sdkv2_script.js
- src/test/integration_tests/internal/test_agent_blocks_reclaimer.js
- src/test/integration_tests/db/test_system_store.js
- src/test/integration_tests/internal/test_object_io.js
- src/test/integration_tests/nc/cli/test_nc_connection_cli.test.js
- src/test/integration_tests/nc/lifecycle/test_nc_lifecycle_expiration.js
- src/test/integration_tests/internal/test_map_builder.js
- src/test/integration_tests/nc/cli/test_nc_anonymous_cli.test.js
- src/test/integration_tests/api/s3/test_notifications.js
- src/test/unit_tests/nc/configuration/test_nc_master_keys_exec.test.js
- src/test/integration_tests/nc/tools/test_nc_online_upgrade_cli_integrations.js
- src/deploy/NVA_build/Tests.Dockerfile
- src/test/integration_tests/db/test_md_aggregator_unit.js
- src/test/integration_tests/internal/test_map_client.js
- src/test/integration_tests/nsfs/test_bucketspace_versioning.js
- src/test/unit_tests/internal/test_mirror_writer.js
- src/test/system_tests/test_utils.js
- src/test/integration_tests/internal/test_upgrade_scripts.js
- src/test/integration_tests/api/s3/test_nsfs_versioning_gpfs.js
- Makefile
🧰 Additional context used
🧠 Learnings (2)
docs/NooBaaNonContainerized/CI&Tests.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md (1)
Learnt from: nadavMiz
PR: noobaa/noobaa-core#9099
File: .github/workflows/run-pr-tests.yaml:135-136
Timestamp: 2025-06-19T11:03:49.934Z
Learning: In the noobaa-core project, the `make tester` command also calls `make noobaa` due to makefile target dependencies, so running `make tester` will build both the noobaa and tester images.
🪛 LanguageTool
docs/NooBaaNonContainerized/CI&Tests.md
[grammar] ~79-~79: Use proper spacing conventions.
Context: ...mocha src/test/utils/index/nc_index.js`. * Run a single mocha test locally - ...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[typographical] ~81-~81: To join two clauses or set off examples, consider using an em dash.
Context: ... * Run a single mocha test locally - Command: `sudo NC_CORETEST=tr...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~82-~82: Use proper spacing conventions.
Context: ...ha src/test/{test_type}/{test_name}.js. * Run
NC jest tests- * Command:
s...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[grammar] ~165-~165: Use proper spacing conventions.
Context: ...cha src/test/utils/index/sudo_index.js`. * Run a single mocha test locally - ...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
[typographical] ~167-~167: To join two clauses or set off examples, consider using an em dash.
Context: ... * Run a single mocha test locally - Command: `sudo node node_modules/mocha/bin/moch...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~168-~168: Use proper spacing conventions.
Context: ...ha src/test/{test_type}/{test_name}.js`. #### NSFS Tests Files List With NamespaceFS n...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
docs/dev_guide/ceph_s3_tests/ceph_s3_tests_guide.md
[grammar] ~161-~161: Use articles correctly.
Context: ...ide The Tester Pod) To run a test, from noobaa working directory: ```bash S3TEST_CONF=...
(QB_NEW_EN_OTHER_ERROR_IDS_000004)
[grammar] ~161-~161: Use proper spacing conventions.
Context: ...n a test, from noobaa working directory: bash S3TEST_CONF=${PWD}/src/test/external_tests/ceph_s3_tests/test_ceph_s3_config.conf tox -c src/test/external_tests/ceph_s3_tests/s3-tests/tox.ini ${PWD}/src/test/external_tests/ceph_s3_tests/s3-tests/<test_name>
This should run the test on the noobaa d...
(QB_NEW_EN_OTHER_ERROR_IDS_000007)
🪛 markdownlint-cli2 (0.17.2)
docs/NooBaaNonContainerized/CI&Tests.md
81-81: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
81-81: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
167-167: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
167-167: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
Describe the Problem
The existing tests are not well organized, making it difficult to understand what each test is validating and where new tests should be added.
Explain the Changes
a. unit tests - tests for specific class / functions
b integration tests - tests for a whole part of the system or functionality (using coretest)
c system tests - tests for the entire system (using full system)
framework
directory in acoretest
sub-directoryframework
directory in aindex
sub-directoryget_coretest_path
function that gets the name of the coretest needed withrequire_coretests
function that requires the coretest needed. did it to solve issue with coretest path being different for different testsDeepScan
issues with tests:a.
tests_agent_blocks_verifier.js
- add null checkb.
test_lru
- remove unused assignment ofitem
variablenew directory structure:
Issues: Fixed #xxx / Gap #xxx
Testing Instructions:
Summary by CodeRabbit
Summary by CodeRabbit
Documentation
Chores
Refactor
Tests