Skip to content

Commit 48177cc

Browse files
committed
BLDX-608 | Fixed flaky tests - SSO group mapping update API now required name
1 parent 09ad9fb commit 48177cc

9 files changed

Lines changed: 25 additions & 11 deletions

File tree

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,11 @@ try:
118118
import pyatlan
119119
print(f"✅ PyAtlan imported successfully")
120120
print(f"Installed version: {pyatlan.__version__}")
121-
121+
122122
# Try importing AtlanClient
123123
from pyatlan.client.atlan import AtlanClient
124124
print(f"✅ AtlanClient imported successfully")
125-
125+
126126
# Version validation (skip if 'latest' was requested)
127127
if expected_version != "latest" and expected_version != "unknown":
128128
if pyatlan.__version__ != expected_version:
@@ -134,9 +134,9 @@ try:
134134
print("✅ Version verified")
135135
else:
136136
print("✅ Version validation skipped (latest or unknown)")
137-
137+
138138
print("=== Build verification passed ===")
139-
139+
140140
except ImportError as e:
141141
print(f"❌ Import error: {e}")
142142
sys.exit(1)

HISTORY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
- Updated Docker docs to reference Harbor pulls.
1616
- Added local Snyk scan instructions.
1717
- Limited uv resolution to CPython and bump urllib3 to fix CVEs.
18-
18+
1919
## 8.5.1 (January 29, 2026)
2020

2121
### Bug Fixes
@@ -26,7 +26,7 @@
2626

2727
- Enhanced SDK client retry mechanism to automatically retry HTTP `302` redirect responses, improving reliability when handling temporary redirects.
2828
- Updated admin integration tests to align with latest backend API changes.
29-
29+
3030

3131
## 8.5.0 (January 14, 2026)
3232

pyatlan/client/aio/sso.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ async def update_group_mapping(
7878
sso_alias: str,
7979
atlan_group: AtlanGroup,
8080
group_map_id: str,
81+
group_map_name: str,
8182
sso_group_name: str,
8283
) -> SSOMapper:
8384
"""
@@ -86,12 +87,13 @@ async def update_group_mapping(
8687
:param sso_alias: name of the SSO provider.
8788
:param atlan_group: existing Atlan group.
8889
:param group_map_id: existing SSO group map identifier.
90+
:param group_map_name: existing SSO group map name.
8991
:param sso_group_name: new SSO group name.
9092
:raises AtlanError: on any error during API invocation.
9193
:returns: updated SSO group mapping instance.
9294
"""
9395
endpoint, request_obj = SSOUpdateGroupMapping.prepare_request(
94-
sso_alias, atlan_group, group_map_id, sso_group_name
96+
sso_alias, atlan_group, group_map_id, group_map_name, sso_group_name
9597
)
9698
raw_json = await self._client._call_api(endpoint, request_obj=request_obj)
9799
return SSOUpdateGroupMapping.process_response(raw_json)

pyatlan/client/common/sso.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ def prepare_request(
9292
sso_alias: str,
9393
atlan_group: AtlanGroup,
9494
group_map_id: str,
95+
group_map_name: str,
9596
sso_group_name: str,
9697
) -> tuple:
9798
"""
@@ -100,6 +101,7 @@ def prepare_request(
100101
:param sso_alias: name of the SSO provider
101102
:param atlan_group: existing Atlan group
102103
:param group_map_id: existing SSO group map identifier
104+
:param group_map_name: existing SSO group map name
103105
:param sso_group_name: new SSO group name
104106
:returns: tuple of (endpoint, request_obj)
105107
"""
@@ -111,9 +113,9 @@ def prepare_request(
111113
attribute_value=sso_group_name,
112114
) # type: ignore[call-arg]
113115

114-
# NOTE: Updates don't require a group map name; group map ID works fine
115116
group_mapper = SSOMapper(
116117
id=group_map_id,
118+
name=group_map_name,
117119
config=group_mapper_config,
118120
identity_provider_alias=sso_alias,
119121
identity_provider_mapper=IDP_GROUP_MAPPER,

pyatlan/client/sso.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ def update_group_mapping(
7070
sso_alias: str,
7171
atlan_group: AtlanGroup,
7272
group_map_id: str,
73+
group_map_name: str,
7374
sso_group_name: str,
7475
) -> SSOMapper:
7576
"""
@@ -78,12 +79,13 @@ def update_group_mapping(
7879
:param sso_alias: name of the SSO provider.
7980
:param atlan_group: existing Atlan group.
8081
:param group_map_id: existing SSO group map identifier.
82+
:param group_map_name: existing SSO group map name.
8183
:param sso_group_name: new SSO group name.
8284
:raises AtlanError: on any error during API invocation.
8385
:returns: updated SSO group mapping instance.
8486
"""
8587
endpoint, request_obj = SSOUpdateGroupMapping.prepare_request(
86-
sso_alias, atlan_group, group_map_id, sso_group_name
88+
sso_alias, atlan_group, group_map_id, group_map_name, sso_group_name
8789
)
8890
raw_json = self._client._call_api(endpoint, request_obj=request_obj)
8991
return SSOUpdateGroupMapping.process_response(raw_json)

tests/integration/aio/test_sso_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,10 @@ def _assert_sso_group_mapping(
9292
assert sso_mapping.config.sync_mode == GROUP_MAPPER_SYNC_MODE
9393
assert sso_mapping.config.attribute_name == GROUP_MAPPER_ATTRIBUTE
9494
if is_updated:
95-
assert sso_mapping.name is None
95+
assert sso_mapping.name
9696
assert sso_mapping.config.attribute_value == SSO_GROUP_NAME_UPDATED
9797
else:
98+
assert sso_mapping.name
9899
assert group.id and (group.id in str(sso_mapping.name))
99100
assert sso_mapping.config.attribute_value == SSO_GROUP_NAME
100101

@@ -189,11 +190,13 @@ async def test_update_group_mapping(
189190
assert group
190191
assert sso_mapping
191192
assert sso_mapping.id
193+
assert sso_mapping.name
192194

193195
updated_mapping = await client.sso.update_group_mapping(
194196
sso_alias=AtlanSSO.JUMPCLOUD,
195197
atlan_group=group,
196198
group_map_id=sso_mapping.id,
199+
group_map_name=sso_mapping.name,
197200
sso_group_name=SSO_GROUP_NAME_UPDATED,
198201
)
199202
_assert_sso_group_mapping(group, updated_mapping, True)

tests/integration/test_sso_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,10 @@ def _assert_sso_group_mapping(
9292
assert sso_mapping.config.sync_mode == GROUP_MAPPER_SYNC_MODE
9393
assert sso_mapping.config.attribute_name == GROUP_MAPPER_ATTRIBUTE
9494
if is_updated:
95-
assert sso_mapping.name is None
95+
assert sso_mapping.name
9696
assert sso_mapping.config.attribute_value == SSO_GROUP_NAME_UPDATED
9797
else:
98+
assert sso_mapping.name
9899
assert group.id and (group.id in str(sso_mapping.name))
99100
assert sso_mapping.config.attribute_value == SSO_GROUP_NAME
100101

@@ -187,11 +188,13 @@ def test_update_group_mapping(
187188
assert group
188189
assert sso_mapping
189190
assert sso_mapping.id
191+
assert sso_mapping.name
190192

191193
updated_mapping = client.sso.update_group_mapping(
192194
sso_alias=AtlanSSO.JUMPCLOUD,
193195
atlan_group=group,
194196
group_map_id=sso_mapping.id,
197+
group_map_name=sso_mapping.name,
195198
sso_group_name=SSO_GROUP_NAME_UPDATED,
196199
)
197200
_assert_sso_group_mapping(group, updated_mapping, True)

tests/unit/aio/test_sso_client.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ async def test_sso_update_group_mapping(
274274
sso_alias="auth0",
275275
atlan_group=AtlanGroup(),
276276
group_map_id="group-map-id",
277+
group_map_name="group-map-name",
277278
sso_group_name="sso-group",
278279
)
279280
assert response == SSOMapper(**update_group_mapping_json)

tests/unit/test_sso_client.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ def test_sso_update_group_mapping(mock_api_caller, update_group_mapping_json):
265265
sso_alias="auth0",
266266
atlan_group=AtlanGroup(),
267267
group_map_id="group-map-id",
268+
group_map_name="group-map-name",
268269
sso_group_name="sso-group",
269270
)
270271
assert response == SSOMapper(**update_group_mapping_json)

0 commit comments

Comments
 (0)