Add failing tests for issue #466: OAuth all-repo access#467
Add failing tests for issue #466: OAuth all-repo access#467prompt-driven-github[bot] wants to merge 1 commit intomainfrom
Conversation
This commit adds comprehensive test coverage to detect the bug where PDD CLI requests access to ALL repositories instead of allowing selective repository access. Unit tests: - tests/test_get_jwt_token.py: Verify OAuth scope "repo,user" is hardcoded at pdd/get_jwt_token.py:251 E2E tests: - tests/test_e2e_issue_466_oauth_all_repo_scope.py: Verify the complete authentication flow uses OAuth Apps which cannot support selective repository access These are regression tests that document the current buggy behavior. After the fix (migrating to GitHub Apps), these tests will need to be updated to verify the new selective access functionality. Related to #466 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
🚀 Job Queued! Job ID: |
❌ PDD Execution FailedExecution failed: PDD command failed with exit code 2. Error: No such option: --force |
|
🚀 Job Queued! Job ID: |
❌ PDD Execution FailedExecution failed: PDD command failed with exit code 2. Error: Basename '#467' contains invalid characters. Only alphanumeric, underscore, hyphen, and forward slash (for subdirectories) are allowed. |
|
🚀 Job Queued! Job ID: |
❌ PDD Execution FailedExecution failed: PDD command failed with exit code 1. |
|
🚀 Job Queued! Job ID: |
|
🚀 Job Queued! Job ID: |
PDD Agentic Sync - Error |
❌ PDD Execution FailedExecution failed: PDD command failed with exit code 1. |
❌ PDD Execution FailedExecution failed: PDD command failed with exit code 1. |
Summary
Adds failing tests that detect the bug reported in #466 where PDD CLI requests access to ALL repositories instead of allowing selective repository access.
Test Files
tests/test_get_jwt_token.pytests/test_e2e_issue_466_oauth_all_repo_scope.pyWhat This PR Contains
"repo,user"is hardcoded atpdd/get_jwt_token.py:251Root Cause
PDD CLI uses GitHub OAuth Apps with the
repo,userscope, which by architectural design grants access to ALL repositories. This is a fundamental limitation of GitHub OAuth Apps that cannot be worked around by changing scopes. TherepoOAuth scope always means "all repositories the user can access" - there is no OAuth scope that provides selective repository access.Location:
pdd/get_jwt_token.py:251- The DeviceFlow class hardcodesscope = "repo,user"Solution Required: Migrate from OAuth App to GitHub App for CLI authentication, which would allow users to install the app and select specific repositories during installation.
Test Behavior
These are regression tests that document the current buggy behavior:
Next Steps
Fixes #466
Generated by PDD agentic bug workflow - Step 10