8000 Fix for issue #60 (#61) · williamlang/server-client-python@03d26cd · GitHub
[go: up one dir, main page]

Skip to content

Commit 03d26cd

Browse files
authored
Fix for issue tableau#60 (tableau#61)
* Fix for issie tableau#60. * Make Sign Out a no-op when you are already signed out and expose an is_signed_in method
1 parent 6da2cbe commit 03d26cd

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

tableauserverclient/server/endpoint/auth_endpoint.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ def sign_in(self, auth_req):
4141

4242
def sign_out(self):
4343
url = "{0}/{1}".format(self.baseurl, 'signout')
44+
# If there are no auth tokens you're already signed out. No-op
45+
if not self.parent_srv.is_signed_in():
46+
return
4447
self.post_request(url, '')
4548
self.parent_srv._clear_auth()
4649
logger.info('Signed out')

tableauserverclient/server/endpoint/sites_endpoint.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,12 @@ def delete(self, site_id):
5959
raise ValueError(error)
6060
url = "{0}/{1}".format(self.baseurl, site_id)
6161
self.delete_request(url)
62-
logger.info('Deleted single site (ID: {0})'.format(site_id))
62+
# If we deleted the site we are logged into
63+
# then we are automatically logged out
64+
if site_id == self.parent_srv.site_id:
65+
logger.info('Deleting current site and clearing auth tokens')
66+
self.parent_srv._clear_auth()
67+
logger.info('Deleted single site (ID: {0}) and signed out'.format(site_id))
6368

6469
# Create new site
6570
def create(self, site_item):

tableauserverclient/server/server.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,6 @@ def http_options(self):
8181
@property
8282
def session(self):
8383
return self._session
84+
85+
def is_signed_in(self):
86+
return self._auth_token is not None

test/test_site.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUp(self):
1717

1818
# Fake signin
1919
self.server._auth_token = 'j80k54ll2lfMZ0tv97mlPvvSCRyD0DOM'
20-
20+
self.server._site_id = '0626857c-1def-4503-a7d8-7907c3ff9d9f'
2121
self.baseurl = self.server.sites.baseurl
2222

2323
def test_get(self):

0 commit comments

Comments
 (0)
0