diff --git a/.changes/unreleased/added-20251120-025450.yaml b/.changes/unreleased/added-20251120-025450.yaml new file mode 100644 index 000000000..67a6dec6b --- /dev/null +++ b/.changes/unreleased/added-20251120-025450.yaml @@ -0,0 +1,3 @@ +kind: added +body: Add --format option to export command to pick .ipynb or .py when exporting notebooks +time: 2025-11-20T02:54:50.543931335Z diff --git a/docs/commands/fs/export.md b/docs/commands/fs/export.md index 932af92a5..d3bef55cf 100644 --- a/docs/commands/fs/export.md +++ b/docs/commands/fs/export.md @@ -11,7 +11,7 @@ Export an item. **Usage:** ``` -fab export -o [-a] [-f] +fab export -o [-a] [--format ] [-f] ``` **Parameters:** @@ -19,6 +19,7 @@ fab export -o [-a] [-f] - ``: Path to the item to export. - `-o, --output `: Output directory path. - `-a, --all`: Export all items. Optional. +- `--format `: Format of the export. Supported for items allowing multiple export formats, currently only Notebooks (`.ipynb`, `.py`). Optional. - `-f, --force`: Force export without confirmation. Optional. **Example:** diff --git a/src/fabric_cli/commands/fs/export/fab_fs_export_item.py b/src/fabric_cli/commands/fs/export/fab_fs_export_item.py index 64b0dd93a..db11cf5d7 100644 --- a/src/fabric_cli/commands/fs/export/fab_fs_export_item.py +++ b/src/fabric_cli/commands/fs/export/fab_fs_export_item.py @@ -3,6 +3,7 @@ import os from argparse import Namespace +from copy import deepcopy from typing import Optional, Union from fabric_cli.client import fab_api_item as item_api @@ -12,6 +13,7 @@ from fabric_cli.core.fab_types import ItemType, definition_format_mapping from fabric_cli.core.hiearchy.fab_folder import Folder from fabric_cli.core.hiearchy.fab_hiearchy import Item, Workspace +from fabric_cli.errors import ErrorMessages from fabric_cli.utils import fab_cmd_export_utils as utils_export from fabric_cli.utils import fab_item_util, fab_mem_store, fab_storage, fab_ui @@ -89,6 +91,7 @@ def export_single_item( item_uri: Optional[bool] = False, ) -> dict: item_def = {} + args = deepcopy(args) if args.force or fab_ui.prompt_confirm( "Item definition is exported without its sensitivity label. Are you sure?" @@ -99,7 +102,28 @@ def export_single_item( args.from_path = item.path.strip("/") args.ws_id, args.id, args.item_type = workspace_id, item_id, str(item_type) - args.format = definition_format_mapping.get(item_type, "") + + # Get definition_format_mapping for item without default fallback + valid_export_formats = definition_format_mapping.get(item_type, {}) + # Get export_format_param from args without default + export_format_param = getattr(args, "format", None) + + if export_format_param not in valid_export_formats: + # Export format not in definition_format_mapping + if not export_format_param: + # Empty format param - use default formats if exists + args.format = valid_export_formats.get("default", "") + else: + # Non-empty format param but not supported + available_formats = [k for k in valid_export_formats.keys() if k != "default"] + raise FabricCLIError( + ErrorMessages.Export.invalid_export_format(available_formats), + fab_constant.ERROR_INVALID_INPUT, + ) + else: + # Export format is explicitly supported + args.format = valid_export_formats[export_format_param] + item_def = item_api.get_item_withdefinition(args, item_uri) diff --git a/src/fabric_cli/commands/fs/set/fab_fs_set_item.py b/src/fabric_cli/commands/fs/set/fab_fs_set_item.py index d6092348d..1ef10aef5 100644 --- a/src/fabric_cli/commands/fs/set/fab_fs_set_item.py +++ b/src/fabric_cli/commands/fs/set/fab_fs_set_item.py @@ -33,7 +33,8 @@ def exec(item: Item, args: Namespace) -> None: args.item_uri = format_mapping.get(item.item_type, "items") if query_value.startswith(fab_constant.ITEM_QUERY_DEFINITION): - args.format = definition_format_mapping.get(item.item_type, "") + formats = definition_format_mapping.get(item.item_type, {"default": ""}) + args.format = formats["default"] def_response = item_api.get_item_definition(args) definition = json.loads(def_response.text) diff --git a/src/fabric_cli/core/fab_types.py b/src/fabric_cli/core/fab_types.py index 5f7e779cd..bcd8c7d25 100644 --- a/src/fabric_cli/core/fab_types.py +++ b/src/fabric_cli/core/fab_types.py @@ -560,6 +560,10 @@ class MirroredDatabaseFolders(Enum): # Item Payload definition definition_format_mapping = { - ItemType.SPARK_JOB_DEFINITION: "?format=SparkJobDefinitionV1", - ItemType.NOTEBOOK: "?format=ipynb", + ItemType.SPARK_JOB_DEFINITION: {"default": "?format=SparkJobDefinitionV1"}, + ItemType.NOTEBOOK: { + "default": "?format=ipynb", + ".py": "?format=fabricGitSource", + ".ipynb": "?format=ipynb", + }, } diff --git a/src/fabric_cli/errors/__init__.py b/src/fabric_cli/errors/__init__.py index 161022c8b..d4c61be5c 100644 --- a/src/fabric_cli/errors/__init__.py +++ b/src/fabric_cli/errors/__init__.py @@ -7,6 +7,7 @@ from .config import ConfigErrors from .context import ContextErrors from .cp import CpErrors +from .export import ExportErrors from .hierarchy import HierarchyErrors from .labels import LabelsErrors from .mkdir import MkdirErrors @@ -22,6 +23,7 @@ class ErrorMessages: Config = ConfigErrors Context = ContextErrors Cp = CpErrors + Export = ExportErrors Hierarchy = HierarchyErrors Labels = LabelsErrors Mkdir = MkdirErrors diff --git a/src/fabric_cli/errors/export.py b/src/fabric_cli/errors/export.py new file mode 100644 index 000000000..47470e0d4 --- /dev/null +++ b/src/fabric_cli/errors/export.py @@ -0,0 +1,9 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + + +class ExportErrors: + @staticmethod + def invalid_export_format(valid_formats: list[str]) -> str: + message = "Only the following formats are supported: " + ", ".join(valid_formats) if len(valid_formats) else "No formats are supported" + return f"Invalid format. {message}" diff --git a/src/fabric_cli/parsers/fab_fs_parser.py b/src/fabric_cli/parsers/fab_fs_parser.py index 85a3170fe..8d0273b0e 100644 --- a/src/fabric_cli/parsers/fab_fs_parser.py +++ b/src/fabric_cli/parsers/fab_fs_parser.py @@ -316,6 +316,11 @@ def register_export_parser(subparsers: _SubParsersAction) -> None: action="store_true", help="Export all. Optional", ) + export_parser.add_argument( + "--format", + metavar="", + help="Export format. Optional", + ) export_parser.add_argument( "-f", "--force", diff --git a/tests/test_commands/recordings/test_commands/test_export/class_setup.yaml b/tests/test_commands/recordings/test_commands/test_export/class_setup.yaml index 25474bce3..3fff2b018 100644 --- a/tests/test_commands/recordings/test_commands/test_export/class_setup.yaml +++ b/tests/test_commands/recordings/test_commands/test_export/class_setup.yaml @@ -11,12 +11,12 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (None; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (None; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: GET uri: https://api.fabric.microsoft.com/v1/workspaces response: body: - string: '{"value": [{"id": "94da8ea5-0bd6-4a9e-b717-5fdb482f4c71", "displayName": + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": "My workspace", "description": "", "type": "Personal"}]}' headers: Access-Control-Expose-Headers: @@ -26,15 +26,15 @@ interactions: Content-Encoding: - gzip Content-Length: - - '323' + - '1192' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 02 Sep 2025 19:38:00 GMT + - Tue, 23 Dec 2025 11:30:37 GMT Pragma: - no-cache RequestId: - - e32f9bb8-50db-4773-9ba5-f0c114bf92d7 + - 8ad97a30-5906-4171-83e8-74d61cf60b98 Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -42,7 +42,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: @@ -60,12 +60,12 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (None; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (None; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: GET uri: https://api.fabric.microsoft.com/v1/workspaces response: body: - string: '{"value": [{"id": "94da8ea5-0bd6-4a9e-b717-5fdb482f4c71", "displayName": + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": "My workspace", "description": "", "type": "Personal"}]}' headers: Access-Control-Expose-Headers: @@ -75,15 +75,15 @@ interactions: Content-Encoding: - gzip Content-Length: - - '323' + - '1192' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 02 Sep 2025 19:38:00 GMT + - Tue, 23 Dec 2025 11:30:39 GMT Pragma: - no-cache RequestId: - - 78afa471-cf35-45dc-a8cb-3632b31aa30d + - c4462b24-6089-4c0d-89bd-25b7decab5ba Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -91,7 +91,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: @@ -109,13 +109,13 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (None; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (None; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: GET uri: https://api.fabric.microsoft.com/v1/capacities response: body: string: '{"value": [{"id": "00000000-0000-0000-0000-000000000004", "displayName": - "mocked_fabriccli_capacity_name", "sku": "F16", "region": "West Europe", "state": + "mocked_fabriccli_capacity_name", "sku": "F2", "region": "Central US", "state": "Active"}]}' headers: Access-Control-Expose-Headers: @@ -125,15 +125,15 @@ interactions: Content-Encoding: - gzip Content-Length: - - '456' + - '871' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 02 Sep 2025 19:38:05 GMT + - Tue, 23 Dec 2025 11:30:45 GMT Pragma: - no-cache RequestId: - - 8826ce60-ce4a-40c3-8723-fc0c86abddaa + - 1d1d9593-4ace-48a5-aab1-4e52e2329d33 Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -141,7 +141,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: @@ -162,12 +162,12 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (None; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (None; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: POST uri: https://api.fabric.microsoft.com/v1/workspaces response: body: - string: '{"id": "216ee1e3-0750-4f42-9401-cf5312757f40", "displayName": "fabriccli_WorkspacePerTestclass_000001", + string: '{"id": "a4843949-27b0-40ce-bbca-d5498698e0f1", "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}' headers: Access-Control-Expose-Headers: @@ -177,17 +177,17 @@ interactions: Content-Encoding: - gzip Content-Length: - - '190' + - '188' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 02 Sep 2025 19:38:13 GMT + - Tue, 23 Dec 2025 11:30:53 GMT Location: - - https://api.fabric.microsoft.com/v1/workspaces/216ee1e3-0750-4f42-9401-cf5312757f40 + - https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1 Pragma: - no-cache RequestId: - - 5039ddb7-96ac-48e1-99e5-a98ea614c4c0 + - 8f191dd1-0890-4566-b70f-57baf75fb262 Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -195,7 +195,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: @@ -213,13 +213,13 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (export; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (export; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: GET uri: https://api.fabric.microsoft.com/v1/workspaces response: body: - string: '{"value": [{"id": "94da8ea5-0bd6-4a9e-b717-5fdb482f4c71", "displayName": - "My workspace", "description": "", "type": "Personal"}, {"id": "216ee1e3-0750-4f42-9401-cf5312757f40", + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a4843949-27b0-40ce-bbca-d5498698e0f1", "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' headers: @@ -230,15 +230,15 @@ interactions: Content-Encoding: - gzip Content-Length: - - '357' + - '1226' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 02 Sep 2025 19:38:56 GMT + - Tue, 23 Dec 2025 11:31:53 GMT Pragma: - no-cache RequestId: - - 8516718f-b972-48e0-87cd-3e8f458090e8 + - 6f118d47-f742-426b-ac69-76a5bbee5b9f Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -246,7 +246,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: @@ -264,12 +264,13 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (export; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (export; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: GET - uri: https://api.fabric.microsoft.com/v1/workspaces/216ee1e3-0750-4f42-9401-cf5312757f40/items + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/items response: body: - string: '{"value": []}' + string: '{"value": [{"id": "b827b069-1573-4288-9964-8415956062ef", "type": "SemanticModel", + "displayName": "fabcli000001_auto", "description": "", "workspaceId": "a4843949-27b0-40ce-bbca-d5498698e0f1"}]}' headers: Access-Control-Expose-Headers: - RequestId @@ -278,15 +279,15 @@ interactions: Content-Encoding: - gzip Content-Length: - - '32' + - '175' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 02 Sep 2025 19:38:55 GMT + - Tue, 23 Dec 2025 11:31:55 GMT Pragma: - no-cache RequestId: - - 6d9d3efa-81e5-4f34-9cc7-da801a781de5 + - e42ff689-c578-4ecc-91c3-93c1949d11a0 Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -294,7 +295,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: @@ -314,9 +315,9 @@ interactions: Content-Type: - application/json User-Agent: - - ms-fabric-cli/1.0.0 (export; Linux; x86_64; 5.15.167.4-microsoft-standard-WSL2) + - ms-fabric-cli/1.3.1 (export; Linux; x86_64; 6.6.87.2-microsoft-standard-WSL2) method: DELETE - uri: https://api.fabric.microsoft.com/v1/workspaces/216ee1e3-0750-4f42-9401-cf5312757f40 + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1 response: body: string: '' @@ -332,11 +333,11 @@ interactions: Content-Type: - application/octet-stream Date: - - Tue, 02 Sep 2025 19:38:56 GMT + - Tue, 23 Dec 2025 11:31:57 GMT Pragma: - no-cache RequestId: - - 269a8ea7-7ae2-42ba-aaed-7309b7156786 + - 7b1603a3-54f4-4f0a-baa4-4947902f7baf Strict-Transport-Security: - max-age=31536000; includeSubDomains X-Content-Type-Options: @@ -344,7 +345,7 @@ interactions: X-Frame-Options: - deny home-cluster-uri: - - https://wabi-west-europe-redirect.analysis.windows.net/ + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ request-redirected: - 'true' status: diff --git a/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_default_format_success.yaml b/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_default_format_success.yaml new file mode 100644 index 000000000..7a4ff3964 --- /dev/null +++ b/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_default_format_success.yaml @@ -0,0 +1,763 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1284' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:02:45 GMT + Pragma: + - no-cache + RequestId: + - ebb675bf-b6ce-4dd2-bb86-41b77b99b220 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:02:47 GMT + Pragma: + - no-cache + RequestId: + - 501b9812-1225-4b80-adda-5048aa89fe33 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:02:47 GMT + Pragma: + - no-cache + RequestId: + - 7cf16d2c-eeab-4830-9713-7e01bddd45e6 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"description": "Created by fab", "displayName": "fabcli000001", "type": + "Notebook", "folderId": null, "definition": {"parts": [{"path": "notebook-content.py", + "payload": "IyBGYWJyaWMgbm90ZWJvb2sgc291cmNlCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAia2VybmVsX2luZm8iOiB7CiMgTUVUQSAgICAgIm5hbWUiOiAic3luYXBzZV9weXNwYXJrIgojIE1FVEEgICB9LAojIE1FVEEgICAiZGVwZW5kZW5jaWVzIjoge30KIyBNRVRBIH0KCiMgQ0VMTCAqKioqKioqKioqKioqKioqKioqKgoKIyBXZWxjb21lIHRvIHlvdXIgbmV3IG5vdGVib29rCiMgVHlwZSBoZXJlIGluIHRoZSBjZWxsIGVkaXRvciB0byBhZGQgY29kZSEKCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKIyBNRVRBICAgImxhbmd1YWdlX2dyb3VwIjogInN5bmFwc2VfcHlzcGFyayIKIyBNRVRBIH0K", + "payloadType": "InlineBase64"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '764' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/notebooks + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,ETag,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:02:48 GMT + ETag: + - '""' + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/5ed35c62-b654-48ec-bcf1-adedae684e1c + Pragma: + - no-cache + RequestId: + - 81fa757d-8850-47de-b62f-452b185cfb3e + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - 5ed35c62-b654-48ec-bcf1-adedae684e1c + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/5ed35c62-b654-48ec-bcf1-adedae684e1c + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-16T23:02:48.5417132", + "lastUpdatedTimeUtc": "2025-12-16T23:02:50.1198338", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '132' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:03:10 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/5ed35c62-b654-48ec-bcf1-adedae684e1c/result + Pragma: + - no-cache + RequestId: + - bf8d526a-7819-4640-aa6a-458d5ba2f97e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - 5ed35c62-b654-48ec-bcf1-adedae684e1c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/5ed35c62-b654-48ec-bcf1-adedae684e1c/result + response: + body: + string: '{"id": "bcc8cefc-18d9-479c-a186-2ba245c2e229", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6"}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 16 Dec 2025 23:03:11 GMT + Pragma: + - no-cache + RequestId: + - 327fe5bc-d204-41c1-9cd5-f15a23f7eee4 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1284' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:03:11 GMT + Pragma: + - no-cache + RequestId: + - b3326cb6-79e3-4be0-b50e-a00a342cb0de + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items + response: + body: + string: '{"value": [{"id": "bcc8cefc-18d9-479c-a186-2ba245c2e229", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '178' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:03:11 GMT + Pragma: + - no-cache + RequestId: + - eff3607a-7147-4404-bb6a-60dd60b6808f + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items/bcc8cefc-18d9-479c-a186-2ba245c2e229 + response: + body: + string: '{"id": "bcc8cefc-18d9-479c-a186-2ba245c2e229", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6"}' + headers: + Access-Control-Expose-Headers: + - RequestId,ETag + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '166' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:03:56 GMT + ETag: + - '""' + Pragma: + - no-cache + RequestId: + - 70a352ed-8731-4628-bdb1-f9240f075561 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items/bcc8cefc-18d9-479c-a186-2ba245c2e229/getDefinition?format=ipynb + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:03:57 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/3a290dfd-b64a-46b9-ac78-24032007c49d + Pragma: + - no-cache + RequestId: + - e5678c4d-2b33-4982-b24f-c3fd6d23514d + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - 3a290dfd-b64a-46b9-ac78-24032007c49d + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/3a290dfd-b64a-46b9-ac78-24032007c49d + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-16T23:03:57.4688214", + "lastUpdatedTimeUtc": "2025-12-16T23:03:57.7662188", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '130' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:04:18 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/3a290dfd-b64a-46b9-ac78-24032007c49d/result + Pragma: + - no-cache + RequestId: + - 8990e7af-8b4e-4dc3-b1d5-52d595a2cc95 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - 3a290dfd-b64a-46b9-ac78-24032007c49d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/3a290dfd-b64a-46b9-ac78-24032007c49d/result + response: + body: + string: '{"definition": {"parts": [{"path": "notebook-content.ipynb", "payload": + "eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsIm1ldGFkYXRhIjp7Imxhbmd1YWdlX2luZm8iOnsibmFtZSI6InB5dGhvbiJ9LCJrZXJuZWxfaW5mbyI6eyJuYW1lIjoic3luYXBzZV9weXNwYXJrIiwianVweXRlcl9rZXJuZWxfbmFtZSI6bnVsbH0sImEzNjVDb21wdXRlT3B0aW9ucyI6bnVsbCwic2Vzc2lvbktlZXBBbGl2ZVRpbWVvdXQiOjAsImRlcGVuZGVuY2llcyI6eyJsYWtlaG91c2UiOm51bGx9fSwiY2VsbHMiOlt7ImNlbGxfdHlwZSI6ImNvZGUiLCJtZXRhZGF0YSI6eyJtaWNyb3NvZnQiOnsibGFuZ3VhZ2UiOiJweXRob24iLCJsYW5ndWFnZV9ncm91cCI6InN5bmFwc2VfcHlzcGFyayJ9fSwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIiwiIyBUeXBlIGhlcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sIm91dHB1dHMiOltdfV19", + "payloadType": "InlineBase64"}, {"path": ".platform", "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIk5vdGVib29rIiwKICAgICJkaXNwbGF5TmFtZSI6ICJmYWJjbGkwMDAwMDEiLAogICAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZWQgYnkgZmFiIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64"}]}}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 16 Dec 2025 23:04:19 GMT + Pragma: + - no-cache + RequestId: + - f67c0392-d055-44f3-bbe7-bb28b8f9ae15 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1284' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:05:11 GMT + Pragma: + - no-cache + RequestId: + - 69bfea0d-bbbd-4ffa-ae4c-6b9a2bb05505 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items + response: + body: + string: '{"value": [{"id": "bcc8cefc-18d9-479c-a186-2ba245c2e229", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "a8e965aa-20aa-4395-9d5b-9bff6b4c46b6"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '178' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 23:05:12 GMT + Pragma: + - no-cache + RequestId: + - ce2aeff3-89a3-457f-b9df-8d1ecf02dad2 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: DELETE + uri: https://api.fabric.microsoft.com/v1/workspaces/a8e965aa-20aa-4395-9d5b-9bff6b4c46b6/items/bcc8cefc-18d9-479c-a186-2ba245c2e229 + response: + body: + string: '' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '0' + Content-Type: + - application/octet-stream + Date: + - Tue, 16 Dec 2025 23:05:13 GMT + Pragma: + - no-cache + RequestId: + - ee94fdd3-f323-4cf0-8bb7-2428f24eb24d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_invalid_format_failure.yaml b/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_invalid_format_failure.yaml new file mode 100644 index 000000000..c4689118c --- /dev/null +++ b/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_invalid_format_failure.yaml @@ -0,0 +1,558 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "c4bb4c51-ecd4-4659-bc4e-aca53248441b", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1187' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:05:40 GMT + Pragma: + - no-cache + RequestId: + - 5d7a1327-4e06-4a2b-a564-176d69988a54 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/c4bb4c51-ecd4-4659-bc4e-aca53248441b/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:05:41 GMT + Pragma: + - no-cache + RequestId: + - 901c3581-e554-4cac-9761-37274234d2be + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/c4bb4c51-ecd4-4659-bc4e-aca53248441b/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:05:42 GMT + Pragma: + - no-cache + RequestId: + - f602b6e2-5073-449b-897b-394e86d0ceaa + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"description": "Created by fab", "displayName": "fabcli000001", "type": + "Notebook", "folderId": null, "definition": {"parts": [{"path": "notebook-content.py", + "payload": "IyBGYWJyaWMgbm90ZWJvb2sgc291cmNlCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAia2VybmVsX2luZm8iOiB7CiMgTUVUQSAgICAgIm5hbWUiOiAic3luYXBzZV9weXNwYXJrIgojIE1FVEEgICB9LAojIE1FVEEgICAiZGVwZW5kZW5jaWVzIjoge30KIyBNRVRBIH0KCiMgQ0VMTCAqKioqKioqKioqKioqKioqKioqKgoKIyBXZWxjb21lIHRvIHlvdXIgbmV3IG5vdGVib29rCiMgVHlwZSBoZXJlIGluIHRoZSBjZWxsIGVkaXRvciB0byBhZGQgY29kZSEKCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKIyBNRVRBICAgImxhbmd1YWdlX2dyb3VwIjogInN5bmFwc2VfcHlzcGFyayIKIyBNRVRBIH0K", + "payloadType": "InlineBase64"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '764' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/c4bb4c51-ecd4-4659-bc4e-aca53248441b/notebooks + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,ETag,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:05:44 GMT + ETag: + - '""' + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/c29951dc-1bd7-4ab2-b1ef-89eab460a061 + Pragma: + - no-cache + RequestId: + - 1f7c9268-4803-432a-9ac6-28159a079916 + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - c29951dc-1bd7-4ab2-b1ef-89eab460a061 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/c29951dc-1bd7-4ab2-b1ef-89eab460a061 + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-16T13:05:43.4319862", + "lastUpdatedTimeUtc": "2025-12-16T13:05:46.9944268", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '131' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:06:05 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/c29951dc-1bd7-4ab2-b1ef-89eab460a061/result + Pragma: + - no-cache + RequestId: + - 2407d87c-3121-439d-bb8f-a22fdebe545b + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - c29951dc-1bd7-4ab2-b1ef-89eab460a061 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/c29951dc-1bd7-4ab2-b1ef-89eab460a061/result + response: + body: + string: '{"id": "bdd992c0-d913-4fd3-b509-de7eba0de623", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "c4bb4c51-ecd4-4659-bc4e-aca53248441b"}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 16 Dec 2025 13:06:06 GMT + Pragma: + - no-cache + RequestId: + - 3c774108-9cb1-4368-be0e-f99b4254b1bb + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "c4bb4c51-ecd4-4659-bc4e-aca53248441b", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1187' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:06:06 GMT + Pragma: + - no-cache + RequestId: + - 2f38cbbc-3737-4adc-93de-29027cc18943 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/c4bb4c51-ecd4-4659-bc4e-aca53248441b/items + response: + body: + string: '{"value": [{"id": "bdd992c0-d913-4fd3-b509-de7eba0de623", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "c4bb4c51-ecd4-4659-bc4e-aca53248441b"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '175' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:06:07 GMT + Pragma: + - no-cache + RequestId: + - 974385bc-595c-42f3-b5fb-03b814d6a003 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "c4bb4c51-ecd4-4659-bc4e-aca53248441b", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1187' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:06:08 GMT + Pragma: + - no-cache + RequestId: + - 20be1c4a-5cb9-4888-8211-e56906c915b3 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/c4bb4c51-ecd4-4659-bc4e-aca53248441b/items + response: + body: + string: '{"value": [{"id": "bdd992c0-d913-4fd3-b509-de7eba0de623", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "c4bb4c51-ecd4-4659-bc4e-aca53248441b"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '175' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 13:06:08 GMT + Pragma: + - no-cache + RequestId: + - a261f4aa-1a96-46b6-992a-baa88184df3a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: DELETE + uri: https://api.fabric.microsoft.com/v1/workspaces/c4bb4c51-ecd4-4659-bc4e-aca53248441b/items/bdd992c0-d913-4fd3-b509-de7eba0de623 + response: + body: + string: '' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '0' + Content-Type: + - application/octet-stream + Date: + - Tue, 16 Dec 2025 13:06:08 GMT + Pragma: + - no-cache + RequestId: + - 4692b1de-6f6a-4a0b-9718-8bc411da9945 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_py_format_success.yaml b/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_py_format_success.yaml new file mode 100644 index 000000000..7a7d2fc2d --- /dev/null +++ b/tests/test_commands/recordings/test_commands/test_export/test_export_notebook_py_format_success.yaml @@ -0,0 +1,763 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "6b6acb75-5457-491d-a29f-3e3fbf1860a3", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1188' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:22 GMT + Pragma: + - no-cache + RequestId: + - 31eeeeb2-6857-424e-9357-37655fa8e835 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:23 GMT + Pragma: + - no-cache + RequestId: + - aa7e686a-4f2a-4680-963e-f11b700e34d3 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:22 GMT + Pragma: + - no-cache + RequestId: + - c8e51fe6-efa8-4b99-8556-0ee2f8fffd35 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"description": "Created by fab", "displayName": "fabcli000001", "type": + "Notebook", "folderId": null, "definition": {"parts": [{"path": "notebook-content.py", + "payload": "IyBGYWJyaWMgbm90ZWJvb2sgc291cmNlCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAia2VybmVsX2luZm8iOiB7CiMgTUVUQSAgICAgIm5hbWUiOiAic3luYXBzZV9weXNwYXJrIgojIE1FVEEgICB9LAojIE1FVEEgICAiZGVwZW5kZW5jaWVzIjoge30KIyBNRVRBIH0KCiMgQ0VMTCAqKioqKioqKioqKioqKioqKioqKgoKIyBXZWxjb21lIHRvIHlvdXIgbmV3IG5vdGVib29rCiMgVHlwZSBoZXJlIGluIHRoZSBjZWxsIGVkaXRvciB0byBhZGQgY29kZSEKCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKIyBNRVRBICAgImxhbmd1YWdlX2dyb3VwIjogInN5bmFwc2VfcHlzcGFyayIKIyBNRVRBIH0K", + "payloadType": "InlineBase64"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '764' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/notebooks + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,ETag,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:26 GMT + ETag: + - '""' + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/855e74ce-a82b-49e1-a942-a20424fe8607 + Pragma: + - no-cache + RequestId: + - dfc06bd1-867d-4e35-bea2-2e6a9b5bab69 + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - 855e74ce-a82b-49e1-a942-a20424fe8607 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/855e74ce-a82b-49e1-a942-a20424fe8607 + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-16T07:36:24.8045809", + "lastUpdatedTimeUtc": "2025-12-16T07:36:29.2264551", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '131' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:47 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/855e74ce-a82b-49e1-a942-a20424fe8607/result + Pragma: + - no-cache + RequestId: + - 13f52fa2-6ce6-4c7c-89b5-ca7e6661298d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - 855e74ce-a82b-49e1-a942-a20424fe8607 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/855e74ce-a82b-49e1-a942-a20424fe8607/result + response: + body: + string: '{"id": "7518168b-1536-4764-9b10-d45537849c1e", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "6b6acb75-5457-491d-a29f-3e3fbf1860a3"}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 16 Dec 2025 07:36:48 GMT + Pragma: + - no-cache + RequestId: + - 87c49087-d7da-41bd-b0da-270b08b5201c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "6b6acb75-5457-491d-a29f-3e3fbf1860a3", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1188' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:48 GMT + Pragma: + - no-cache + RequestId: + - c6a5d7fb-e3cb-47aa-ac34-1606774e2909 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items + response: + body: + string: '{"value": [{"id": "7518168b-1536-4764-9b10-d45537849c1e", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "6b6acb75-5457-491d-a29f-3e3fbf1860a3"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '178' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:49 GMT + Pragma: + - no-cache + RequestId: + - 10086725-0658-4eec-bf11-4a6e355a11ee + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items/7518168b-1536-4764-9b10-d45537849c1e + response: + body: + string: '{"id": "7518168b-1536-4764-9b10-d45537849c1e", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "6b6acb75-5457-491d-a29f-3e3fbf1860a3"}' + headers: + Access-Control-Expose-Headers: + - RequestId,ETag + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '166' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:49 GMT + ETag: + - '""' + Pragma: + - no-cache + RequestId: + - 9672b4a1-6a4f-4bb6-9764-e156aa8bbe69 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items/7518168b-1536-4764-9b10-d45537849c1e/getDefinition?format=fabricGitSource + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:36:50 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/ad9cab6b-72f3-492b-acb6-7425556bbd75 + Pragma: + - no-cache + RequestId: + - e90dfd97-4d4d-4e92-8579-6b98251e1434 + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - ad9cab6b-72f3-492b-acb6-7425556bbd75 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/ad9cab6b-72f3-492b-acb6-7425556bbd75 + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-16T07:36:50.7748884", + "lastUpdatedTimeUtc": "2025-12-16T07:36:51.5561365", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '131' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:37:10 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/ad9cab6b-72f3-492b-acb6-7425556bbd75/result + Pragma: + - no-cache + RequestId: + - 06dc1adb-9e0f-4e2a-a3a1-0adbc2cd5ac4 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - ad9cab6b-72f3-492b-acb6-7425556bbd75 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/ad9cab6b-72f3-492b-acb6-7425556bbd75/result + response: + body: + string: '{"definition": {"parts": [{"path": "notebook-content.py", "payload": + "IyBGYWJyaWMgbm90ZWJvb2sgc291cmNlCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAia2VybmVsX2luZm8iOiB7CiMgTUVUQSAgICAgIm5hbWUiOiAic3luYXBzZV9weXNwYXJrIgojIE1FVEEgICB9LAojIE1FVEEgICAiZGVwZW5kZW5jaWVzIjoge30KIyBNRVRBIH0KCiMgQ0VMTCAqKioqKioqKioqKioqKioqKioqKgoKIyBXZWxjb21lIHRvIHlvdXIgbmV3IG5vdGVib29rCiMgVHlwZSBoZXJlIGluIHRoZSBjZWxsIGVkaXRvciB0byBhZGQgY29kZSEKCgojIE1FVEFEQVRBICoqKioqKioqKioqKioqKioqKioqCgojIE1FVEEgewojIE1FVEEgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKIyBNRVRBICAgImxhbmd1YWdlX2dyb3VwIjogInN5bmFwc2VfcHlzcGFyayIKIyBNRVRBIH0K", + "payloadType": "InlineBase64"}, {"path": ".platform", "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIk5vdGVib29rIiwKICAgICJkaXNwbGF5TmFtZSI6ICJmYWJjbGkwMDAwMDEiLAogICAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZWQgYnkgZmFiIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64"}]}}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 16 Dec 2025 07:37:11 GMT + Pragma: + - no-cache + RequestId: + - 84d5d1ea-d8b8-47af-ab7e-b854542d8edb + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "6b6acb75-5457-491d-a29f-3e3fbf1860a3", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1188' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:37:12 GMT + Pragma: + - no-cache + RequestId: + - cb647d72-520b-4108-9f29-f52f51f81497 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items + response: + body: + string: '{"value": [{"id": "7518168b-1536-4764-9b10-d45537849c1e", "type": "Notebook", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "6b6acb75-5457-491d-a29f-3e3fbf1860a3"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '178' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 16 Dec 2025 07:37:12 GMT + Pragma: + - no-cache + RequestId: + - a248db33-26ab-4522-9a26-92acd0c35e18 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.2.0 + method: DELETE + uri: https://api.fabric.microsoft.com/v1/workspaces/6b6acb75-5457-491d-a29f-3e3fbf1860a3/items/7518168b-1536-4764-9b10-d45537849c1e + response: + body: + string: '' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '0' + Content-Type: + - application/octet-stream + Date: + - Tue, 16 Dec 2025 07:37:13 GMT + Pragma: + - no-cache + RequestId: + - 051de028-7248-424a-899d-a3e449ed5926 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_commands/recordings/test_commands/test_export/test_export_report_no_format_support_failure.yaml b/tests/test_commands/recordings/test_commands/test_export/test_export_report_no_format_support_failure.yaml new file mode 100644 index 000000000..b7daebe46 --- /dev/null +++ b/tests/test_commands/recordings/test_commands/test_export/test_export_report_no_format_support_failure.yaml @@ -0,0 +1,730 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a4843949-27b0-40ce-bbca-d5498698e0f1", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1226' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:30:54 GMT + Pragma: + - no-cache + RequestId: + - 2b401032-386e-424b-a612-b1ff707c845d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:30:56 GMT + Pragma: + - no-cache + RequestId: + - 8b38f486-dfe0-4a20-a5f0-8cd673a24d48 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/items + response: + body: + string: '{"value": []}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '32' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:30:57 GMT + Pragma: + - no-cache + RequestId: + - af9f0ccd-2959-4681-a25f-0f4cf128b9b9 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"description": "Created by fab", "displayName": "fabcli000001_auto", "type": + "SemanticModel", "folderId": null, "definition": {"parts": [{"path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIlNlbWFudGljTW9kZWwiLAogICAgImRpc3BsYXlOYW1lIjogIkJsYW5rIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64"}, {"path": "definition.pbism", "payload": "ewogICJ2ZXJzaW9uIjogIjQuMCIsCiAgInNldHRpbmdzIjoge30KfQ==", + "payloadType": "InlineBase64"}, {"path": "definition/database.tmdl", "payload": + "ZGF0YWJhc2UKCWNvbXBhdGliaWxpdHlMZXZlbDogMTU2MQoK", "payloadType": "InlineBase64"}, + {"path": "definition/model.tmdl", "payload": "bW9kZWwgTW9kZWwKCWN1bHR1cmU6IGVuLVVTCglkZWZhdWx0UG93ZXJCSURhdGFTb3VyY2VWZXJzaW9uOiBwb3dlckJJX1YzCglzb3VyY2VRdWVyeUN1bHR1cmU6IGVuLVVTCglkYXRhQWNjZXNzT3B0aW9ucwoJCWxlZ2FjeVJlZGlyZWN0cwoJCXJldHVybkVycm9yVmFsdWVzQXNOdWxsCgphbm5vdGF0aW9uIFBCSV9RdWVyeU9yZGVyID0gWyJUYWJsZSJdCgphbm5vdGF0aW9uIF9fUEJJX1RpbWVJbnRlbGxpZ2VuY2VFbmFibGVkID0gMQoKYW5ub3RhdGlvbiBQQklEZXNrdG9wVmVyc2lvbiA9IDIuMTQwLjc1MTAuMSAoTWFpbikrYjM2NmM1ODEzNGRkNDJkZjk0MmU5YmJhNjUzNzlmM2YyMzk3M2VlMAoKcmVmIHRhYmxlIFRhYmxl", + "payloadType": "InlineBase64"}, {"path": "definition/tables/Table.tmdl", "payload": + "dGFibGUgVGFibGUKCWxpbmVhZ2VUYWc6IDFmY2QyZDhjLTkzZDYtNGU2Zi1hYjg2LThjMDU5YzhhODk4ZAoKCWNvbHVtbiBDb2x1bW4xCgkJZGF0YVR5cGU6IHN0cmluZwoJCWxpbmVhZ2VUYWc6IGIxNGI3M2UwLTI0NDctNDNlYi04ZWU1LTA2ZDQ3NTMxYzQxZAoJCXN1bW1hcml6ZUJ5OiBub25lCgkJc291cmNlQ29sdW1uOiBDb2x1bW4xCgoJCWFubm90YXRpb24gU3VtbWFyaXphdGlvblNldEJ5ID0gQXV0b21hdGljCgoJY29sdW1uIENvbHVtbjIKCQlkYXRhVHlwZTogc3RyaW5nCgkJbGluZWFnZVRhZzogZGE5YWMzNDUtMTFmMS00NGY5LThlNGItMDJjZmNhZGI4OTU3CgkJc3VtbWFyaXplQnk6IG5vbmUKCQlzb3VyY2VDb2x1bW46IENvbHVtbjIKCgkJYW5ub3RhdGlvbiBTdW1tYXJpemF0aW9uU2V0QnkgPSBBdXRvbWF0aWMKCglwYXJ0aXRpb24gVGFibGUgPSBtCgkJbW9kZTogaW1wb3J0CgkJc291cmNlID0KCQkJCWxldAoJCQkJICBTb3VyY2UgPSBUYWJsZS5Gcm9tUm93cyhKc29uLkRvY3VtZW50KEJpbmFyeS5EZWNvbXByZXNzKEJpbmFyeS5Gcm9tVGV4dCgiaTQ1V0tqRlUwZ0VSc2JFQSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdF0pLAoJCQkJICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiID0gVGFibGUuVHJhbnNmb3JtQ29sdW1uVHlwZXMoU291cmNlLCB7fSkKCQkJCWluCgkJCQkgICMiQ2hhbmdlZCBjb2x1bW4gdHlwZSIKCglhbm5vdGF0aW9uIFBCSV9SZXN1bHRUeXBlID0gVGFibGUKCg==", + "payloadType": "InlineBase64"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '2673' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/semanticModels + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:30:59 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/daa89741-fa52-4b54-98f9-5a7fd5eed49b + Pragma: + - no-cache + RequestId: + - 428fc729-fec3-42cf-b632-b0e22c0234ea + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - daa89741-fa52-4b54-98f9-5a7fd5eed49b + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/daa89741-fa52-4b54-98f9-5a7fd5eed49b + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-23T11:30:59.0962664", + "lastUpdatedTimeUtc": "2025-12-23T11:31:09.9422512", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '132' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:19 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/daa89741-fa52-4b54-98f9-5a7fd5eed49b/result + Pragma: + - no-cache + RequestId: + - 61d5077e-1968-4674-95af-5ccbf3551a31 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - daa89741-fa52-4b54-98f9-5a7fd5eed49b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/daa89741-fa52-4b54-98f9-5a7fd5eed49b/result + response: + body: + string: '{"id": "b827b069-1573-4288-9964-8415956062ef", "type": "SemanticModel", + "displayName": "fabcli000001_auto", "description": "", "workspaceId": "a4843949-27b0-40ce-bbca-d5498698e0f1"}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 23 Dec 2025 11:31:20 GMT + Pragma: + - no-cache + RequestId: + - ef0c0027-89b8-48b4-8803-09df5c4fc4c7 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: '{"description": "Created by fab", "displayName": "fabcli000001", "type": + "Report", "folderId": null, "definition": {"parts": [{"path": ".platform", "payload": + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIlJlcG9ydCIsCiAgICAiZGlzcGxheU5hbWUiOiAiQmxhbmsiCiAgfSwKICAiY29uZmlnIjogewogICAgInZlcnNpb24iOiAiMi4wIiwKICAgICJsb2dpY2FsSWQiOiAiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIgogIH0KfQ==", + "payloadType": "InlineBase64"}, {"path": "definition.pbir", "payload": "eyJ2ZXJzaW9uIjogIjQuMCIsICJkYXRhc2V0UmVmZXJlbmNlIjogeyJieVBhdGgiOiBudWxsLCAiYnlDb25uZWN0aW9uIjogeyJjb25uZWN0aW9uU3RyaW5nIjogIkRhdGEgU291cmNlPXBvd2VyYmk6Ly9hcGkucG93ZXJiaS5jb20vdjEuMC9teW9yZy9ta2RpcjtJbml0aWFsIENhdGFsb2c9cjM7SW50ZWdyYXRlZCBTZWN1cml0eT1DbGFpbXNUb2tlbiIsICJwYmlTZXJ2aWNlTW9kZWxJZCI6IG51bGwsICJwYmlNb2RlbFZpcnR1YWxTZXJ2ZXJOYW1lIjogInNvYmVfd293dmlydHVhbHNlcnZlciIsICJwYmlNb2RlbERhdGFiYXNlTmFtZSI6ICJiODI3YjA2OS0xNTczLTQyODgtOTk2NC04NDE1OTU2MDYyZWYiLCAibmFtZSI6ICJFbnRpdHlEYXRhU291cmNlIiwgImNvbm5lY3Rpb25UeXBlIjogInBiaVNlcnZpY2VYbWxhU3R5bGVMaXZlIn19fQ==", + "payloadType": "InlineBase64"}, {"path": "definition/report.json", "payload": + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9pdGVtL3JlcG9ydC9kZWZpbml0aW9uL3JlcG9ydC8xLjIuMC9zY2hlbWEuanNvbiIsCiAgInRoZW1lQ29sbGVjdGlvbiI6IHsKICAgICJiYXNlVGhlbWUiOiB7CiAgICAgICJuYW1lIjogIkNZMjRTVTEwIiwKICAgICAgInJlcG9ydFZlcnNpb25BdEltcG9ydCI6ICI1LjYxIiwKICAgICAgInR5cGUiOiAiU2hhcmVkUmVzb3VyY2VzIgogICAgfQogIH0sCiAgImxheW91dE9wdGltaXphdGlvbiI6ICJOb25lIiwKICAib2JqZWN0cyI6IHsKICAgICJzZWN0aW9uIjogWwogICAgICB7CiAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAidmVydGljYWxBbGlnbm1lbnQiOiB7CiAgICAgICAgICAgICJleHByIjogewogICAgICAgICAgICAgICJMaXRlcmFsIjogewogICAgICAgICAgICAgICAgIlZhbHVlIjogIidUb3AnIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgXQogIH0sCiAgInJlc291cmNlUGFja2FnZXMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIlNoYXJlZFJlc291cmNlcyIsCiAgICAgICJ0eXBlIjogIlNoYXJlZFJlc291cmNlcyIsCiAgICAgICJpdGVtcyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJDWTI0U1UxMCIsCiAgICAgICAgICAicGF0aCI6ICJCYXNlVGhlbWVzL0NZMjRTVTEwLmpzb24iLAogICAgICAgICAgInR5cGUiOiAiQmFzZVRoZW1lIgogICAgICAgIH0KICAgICAgXQogICAgfQogIF0sCiAgInNldHRpbmdzIjogewogICAgInVzZVN0eWxhYmxlVmlzdWFsQ29udGFpbmVySGVhZGVyIjogdHJ1ZSwKICAgICJkZWZhdWx0RHJpbGxGaWx0ZXJPdGhlclZpc3VhbHMiOiB0cnVlLAogICAgImFsbG93Q2hhbmdlRmlsdGVyVHlwZXMiOiB0cnVlLAogICAgInVzZUVuaGFuY2VkVG9vbHRpcHMiOiB0cnVlLAogICAgInVzZURlZmF1bHRBZ2dyZWdhdGVEaXNwbGF5TmFtZSI6IHRydWUKICB9Cn0=", + "payloadType": "InlineBase64"}, {"path": "definition/version.json", "payload": + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9pdGVtL3JlcG9ydC9kZWZpbml0aW9uL3ZlcnNpb25NZXRhZGF0YS8xLjAuMC9zY2hlbWEuanNvbiIsCiAgInZlcnNpb24iOiAiMi4wLjAiCn0=", + "payloadType": "InlineBase64"}, {"path": "definition/pages/pages.json", "payload": + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9pdGVtL3JlcG9ydC9kZWZpbml0aW9uL3BhZ2VzTWV0YWRhdGEvMS4wLjAvc2NoZW1hLmpzb24iLAogICJwYWdlT3JkZXIiOiBbCiAgICAiYjhjNWZiOGQ2MzVmODk4MzI2YzYiCiAgXSwKICAiYWN0aXZlUGFnZU5hbWUiOiAiYjhjNWZiOGQ2MzVmODk4MzI2YzYiCn0=", + "payloadType": "InlineBase64"}, {"path": "definition/pages/b8c5fb8d635f898326c6/page.json", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9pdGVtL3JlcG9ydC9kZWZpbml0aW9uL3BhZ2UvMS4zLjAvc2NoZW1hLmpzb24iLAogICJuYW1lIjogImI4YzVmYjhkNjM1Zjg5ODMyNmM2IiwKICAiZGlzcGxheU5hbWUiOiAiUGFnZSAxIiwKICAiZGlzcGxheU9wdGlvbiI6ICJGaXRUb1BhZ2UiLAogICJoZWlnaHQiOiA3MjAsCiAgIndpZHRoIjogMTI4MAp9", + "payloadType": "InlineBase64"}, {"path": "StaticResources/SharedResources/BaseThemes/CY24SU10.json", + "payload": "ewogICJuYW1lIjogIkNZMjRTVTEwIiwKICAiZGF0YUNvbG9ycyI6IFsKICAgICIjMTE4REZGIiwKICAgICIjMTIyMzlFIiwKICAgICIjRTY2QzM3IiwKICAgICIjNkIwMDdCIiwKICAgICIjRTA0NEE3IiwKICAgICIjNzQ0RUMyIiwKICAgICIjRDlCMzAwIiwKICAgICIjRDY0NTUwIiwKICAgICIjMTk3Mjc4IiwKICAgICIjMUFBQjQwIiwKICAgICIjMTVDNkY0IiwKICAgICIjNDA5MkZGIiwKICAgICIjRkZBMDU4IiwKICAgICIjQkU1REM5IiwKICAgICIjRjQ3MkQwIiwKICAgICIjQjVBMUZGIiwKICAgICIjQzRBMjAwIiwKICAgICIjRkY4MDgwIiwKICAgICIjMDBEQkJDIiwKICAgICIjNUJENjY3IiwKICAgICIjMDA5MUQ1IiwKICAgICIjNDY2OEM1IiwKICAgICIjRkY2MzAwIiwKICAgICIjOTkwMDhBIiwKICAgICIjRUMwMDhDIiwKICAgICIjNTMzMjg1IiwKICAgICIjOTk3MDBBIiwKICAgICIjRkY0MTQxIiwKICAgICIjMUY5QTg1IiwKICAgICIjMjU4OTFDIiwKICAgICIjMDA1N0EyIiwKICAgICIjMDAyMDUwIiwKICAgICIjQzk0RjBGIiwKICAgICIjNDUwRjU0IiwKICAgICIjQjYwMDY0IiwKICAgICIjMzQxMjRGIiwKICAgICIjNkE1QTI5IiwKICAgICIjMUFBQjQwIiwKICAgICIjQkExNDFBIiwKICAgICIjMEMzRDM3IiwKICAgICIjMEI1MTFGIgogIF0sCiAgImZvcmVncm91bmQiOiAiIzI1MjQyMyIsCiAgImZvcmVncm91bmROZXV0cmFsU2Vjb25kYXJ5IjogIiM2MDVFNUMiLAogICJmb3JlZ3JvdW5kTmV1dHJhbFRlcnRpYXJ5IjogIiNCM0IwQUQiLAogICJiYWNrZ3JvdW5kIjogIiNGRkZGRkYiLAogICJiYWNrZ3JvdW5kTGlnaHQiOiAiI0YzRjJGMSIsCiAgImJhY2tncm91bmROZXV0cmFsIjogIiNDOEM2QzQiLAogICJ0YWJsZUFjY2VudCI6ICIjMTE4REZGIiwKICAiZ29vZCI6ICIjMUFBQjQwIiwKICAibmV1dHJhbCI6ICIjRDlCMzAwIiwKICAiYmFkIjogIiNENjQ1NTQiLAogICJtYXhpbXVtIjogIiMxMThERkYiLAogICJjZW50ZXIiOiAiI0Q5QjMwMCIsCiAgIm1pbmltdW0iOiAiI0RFRUZGRiIsCiAgIm51bGwiOiAiI0ZGN0Y0OCIsCiAgImh5cGVybGluayI6ICIjMDA3OGQ0IiwKICAidmlzaXRlZEh5cGVybGluayI6ICIjMDA3OGQ0IiwKICAidGV4dENsYXNzZXMiOiB7CiAgICAiY2FsbG91dCI6IHsKICAgICAgImZvbnRTaXplIjogNDUsCiAgICAgICJmb250RmFjZSI6ICJESU4iLAogICAgICAiY29sb3IiOiAiIzI1MjQyMyIKICAgIH0sCiAgICAidGl0bGUiOiB7CiAgICAgICJmb250U2l6ZSI6IDEyLAogICAgICAiZm9udEZhY2UiOiAiRElOIiwKICAgICAgImNvbG9yIjogIiMyNTI0MjMiCiAgICB9LAogICAgImhlYWRlciI6IHsKICAgICAgImZvbnRTaXplIjogMTIsCiAgICAgICJmb250RmFjZSI6ICJTZWdvZSBVSSBTZW1pYm9sZCIsCiAgICAgICJjb2xvciI6ICIjMjUyNDIzIgogICAgfSwKICAgICJsYWJlbCI6IHsKICAgICAgImZvbnRTaXplIjogMTAsCiAgICAgICJmb250RmFjZSI6ICJTZWdvZSBVSSIsCiAgICAgICJjb2xvciI6ICIjMjUyNDIzIgogICAgfQogIH0sCiAgInZpc3VhbFN0eWxlcyI6IHsKICAgICIqIjogewogICAgICAiKiI6IHsKICAgICAgICAiKiI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgIndvcmRXcmFwIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImxpbmUiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0cmFuc3BhcmVuY3kiOiAwCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAib3V0bGluZSI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInRyYW5zcGFyZW5jeSI6IDAKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwbG90QXJlYSI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInRyYW5zcGFyZW5jeSI6IDAKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJjYXRlZ29yeUF4aXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93QXhpc1RpdGxlIjogdHJ1ZSwKICAgICAgICAgICAgImdyaWRsaW5lU3R5bGUiOiAiZG90dGVkIiwKICAgICAgICAgICAgImNvbmNhdGVuYXRlTGFiZWxzIjogZmFsc2UKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJ2YWx1ZUF4aXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93QXhpc1RpdGxlIjogdHJ1ZSwKICAgICAgICAgICAgImdyaWRsaW5lU3R5bGUiOiAiZG90dGVkIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInkyQXhpcyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAidGl0bGUiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0aXRsZVdyYXAiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGluZVN0eWxlcyI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInN0cm9rZVdpZHRoIjogMwogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgIndvcmRXcmFwIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJiYWNrZ3JvdW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IHRydWUsCiAgICAgICAgICAgICJ0cmFuc3BhcmVuY3kiOiAwCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiYm9yZGVyIjogWwogICAgICAgICAgewogICAgICAgICAgICAid2lkdGgiOiAxCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAib3V0c3BhY2VQYW5lIjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZENvbG9yIjogewogICAgICAgICAgICAgICJzb2xpZCI6IHsKICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZmZmZmZmIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgInRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJib3JkZXIiOiB0cnVlLAogICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiB7CiAgICAgICAgICAgICAgInNvbGlkIjogewogICAgICAgICAgICAgICAgImNvbG9yIjogIiNCM0IwQUQiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZmlsdGVyQ2FyZCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgIiRpZCI6ICJBcHBsaWVkIiwKICAgICAgICAgICAgInRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJmb3JlZ3JvdW5kQ29sb3IiOiB7CiAgICAgICAgICAgICAgInNvbGlkIjogewogICAgICAgICAgICAgICAgImNvbG9yIjogIiMyNTI0MjMiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9yZGVyIjogdHJ1ZQogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIiRpZCI6ICJBdmFpbGFibGUiLAogICAgICAgICAgICAidHJhbnNwYXJlbmN5IjogMCwKICAgICAgICAgICAgImZvcmVncm91bmRDb2xvciI6IHsKICAgICAgICAgICAgICAic29saWQiOiB7CiAgICAgICAgICAgICAgICAiY29sb3IiOiAiIzI1MjQyMyIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJib3JkZXIiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInNjYXR0ZXJDaGFydCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImJ1YmJsZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJidWJibGVTaXplIjogLTEwLAogICAgICAgICAgICAibWFya2VyUmFuZ2VUeXBlIjogImF1dG8iCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZmlsbFBvaW50IjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJsZWdlbmQiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93R3JhZGllbnRMZWdlbmQiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImxpbmVDaGFydCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImdlbmVyYWwiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyZXNwb25zaXZlIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZm9yZWNhc3QiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJtYXRjaFNlcmllc0ludGVycG9sYXRpb24iOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgIm1hcCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImJ1YmJsZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJidWJibGVTaXplIjogLTEwLAogICAgICAgICAgICAibWFya2VyUmFuZ2VUeXBlIjogImF1dG8iCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImF6dXJlTWFwIjogewogICAgICAiKiI6IHsKICAgICAgICAiYnViYmxlTGF5ZXIiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJidWJibGVSYWRpdXMiOiA4LAogICAgICAgICAgICAibWluQnViYmxlUmFkaXVzIjogOCwKICAgICAgICAgICAgIm1heFJhZGl1cyI6IDQwCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiYmFyQ2hhcnQiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJiYXJIZWlnaHQiOiAzLAogICAgICAgICAgICAidGhpY2tuZXNzIjogMwogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJwaWVDaGFydCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImxlZ2VuZCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiB0cnVlLAogICAgICAgICAgICAicG9zaXRpb24iOiAiUmlnaHRDZW50ZXIiCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGFiZWxzIjogWwogICAgICAgICAgewogICAgICAgICAgICAibGFiZWxTdHlsZSI6ICJEYXRhIHZhbHVlLCBwZXJjZW50IG9mIHRvdGFsIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJkb251dENoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IHRydWUsCiAgICAgICAgICAgICJwb3NpdGlvbiI6ICJSaWdodENlbnRlciIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJsYWJlbHMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJsYWJlbFN0eWxlIjogIkRhdGEgdmFsdWUsIHBlcmNlbnQgb2YgdG90YWwiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInBpdm90VGFibGUiOiB7CiAgICAgICIqIjogewogICAgICAgICJyb3dIZWFkZXJzIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0V4cGFuZENvbGxhcHNlQnV0dG9ucyI6IHRydWUsCiAgICAgICAgICAgICJsZWdhY3lTdHlsZURpc2FibGVkIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJtdWx0aVJvd0NhcmQiOiB7CiAgICAgICIqIjogewogICAgICAgICJjYXJkIjogWwogICAgICAgICAgewogICAgICAgICAgICAib3V0bGluZVdlaWdodCI6IDIsCiAgICAgICAgICAgICJiYXJTaG93IjogdHJ1ZSwKICAgICAgICAgICAgImJhcldlaWdodCI6IDIKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAia3BpIjogewogICAgICAiKiI6IHsKICAgICAgICAidHJlbmRsaW5lIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHJhbnNwYXJlbmN5IjogMjAKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAiY2FyZFZpc3VhbCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImxheW91dCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgIm1heFRpbGVzIjogMwogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgIm92ZXJmbG93IjogWwogICAgICAgICAgewogICAgICAgICAgICAidHlwZSI6IDAKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJpbWFnZSI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgImZpeGVkU2l6ZSI6IGZhbHNlCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiaW1hZ2VBcmVhU2l6ZSI6IDUwCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImFkdmFuY2VkU2xpY2VyVmlzdWFsIjogewogICAgICAiKiI6IHsKICAgICAgICAibGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAibWF4VGlsZXMiOiAzCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInNsaWNlciI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImdlbmVyYWwiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyZXNwb25zaXZlIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImRhdGUiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJoaWRlRGF0ZVBpY2tlckJ1dHRvbiI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiaXRlbXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJwYWRkaW5nIjogNCwKICAgICAgICAgICAgImFjY2Vzc2liaWxpdHlDb250cmFzdFByb3BlcnRpZXMiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgIndhdGVyZmFsbENoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImNvbHVtbkNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0dyYWRpZW50TGVnZW5kIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImNsdXN0ZXJlZENvbHVtbkNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0dyYWRpZW50TGVnZW5kIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImh1bmRyZWRQZXJjZW50U3RhY2tlZENvbHVtbkNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0dyYWRpZW50TGVnZW5kIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImJhckNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0dyYWRpZW50TGVnZW5kIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImNsdXN0ZXJlZEJhckNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0dyYWRpZW50TGVnZW5kIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImh1bmRyZWRQZXJjZW50U3RhY2tlZEJhckNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibGVnZW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvd0dyYWRpZW50TGVnZW5kIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImFyZWFDaGFydCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImdlbmVyYWwiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyZXNwb25zaXZlIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInN0YWNrZWRBcmVhQ2hhcnQiOiB7CiAgICAgICIqIjogewogICAgICAgICJnZW5lcmFsIjogWwogICAgICAgICAgewogICAgICAgICAgICAicmVzcG9uc2l2ZSI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJzbWFsbE11bHRpcGxlc0xheW91dCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgImJhY2tncm91bmRUcmFuc3BhcmVuY3kiOiAwLAogICAgICAgICAgICAiZ3JpZExpbmVUeXBlIjogImlubmVyIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJsaW5lQ2x1c3RlcmVkQ29sdW1uQ29tYm9DaGFydCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImdlbmVyYWwiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyZXNwb25zaXZlIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImxpbmVTdGFja2VkQ29sdW1uQ29tYm9DaGFydCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImdlbmVyYWwiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyZXNwb25zaXZlIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInNtYWxsTXVsdGlwbGVzTGF5b3V0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiYmFja2dyb3VuZFRyYW5zcGFyZW5jeSI6IDAsCiAgICAgICAgICAgICJncmlkTGluZVR5cGUiOiAiaW5uZXIiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInJpYmJvbkNoYXJ0IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInJlc3BvbnNpdmUiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAic21hbGxNdWx0aXBsZXNMYXlvdXQiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5IjogMCwKICAgICAgICAgICAgImdyaWRMaW5lVHlwZSI6ICJpbm5lciIKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJ2YWx1ZUF4aXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93IjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJodW5kcmVkUGVyY2VudFN0YWNrZWRBcmVhQ2hhcnQiOiB7CiAgICAgICIqIjogewogICAgICAgICJnZW5lcmFsIjogWwogICAgICAgICAgewogICAgICAgICAgICAicmVzcG9uc2l2ZSI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJzbWFsbE11bHRpcGxlc0xheW91dCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgImJhY2tncm91bmRUcmFuc3BhcmVuY3kiOiAwLAogICAgICAgICAgICAiZ3JpZExpbmVUeXBlIjogImlubmVyIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJncm91cCI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImJhY2tncm91bmQiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93IjogZmFsc2UKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAiYmFzaWNTaGFwZSI6IHsKICAgICAgIioiOiB7CiAgICAgICAgImJhY2tncm91bmQiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93IjogZmFsc2UKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJnZW5lcmFsIjogWwogICAgICAgICAgewogICAgICAgICAgICAia2VlcExheWVyT3JkZXIiOiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAidmlzdWFsSGVhZGVyIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInNoYXBlIjogewogICAgICAiKiI6IHsKICAgICAgICAiYmFja2dyb3VuZCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiBmYWxzZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImdlbmVyYWwiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJrZWVwTGF5ZXJPcmRlciI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJ2aXN1YWxIZWFkZXIiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93IjogZmFsc2UKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAiaW1hZ2UiOiB7CiAgICAgICIqIjogewogICAgICAgICJiYWNrZ3JvdW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgImtlZXBMYXllck9yZGVyIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInZpc3VhbEhlYWRlciI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiBmYWxzZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImxvY2tBc3BlY3QiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJzaG93IjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJhY3Rpb25CdXR0b24iOiB7CiAgICAgICIqIjogewogICAgICAgICJiYWNrZ3JvdW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAidmlzdWFsSGVhZGVyIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInBhZ2VOYXZpZ2F0b3IiOiB7CiAgICAgICIqIjogewogICAgICAgICJiYWNrZ3JvdW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAidmlzdWFsSGVhZGVyIjogWwogICAgICAgICAgewogICAgICAgICAgICAic2hvdyI6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgImJvb2ttYXJrTmF2aWdhdG9yIjogewogICAgICAiKiI6IHsKICAgICAgICAiYmFja2dyb3VuZCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiBmYWxzZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInZpc3VhbEhlYWRlciI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiBmYWxzZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJ0ZXh0Ym94IjogewogICAgICAiKiI6IHsKICAgICAgICAiZ2VuZXJhbCI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgImtlZXBMYXllck9yZGVyIjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInZpc3VhbEhlYWRlciI6IFsKICAgICAgICAgIHsKICAgICAgICAgICAgInNob3ciOiBmYWxzZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJwYWdlIjogewogICAgICAiKiI6IHsKICAgICAgICAib3V0c3BhY2UiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJjb2xvciI6IHsKICAgICAgICAgICAgICAic29saWQiOiB7CiAgICAgICAgICAgICAgICAiY29sb3IiOiAiI0ZGRkZGRiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJiYWNrZ3JvdW5kIjogWwogICAgICAgICAgewogICAgICAgICAgICAidHJhbnNwYXJlbmN5IjogMTAwCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9CiAgfQp9", + "payloadType": "InlineBase64"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '21794' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: POST + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/reports + response: + body: + string: 'null' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,Retry-After,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '24' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:22 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/41c1fe49-4f2d-41a4-8072-eca81d1802a0 + Pragma: + - no-cache + RequestId: + - 17c83c95-6336-42e2-9fdd-5973f8615c1e + Retry-After: + - '20' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + x-ms-operation-id: + - 41c1fe49-4f2d-41a4-8072-eca81d1802a0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/41c1fe49-4f2d-41a4-8072-eca81d1802a0 + response: + body: + string: '{"status": "Succeeded", "createdTimeUtc": "2025-12-23T11:31:23.571533", + "lastUpdatedTimeUtc": "2025-12-23T11:31:23.9152924", "percentComplete": 100, + "error": null}' + headers: + Access-Control-Expose-Headers: + - RequestId,Location,x-ms-operation-id + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '128' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:44 GMT + Location: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/41c1fe49-4f2d-41a4-8072-eca81d1802a0/result + Pragma: + - no-cache + RequestId: + - f2c9537e-643d-4653-a8ee-2c790450168b + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + x-ms-operation-id: + - 41c1fe49-4f2d-41a4-8072-eca81d1802a0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://wabi-us-central-b-primary-redirect.analysis.windows.net/v1/operations/41c1fe49-4f2d-41a4-8072-eca81d1802a0/result + response: + body: + string: '{"id": "8217b3b9-651a-4af0-9b62-ba0e37340f65", "type": "Report", "displayName": + "fabcli000001", "description": "Created by fab", "workspaceId": "a4843949-27b0-40ce-bbca-d5498698e0f1"}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Tue, 23 Dec 2025 11:31:46 GMT + Pragma: + - no-cache + RequestId: + - 740b6bc6-8bef-49f4-9476-60e78c2f3d8e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a4843949-27b0-40ce-bbca-d5498698e0f1", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1226' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:47 GMT + Pragma: + - no-cache + RequestId: + - 0eda210d-ab99-4384-a621-816e2b0bd18e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/items + response: + body: + string: '{"value": [{"id": "8217b3b9-651a-4af0-9b62-ba0e37340f65", "type": "Report", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "a4843949-27b0-40ce-bbca-d5498698e0f1"}, {"id": "b827b069-1573-4288-9964-8415956062ef", + "type": "SemanticModel", "displayName": "fabcli000001_auto", "description": + "", "workspaceId": "a4843949-27b0-40ce-bbca-d5498698e0f1"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '232' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:48 GMT + Pragma: + - no-cache + RequestId: + - 4e61f94e-b972-4436-b3a2-c41bf79f353b + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces + response: + body: + string: '{"value": [{"id": "3634a139-2c9e-4205-910b-3b089a31be47", "displayName": + "My workspace", "description": "", "type": "Personal"}, {"id": "a4843949-27b0-40ce-bbca-d5498698e0f1", + "displayName": "fabriccli_WorkspacePerTestclass_000001", "description": "Created + by fab", "type": "Workspace", "capacityId": "00000000-0000-0000-0000-000000000004"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '1226' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:49 GMT + Pragma: + - no-cache + RequestId: + - 5bc76b01-66d0-485c-b7f3-c64b5a6bcbaf + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: GET + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/items + response: + body: + string: '{"value": [{"id": "8217b3b9-651a-4af0-9b62-ba0e37340f65", "type": "Report", + "displayName": "fabcli000001", "description": "Created by fab", "workspaceId": + "a4843949-27b0-40ce-bbca-d5498698e0f1"}, {"id": "b827b069-1573-4288-9964-8415956062ef", + "type": "SemanticModel", "displayName": "fabcli000001_auto", "description": + "", "workspaceId": "a4843949-27b0-40ce-bbca-d5498698e0f1"}]}' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '232' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 23 Dec 2025 11:31:51 GMT + Pragma: + - no-cache + RequestId: + - 462c7efc-d0ca-431e-9b6c-93d3a9cc952e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - ms-fabric-cli-test/1.3.1 + method: DELETE + uri: https://api.fabric.microsoft.com/v1/workspaces/a4843949-27b0-40ce-bbca-d5498698e0f1/items/8217b3b9-651a-4af0-9b62-ba0e37340f65 + response: + body: + string: '' + headers: + Access-Control-Expose-Headers: + - RequestId + Cache-Control: + - no-store, must-revalidate, no-cache + Content-Encoding: + - gzip + Content-Length: + - '0' + Content-Type: + - application/octet-stream + Date: + - Tue, 23 Dec 2025 11:31:52 GMT + Pragma: + - no-cache + RequestId: + - 73d66ec8-d1f3-4834-8f99-3acf3e5469a3 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + home-cluster-uri: + - https://wabi-us-central-b-primary-redirect.analysis.windows.net/ + request-redirected: + - 'true' + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_commands/test_export.py b/tests/test_commands/test_export.py index 7077d3771..5049027cc 100644 --- a/tests/test_commands/test_export.py +++ b/tests/test_commands/test_export.py @@ -183,4 +183,93 @@ def test_export_workspace_with_no_items_supporting_export_failure( # Assert assert_fabric_cli_error(constant.ERROR_NOT_SUPPORTED) - # endregion + def test_export_notebook_py_format_success( + self, item_factory, cli_executor, mock_print_done, tmp_path + ): + # Setup + notebook = item_factory(ItemType.NOTEBOOK) + + # Reset mock + mock_print_done.reset_mock() + + # Execute command + cli_executor.exec_command( + f"export {notebook.full_path} --output {str(tmp_path)} --format .py --force" + ) + + # Assert + export_path = tmp_path / f"{notebook.display_name}.Notebook" + assert export_path.is_dir() + files = list(export_path.iterdir()) + assert len(files) == 2 + assert any(file.suffix == ".py" for file in files) + assert any(file.name == ".platform" for file in files) + mock_print_done.assert_called_once() + + def test_export_notebook_default_format_success( + self, item_factory, cli_executor, mock_print_done, tmp_path + ): + # Setup + notebook = item_factory(ItemType.NOTEBOOK) + + # Reset mock + mock_print_done.reset_mock() + + # Execute command without format (should use default format from definition_format_mapping) + cli_executor.exec_command( + f"export {notebook.full_path} --output {str(tmp_path)} --force" + ) + + # Assert - should use default format which is "?format=ipynb" resulting in .ipynb file + export_path = tmp_path / f"{notebook.display_name}.Notebook" + assert export_path.is_dir() + files = list(export_path.iterdir()) + assert len(files) == 2 + assert any(file.suffix == ".ipynb" for file in files) # Default format should be .ipynb + assert any(file.name == ".platform" for file in files) + mock_print_done.assert_called_once() + + def test_export_notebook_invalid_format_failure( + self, + item_factory, + cli_executor, + assert_fabric_cli_error, + mock_print_done, + tmp_path, + ): + # Setup + notebook = item_factory(ItemType.NOTEBOOK) + + # Reset mock + mock_print_done.reset_mock() + + # Execute command + cli_executor.exec_command( + f"export {notebook.full_path} --output {str(tmp_path)} --format .txt --force" + ) + + # Assert + assert_fabric_cli_error(constant.ERROR_INVALID_INPUT, "Invalid format. Only the following formats are supported: .py, .ipynb") + + def test_export_report_no_format_support_failure( + self, + item_factory, + cli_executor, + assert_fabric_cli_error, + mock_print_done, + tmp_path, + ): + # Setup + report = item_factory(ItemType.REPORT) + + # Reset mock + mock_print_done.reset_mock() + + # Execute command - Report doesn't have any format support in definition_format_mapping + cli_executor.exec_command( + f"export {report.full_path} --output {str(tmp_path)} --format .txt --force" + ) + + # Assert - should fail with error indicating no formats are supported + assert_fabric_cli_error(constant.ERROR_INVALID_INPUT, "No formats are supported") + \ No newline at end of file