{"record":{"id":"37222050bdc0e005","repo":"passbolt/passbolt_api","slug":"bin-cake-directory-sync-test-verbose-for-more-details","errorCode":null,"errorMessage":"bin/cake directory_sync test --verbose for more details","messagePattern":"bin/cake directory_sync test --verbose for more details","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"plugins/PassboltEe/DirectorySync/src/Command/TestCommand.php","lineNumber":196,"sourceCode":"\n    /**\n     * Display invalid objects.\n     *\n     * @param array $data data\n     * @param \\Cake\\Console\\ConsoleIo $io Console IO.\n     * @return void\n     */\n    protected function displayInvalidEntries(array $data, ConsoleIo $io): void\n    {\n        if (count($data['users'])) {\n            $io->hr();\n            $io->err(\n                __(\n                    '{0} users returned by your directory are invalid and will be ignored during synchronization',\n                    count($data['users'])\n                )\n            );\n            $io->err(__('bin/cake directory_sync test --verbose for more details'));\n            $io->hr();\n            foreach ($data['users'] as $user) {\n                $io->verbose(__('Error: ') . $user->getErrorsAsString());\n                $io->verbose(json_encode($user->toArray(), JSON_PRETTY_PRINT));\n            }\n        }\n\n        if (count($data['groups'])) {\n            $io->hr();\n            $io->err(\n                __(\n                    '{0} group(s) returned by your directory are invalid and will be ignored during synchronization',\n                    count($data['groups'])\n                )\n            );\n            $io->hr();\n            foreach ($data['groups'] as $group) {\n                $io->verbose(__('Error: ') . $group->getErrorsAsString());","sourceCodeStart":178,"sourceCodeEnd":214,"githubUrl":"https://github.com/passbolt/passbolt_api/blob/31c1bbc10f32808a607fa9bd81891e898779c0bc/plugins/PassboltEe/DirectorySync/src/Command/TestCommand.php#L178-L214","documentation":"Companion hint printed by TestCommand::displayInvalidEntries telling the operator to re-run `bin/cake directory_sync test --verbose` to see detailed per-entry validation errors. It is informational output, not an exception; it always accompanies the invalid-users message.","triggerScenarios":"Same run as the invalid-users warning: `bin/cake passbolt directory_sync test` with invalid user entries, printed unconditionally after the count message.","commonSituations":"Operators seeing invalid entries and needing the follow-up command; confusing older syntax `bin/cake directory_sync` instead of the namespaced `bin/cake passbolt directory_sync`.","solutions":["Run `bin/cake passbolt directory_sync test --verbose` to print each invalid user's errors and JSON payload.","Fix the directory data or attribute mapping per the printed errors."],"exampleFix":"// before\nbin/cake directory_sync test --verbose\n// after\nbin/cake passbolt directory_sync test --verbose","handlingStrategy":"validation","validationCode":"exec('bin/cake passbolt directory_sync test --verbose', $out, $code);\nif ($code !== 0) { /* inspect $out for per-entry errors */ }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always run the test command with --verbose when invalid entries are reported","Use the full namespaced command: bin/cake passbolt directory_sync"],"tags":["cli","directory-sync","diagnostics"],"backgroundTag":"schema-validation-failed","analyzedSha":"31c1bbc10f32808a607fa9bd81891e898779c0bc","analyzedAt":"2026-09-17T00:04:38.960Z","contentChangedAt":"2026-09-17T00:04:38.960Z","schemaVersion":2},"datasetVersion":"2026-09-21T04:17:39.646Z"}