Skip to content

Conversation

@jacalata
Copy link
Contributor

No description provided.

@jacalata jacalata requested a review from Copilot January 16, 2026 02:20
@github-actions
Copy link

github-actions bot commented Jan 16, 2026

Coverage

Coverage Report
FileStmtsMissCoverMissing
tableauserverclient
   __init__.py70100% 
   config.py150100% 
   datetime_helpers.py2511 96%
   exponential_backoff.py200100% 
   filesys_helpers.py310100% 
   namespace.py2633 88%
tableauserverclient/bin
   _version.py358212212 41%
tableauserverclient/helpers
   __init__.py10100% 
   headers.py1388 38%
   logging.py20100% 
   strings.py3111 97%
tableauserverclient/models
   __init__.py460100% 
   collection_item.py4277 83%
   column_item.py553232 42%
   connection_credentials.py351111 69%
   connection_item.py861212 86%
   custom_view_item.py1441414 90%
   data_acceleration_report_item.py5411 98%
   data_alert_item.py15933 98%
   data_freshness_policy_item.py1561515 90%
   database_item.py2073636 83%
   datasource_item.py3011111 96%
   dqw_item.py10455 95%
   exceptions.py40100% 
   extensions_item.py13244 97%
   extract_item.py4544 91%
   favorites_item.py6988 88%
   fileupload_item.py190100% 
   flow_item.py1491010 93%
   flow_run_item.py720100% 
   group_item.py8955 94%
   groupset_item.py5044 92%
   interval_item.py1823232 82%
   job_item.py1881010 95%
   linked_tasks_item.py8011 99%
   location_item.py3011 97%
   metric_item.py1301212 91%
   oidc_item.py6422 97%
   pagination_item.py340100% 
   permissions_item.py1121212 89%
   project_item.py2073030 86%
   property_decorators.py1001818 82%
   reference_item.py2622 92%
   revision_item.py600100% 
   schedule_item.py20966 97%
   server_info_item.py3744 89%
   site_item.py6361212 98%
   subscription_item.py10122 98%
   table_item.py1191818 85%
   tableau_auth.py622525 60%
   tableau_types.py2711 96%
   tag_item.py150100% 
   target.py60100% 
   task_item.py5722 96%
   user_item.py3101818 94%
   view_item.py2201515 93%
   virtual_connection_item.py6488 88%
   webhook_item.py660100% 
   workbook_item.py3621616 96%
tableauserverclient/server
   __init__.py90100% 
   exceptions.py40100% 
   filter.py2111 95%
   pager.py3311 97%
   query.py1431818 87%
   request_factory.py1326197197 85%
   request_options.py37955 99%
   server.py1891919 90%
   sort.py60100% 
tableauserverclient/server/endpoint
   __init__.py350100% 
   auth_endpoint.py751010 87%
   custom_views_endpoint.py1471212 92%
   data_acceleration_report_endpoint.py210100% 
   data_alert_endpoint.py942323 76%
   databases_endpoint.py1113030 73%
   datasources_endpoint.py3303434 90%
   default_permissions_endpoint.py4433 93%
   dqw_endpoint.py451616 64%
   endpoint.py1871818 90%
   exceptions.py7066 91%
   extensions_endpoint.py310100% 
   favorites_endpoint.py952222 77%
   fileuploads_endpoint.py510100% 
   flow_runs_endpoint.py6299 85%
   flow_task_endpoint.py2122 90%
   flows_endpoint.py2125454 75%
   groups_endpoint.py12699 93%
   groupsets_endpoint.py7277 90%
   jobs_endpoint.py6899 87%
   linked_tasks_endpoint.py380100% 
   metadata_endpoint.py881414 84%
   metrics_endpoint.py5566 89%
   oidc_endpoint.py4211 98%
   permissions_endpoint.py4433 93%
   projects_endpoint.py1502424 84%
   resource_tagger.py1273636 72%
   schedules_endpoint.py1191111 91%
   server_info_endpoint.py361010 72%
   sites_endpoint.py1302727 79%
   subscriptions_endpoint.py561414 75%
   tables_endpoint.py1103636 67%
   tasks_endpoint.py6366 90%
   users_endpoint.py18499 95%
   views_endpoint.py14699 94%
   virtual_connections_endpoint.py1131010 91%
   webhooks_endpoint.py5499 83%
   workbooks_endpoint.py3512525 93%
TOTAL11964140988% 

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds handling for HTTP 409 (Conflict) errors when attempting to refresh a workbook that already has a refresh job queued, preventing duplicate job creation. The change makes the refresh method return None instead of raising an exception when encountering this specific error condition.

Changes:

  • Added exception handling in the workbooks.refresh() method to catch 409 errors indicating duplicate job requests
  • Created a new test to verify the duplicate refresh handling behavior
  • Added a test asset XML file containing the expected 409 error response

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.

File Description
tableauserverclient/server/endpoint/workbooks_endpoint.py Added try-catch block to handle 409 errors and return None for duplicate refresh requests
test/test_workbook.py Added test case to verify None is returned when a refresh job is already queued
test/assets/workbook_refresh_duplicate.xml Added test fixture containing the 409 error response XML

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

Copilot AI commented Jan 16, 2026

@jacalata I've opened a new pull request, #1734, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link

Copilot AI commented Jan 16, 2026

@jacalata I've opened a new pull request, #1735, to work on those changes. Once the pull request is ready, I'll request review from you.

jacalata and others added 4 commits January 15, 2026 20:30
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan

* Update refresh() docstring to document None return type

Co-authored-by: jacalata <2009720+jacalata@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jacalata <2009720+jacalata@users.noreply.github.com>
* Initial plan

* Replace print() with logger.warning() for 409 error handling

Co-authored-by: jacalata <2009720+jacalata@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jacalata <2009720+jacalata@users.noreply.github.com>
@jacalata jacalata added the bug label Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants