Skip to content

fix: prompt for password when --username given without credentials (#301)#405

Merged
jacalata merged 5 commits into
developmentfrom
jac/fix-301-password-prompt
Jul 1, 2026
Merged

fix: prompt for password when --username given without credentials (#301)#405
jacalata merged 5 commits into
developmentfrom
jac/fix-301-password-prompt

Conversation

@jacalata

Copy link
Copy Markdown
Contributor

Summary

  • When --username is provided but no password or token, and there is no active session, tabcmd now prompts for a password (or exits cleanly if --no-prompt is set)
  • Does not sign out an existing active session when only --username is passed — the session reuse path is preserved

Closes #301

Test plan

  • test_create_session_username_only_prompts_for_password — getpass called when no session active
  • test_create_session_username_only_reuses_existing_session — no prompt when session exists
  • test_create_session_username_only_no_prompt_exits — exits cleanly with --no-prompt

jacalata and others added 4 commits May 5, 2026 16:24
…#301)

When `tabcmd login -u myuser` is run with no `-p` flag, the session
creation now correctly prompts for a password interactively (or exits
with an error if `--no-prompt` is set), rather than falling through to
the saved-session path and failing with a missing-arguments error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The elif branch now only fires when there is no active session.
If a session already exists (self.tableau_server is set), fall through
to the existing-session reuse path instead of unconditionally signing
out and prompting for a password.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

Coverage

Coverage Report
FileStmtsMissCoverMissing
tabcmd
   __main__.py101010 0%
   tabcmd.py141414 0%
   version.py633 50%
tabcmd/commands
   commands.py101010 0%
   constants.py771818 77%
   server.py1351818 87%
tabcmd/commands/auth
   session.py3724343 88%
tabcmd/commands/datasources_and_workbooks
   datasources_and_workbooks_command.py1561818 88%
   datasources_workbooks_views_url_parser.py1401010 93%
   delete_command.py601616 73%
   export_command.py1192525 79%
   get_url_command.py1274747 63%
   publish_command.py1232828 77%
   runschedule_command.py2177 67%
tabcmd/commands/extracts
   create_extracts_command.py4288 81%
   decrypt_extracts_command.py2722 93%
   delete_extracts_command.py3766 84%
   encrypt_extracts_command.py2722 93%
   extracts.py2022 90%
   reencrypt_extracts_command.py2722 93%
   refresh_extracts_command.py481010 79%
tabcmd/commands/group
   create_group_command.py2955 83%
   delete_group_command.py2722 93%
tabcmd/commands/project
   create_project_command.py4688 83%
   delete_project_command.py3544 89%
   publish_samples_command.py3044 87%
tabcmd/commands/site
   create_site_command.py3455 85%
   delete_site_command.py2722 93%
   edit_site_command.py3822 95%
   list_command.py771212 84%
   list_sites_command.py2922 93%
tabcmd/commands/user
   create_site_users.py571010 82%
   create_users_command.py601010 83%
   delete_site_users_command.py4355 88%
   user_data.py2213131 86%
tabcmd/execution
   _version.py222 0%
   global_options.py12588 94%
   localize.py661111 83%
   logger_config.py4266 86%
   tabcmd_controller.py4277 83%
TOTAL280543584% 

@jacalata jacalata merged commit 096819c into development Jul 1, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants