|
13 | 13 | from tableauserverclient.models import UserItem, GroupItem, PermissionsRule |
14 | 14 | from tableauserverclient.server.endpoint.exceptions import InternalServerError, UnsupportedAttributeError |
15 | 15 | from tableauserverclient.server.request_factory import RequestFactory |
16 | | -from ._utils import read_xml_asset, read_xml_assets, asset |
17 | 16 |
|
18 | 17 | TEST_ASSET_DIR = Path(__file__).parent / "assets" |
19 | 18 |
|
20 | | -ADD_TAGS_XML = os.path.join(TEST_ASSET_DIR, "workbook_add_tags.xml") |
21 | | -GET_BY_ID_XML = os.path.join(TEST_ASSET_DIR, "workbook_get_by_id.xml") |
22 | | -GET_BY_ID_XML_PERSONAL = os.path.join(TEST_ASSET_DIR, "workbook_get_by_id_personal.xml") |
23 | | -GET_EMPTY_XML = os.path.join(TEST_ASSET_DIR, "workbook_get_empty.xml") |
24 | | -GET_INVALID_DATE_XML = os.path.join(TEST_ASSET_DIR, "workbook_get_invalid_date.xml") |
25 | | -GET_XML = os.path.join(TEST_ASSET_DIR, "workbook_get.xml") |
26 | | -GET_XML_ALL_FIELDS = os.path.join(TEST_ASSET_DIR, "workbook_get_all_fields.xml") |
27 | | -ODATA_XML = os.path.join(TEST_ASSET_DIR, "odata_connection.xml") |
28 | | -POPULATE_CONNECTIONS_XML = os.path.join(TEST_ASSET_DIR, "workbook_populate_connections.xml") |
29 | | -POPULATE_PDF = os.path.join(TEST_ASSET_DIR, "populate_pdf.pdf") |
30 | | -POPULATE_POWERPOINT = os.path.join(TEST_ASSET_DIR, "populate_powerpoint.pptx") |
31 | | -POPULATE_PERMISSIONS_XML = os.path.join(TEST_ASSET_DIR, "workbook_populate_permissions.xml") |
32 | | -POPULATE_PREVIEW_IMAGE = os.path.join(TEST_ASSET_DIR, "RESTAPISample Image.png") |
33 | | -POPULATE_VIEWS_XML = os.path.join(TEST_ASSET_DIR, "workbook_populate_views.xml") |
34 | | -POPULATE_VIEWS_USAGE_XML = os.path.join(TEST_ASSET_DIR, "workbook_populate_views_usage.xml") |
35 | | -PUBLISH_XML = os.path.join(TEST_ASSET_DIR, "workbook_publish.xml") |
36 | | -PUBLISH_ASYNC_XML = os.path.join(TEST_ASSET_DIR, "workbook_publish_async.xml") |
37 | | -REFRESH_XML = os.path.join(TEST_ASSET_DIR, "workbook_refresh.xml") |
38 | | -REVISION_XML = os.path.join(TEST_ASSET_DIR, "workbook_revision.xml") |
39 | | -UPDATE_XML = os.path.join(TEST_ASSET_DIR, "workbook_update.xml") |
40 | | -UPDATE_PERMISSIONS = os.path.join(TEST_ASSET_DIR, "workbook_update_permissions.xml") |
41 | | -UPDATE_CONNECTIONS_XML = os.path.join(TEST_ASSET_DIR, "workbook_update_connections.xml") |
| 19 | +ADD_TAGS_XML = TEST_ASSET_DIR / "workbook_add_tags.xml" |
| 20 | +GET_BY_ID_XML = TEST_ASSET_DIR / "workbook_get_by_id.xml" |
| 21 | +GET_BY_ID_XML_PERSONAL = TEST_ASSET_DIR / "workbook_get_by_id_personal.xml" |
| 22 | +GET_EMPTY_XML = TEST_ASSET_DIR / "workbook_get_empty.xml" |
| 23 | +GET_INVALID_DATE_XML = TEST_ASSET_DIR / "workbook_get_invalid_date.xml" |
| 24 | +GET_XML = TEST_ASSET_DIR / "workbook_get.xml" |
| 25 | +GET_XML_ALL_FIELDS = TEST_ASSET_DIR / "workbook_get_all_fields.xml" |
| 26 | +ODATA_XML = TEST_ASSET_DIR / "odata_connection.xml" |
| 27 | +POPULATE_CONNECTIONS_XML = TEST_ASSET_DIR / "workbook_populate_connections.xml" |
| 28 | +POPULATE_PDF = TEST_ASSET_DIR / "populate_pdf.pdf" |
| 29 | +POPULATE_POWERPOINT = TEST_ASSET_DIR / "populate_powerpoint.pptx" |
| 30 | +POPULATE_PERMISSIONS_XML = TEST_ASSET_DIR / "workbook_populate_permissions.xml" |
| 31 | +POPULATE_PREVIEW_IMAGE = TEST_ASSET_DIR / "RESTAPISample Image.png" |
| 32 | +POPULATE_VIEWS_XML = TEST_ASSET_DIR / "workbook_populate_views.xml" |
| 33 | +POPULATE_VIEWS_USAGE_XML = TEST_ASSET_DIR / "workbook_populate_views_usage.xml" |
| 34 | +PUBLISH_XML = TEST_ASSET_DIR / "workbook_publish.xml" |
| 35 | +PUBLISH_ASYNC_XML = TEST_ASSET_DIR / "workbook_publish_async.xml" |
| 36 | +REFRESH_XML = TEST_ASSET_DIR / "workbook_refresh.xml" |
| 37 | +REVISION_XML = TEST_ASSET_DIR / "workbook_revision.xml" |
| 38 | +UPDATE_XML = TEST_ASSET_DIR / "workbook_update.xml" |
| 39 | +UPDATE_PERMISSIONS = TEST_ASSET_DIR / "workbook_update_permissions.xml" |
| 40 | +UPDATE_CONNECTIONS_XML = TEST_ASSET_DIR / "workbook_update_connections.xml" |
42 | 41 |
|
43 | 42 |
|
44 | 43 | @pytest.fixture(scope="function") |
@@ -708,74 +707,10 @@ def test_publish_with_thumbnails_user_id(server: TSC.Server) -> None: |
708 | 707 | assert re.search(b'thumbnailsUserId=\\"ee8c6e70-43b6-11e6-af4f-f7b0d8e20761\\"', request_body) |
709 | 708 |
|
710 | 709 |
|
711 | | - def test_update_workbook_connections(self) -> None: |
712 | | - populate_xml, response_xml = read_xml_assets(POPULATE_CONNECTIONS_XML, UPDATE_CONNECTIONS_XML) |
713 | | - |
714 | | - with requests_mock.Mocker() as m: |
715 | | - workbook_id = "1a2b3c4d-5e6f-7a8b-9c0d-112233445566" |
716 | | - connection_luids = ["abc12345-def6-7890-gh12-ijklmnopqrst", "1234abcd-5678-efgh-ijkl-0987654321mn"] |
717 | | - |
718 | | - workbook = TSC.WorkbookItem(workbook_id) |
719 | | - workbook._id = workbook_id |
720 | | - self.server.version = "3.26" |
721 | | - url = f"{self.server.baseurl}/{workbook_id}/connections" |
722 | | - m.get( |
723 | | - "http://test/api/3.26/sites/dad65087-b08b-4603-af4e-2887b8aafc67/workbooks/1a2b3c4d-5e6f-7a8b-9c0d-112233445566/connections", |
724 | | - text=populate_xml, |
725 | | - ) |
726 | | - m.put( |
727 | | - "http://test/api/3.26/sites/dad65087-b08b-4603-af4e-2887b8aafc67/workbooks/1a2b3c4d-5e6f-7a8b-9c0d-112233445566/connections", |
728 | | - text=response_xml, |
729 | | - ) |
730 | | - |
731 | | - connection_items = self.server.workbooks.update_connections( |
732 | | - workbook_item=workbook, |
733 | | - connection_luids=connection_luids, |
734 | | - authentication_type="AD Service Principal", |
735 | | - username="svc-client", |
736 | | - password="secret-token", |
737 | | - embed_password=True, |
738 | | - ) |
739 | | - updated_ids = [conn.id for conn in connection_items] |
740 | | - |
741 | | - self.assertEqual(updated_ids, connection_luids) |
742 | | - |
743 | | - def test_update_workbook_connections(self) -> None: |
744 | | - populate_xml, response_xml = read_xml_assets(POPULATE_CONNECTIONS_XML, UPDATE_CONNECTIONS_XML) |
745 | | - |
746 | | - with requests_mock.Mocker() as m: |
747 | | - workbook_id = "1a2b3c4d-5e6f-7a8b-9c0d-112233445566" |
748 | | - connection_luids = ["abc12345-def6-7890-gh12-ijklmnopqrst", "1234abcd-5678-efgh-ijkl-0987654321mn"] |
749 | | - |
750 | | - workbook = TSC.WorkbookItem(workbook_id) |
751 | | - workbook._id = workbook_id |
752 | | - self.server.version = "3.26" |
753 | | - url = f"{self.server.baseurl}/{workbook_id}/connections" |
754 | | - m.get( |
755 | | - "http://test/api/3.26/sites/dad65087-b08b-4603-af4e-2887b8aafc67/workbooks/1a2b3c4d-5e6f-7a8b-9c0d-112233445566/connections", |
756 | | - text=populate_xml, |
757 | | - ) |
758 | | - m.put( |
759 | | - "http://test/api/3.26/sites/dad65087-b08b-4603-af4e-2887b8aafc67/workbooks/1a2b3c4d-5e6f-7a8b-9c0d-112233445566/connections", |
760 | | - text=response_xml, |
761 | | - ) |
762 | | - |
763 | | - connection_items = self.server.workbooks.update_connections( |
764 | | - workbook_item=workbook, |
765 | | - connection_luids=connection_luids, |
766 | | - authentication_type="AD Service Principal", |
767 | | - username="svc-client", |
768 | | - password="secret-token", |
769 | | - embed_password=True, |
770 | | - ) |
771 | | - updated_ids = [conn.id for conn in connection_items] |
772 | | - |
773 | | - self.assertEqual(updated_ids, connection_luids) |
774 | | - self.assertEqual("AD Service Principal", connection_items[0].auth_type) |
775 | | - |
776 | | - def test_get_workbook_all_fields(self) -> None: |
777 | | - self.server.version = "3.21" |
778 | | - baseurl = self.server.workbooks.baseurl |
| 710 | +def test_publish_with_thumbnails_group_id(server: TSC.Server) -> None: |
| 711 | + response_xml = PUBLISH_XML.read_text() |
| 712 | + with requests_mock.mock() as m: |
| 713 | + m.post(server.workbooks.baseurl, text=response_xml) |
779 | 714 |
|
780 | 715 | new_workbook = TSC.WorkbookItem( |
781 | 716 | name="Sample", |
|
0 commit comments