Preview one uid's directory groups for sign-in diagnosis (NK-WP-0051-T04).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 1041694@bnt-lap001 Assistant-Session: 7af0bb68-ac4a-4ce3-8639-24ddd84c0b52
This commit is contained in:
parent
106d97f4a8
commit
2cc09ceb05
4 changed files with 60 additions and 5 deletions
|
|
@ -186,6 +186,34 @@ def test_list_is_nonmutating_and_verification_does_not_claim_acceptance():
|
|||
assert provider.writes == []
|
||||
|
||||
|
||||
def test_groups_preview_lists_display_names_for_one_uid_without_writes():
|
||||
provider = Directory()
|
||||
result = admin.maintain(provider, 'https://lldap.coulomb.social', 'groups', user='tegwick')
|
||||
assert result == {'result': 'groups_observed', 'uid': 'tegwick',
|
||||
'groups': ['activity-core-operators', 'lldap_admin'], 'native_acceptance': 'unverified'}
|
||||
assert provider.writes == []
|
||||
|
||||
|
||||
@pytest.mark.parametrize('kwargs', [{'user': 'nobody'}, {'user': 'Bad uid'}, {'user': None},
|
||||
{'user': 'tegwick', 'group': 'lldap_admin'},
|
||||
{'user': 'tegwick', 'apply': True, 'expected_digest': '0' * 64}])
|
||||
def test_groups_preview_refuses_unknown_or_malformed_requests(kwargs):
|
||||
provider = Directory()
|
||||
with pytest.raises(admin.Refused):
|
||||
admin.maintain(provider, 'https://lldap.coulomb.social', 'groups', **kwargs)
|
||||
assert provider.writes == []
|
||||
|
||||
|
||||
def test_groups_cli_has_no_apply_and_prints_only_diagnosis_fields():
|
||||
out = io.StringIO()
|
||||
with patch.object(admin, 'private_password', return_value='fixture'), patch.object(admin, 'LLDAPProvisioner', return_value=Directory()), contextlib.redirect_stdout(out):
|
||||
assert admin.main(['groups', '--root', '/fixture', '--user', 'agent-codex']) == 0
|
||||
assert json.loads(out.getvalue()) == {'groups': ['tenant:one:users'], 'native_acceptance': 'unverified',
|
||||
'result': 'groups_observed', 'uid': 'agent-codex'}
|
||||
with contextlib.redirect_stderr(io.StringIO()):
|
||||
assert admin.main(['groups', '--root', '/fixture', '--user', 'agent-codex', '--apply']) == 1
|
||||
|
||||
|
||||
@pytest.mark.parametrize('payload', [{}, {'users': [], 'groups': None}, {'users': [{'id': 'same'}, {'id': 'same'}], 'groups': []},
|
||||
{'users': [], 'groups': [{'id': True, 'displayName': 'a', 'users': []}]},
|
||||
{'users': [], 'groups': [{'id': 1, 'displayName': 'a', 'users': [{'id': 'unknown'}]}]},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue