Skip to content

Commit 1a6e37e

Browse files
committed
Handle LTS preview version
1 parent 3b07249 commit 1a6e37e

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

learnosity_sdk/request/dataapi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ def _derive_action(self, endpoint: str, action: str) -> str:
4747
path_parts = path.split('/')
4848
if len(path_parts) > 1:
4949
first_segment = path_parts[1].lower()
50-
# Match version patterns: v1, v2, v2023.1.lts, etc.
50+
# Match version patterns: v1, v2, v2023.1.lts, v2025.3.preview1, etc.
5151
# Also match: latest, latest-lts, developer
52-
if (re.fullmatch(r"v[\d.]+(?:\.lts)?", first_segment) or
52+
if (re.fullmatch(r"v[\d.]+(?:\.(?:lts|preview\d+))?", first_segment) or
5353
first_segment in ("latest", "latest-lts", "developer")):
5454
path = '/' + '/'.join(path_parts[2:])
5555

tests/unit/test_dataapi.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,19 @@ def test_derive_action_with_developer(self) -> None:
208208
action = client._derive_action('https://data.learnosity.com/developer/sessions/responses', 'get')
209209
assert action == 'get_/sessions/responses'
210210

211+
def test_derive_action_with_preview_version(self) -> None:
212+
"""Verify that preview version format like v2025.3.preview1 is correctly stripped"""
213+
client = DataApi()
214+
action = client._derive_action('https://data.learnosity.com/v2025.3.preview1/itembank/items', 'get')
215+
assert action == 'get_/itembank/items'
216+
217+
def test_derive_action_with_preview_version_multi_digit(self) -> None:
218+
"""Verify that preview version with multi-digit preview number is correctly stripped"""
219+
client = DataApi()
220+
action = client._derive_action('https://data.learnosity.com/v2025.1.preview123/itembank/questions', 'get')
221+
assert action == 'get_/itembank/questions'
222+
223+
211224
@responses.activate
212225
def test_metadata_headers_in_paginated_requests(self) -> None:
213226
"""Verify that metadata headers are sent in all paginated requests"""

0 commit comments

Comments
 (0)