expected_sname=None,
expected_account_name=None,
expected_groups=None,
+ unexpected_groups=None,
expected_upn_name=None,
expected_sid=None,
expected_supported_etypes=None,
'expected_sname': expected_sname,
'expected_account_name': expected_account_name,
'expected_groups': expected_groups,
+ 'unexpected_groups': unexpected_groups,
'expected_upn_name': expected_upn_name,
'expected_sid': expected_sid,
'expected_supported_etypes': expected_supported_etypes,
expected_sname=None,
expected_account_name=None,
expected_groups=None,
+ unexpected_groups=None,
expected_upn_name=None,
expected_sid=None,
expected_supported_etypes=None,
'expected_sname': expected_sname,
'expected_account_name': expected_account_name,
'expected_groups': expected_groups,
+ 'unexpected_groups': unexpected_groups,
'expected_upn_name': expected_upn_name,
'expected_sid': expected_sid,
'expected_supported_etypes': expected_supported_etypes,
expected_account_name = kdc_exchange_dict['expected_account_name']
expected_groups = kdc_exchange_dict['expected_groups']
+ unexpected_groups = kdc_exchange_dict['unexpected_groups']
expected_sid = kdc_exchange_dict['expected_sid']
expect_upn_dns_info_ex = kdc_exchange_dict['expect_upn_dns_info_ex']
match_count += 1
self.assertEqual(match_count, len(expected_groups))
+ if unexpected_groups is not None:
+ match_count = 0
+
+ for g in unexpected_groups:
+ self.assertIsNotNone(info3.sids)
+ for sid_attr in info3.sids:
+ if g == str(sid_attr.sid):
+ match_count += 1
+ self.assertEqual(match_count, 0)
+
elif pac_buffer.type == krb5pac.PAC_TYPE_UPN_DNS_INFO:
upn_dns_info = pac_buffer.info
upn_dns_info_ex = upn_dns_info.ex
renew_time=None,
expected_account_name=None,
expected_groups=None,
+ unexpected_groups=None,
expected_upn_name=None,
expected_sid=None,
expected_flags=None,
expected_sname=expected_sname,
expected_account_name=expected_account_name,
expected_groups=expected_groups,
+ unexpected_groups=unexpected_groups,
expected_upn_name=expected_upn_name,
expected_sid=expected_sid,
expected_supported_etypes=expected_supported_etypes,
expect_edata = kdc_dict.pop('expect_edata', None)
expected_groups = kdc_dict.pop('expected_groups', None)
+ unexpected_groups = kdc_dict.pop('unexpected_groups', None)
def generate_s4u2self_padata(_kdc_exchange_dict,
_callback_dict,
expected_srealm=realm,
expected_sname=service_sname,
expected_account_name=client_name,
- expected_groups=expected_groups,
+ unexpected_groups=unexpected_groups,
expected_sid=sid,
expected_flags=expected_flags,
unexpected_flags=unexpected_flags,
opts=service1_opts)
expected_groups = kdc_dict.pop('expected_groups', None)
+ unexpected_groups = kdc_dict.pop('unexpected_groups', None)
client_tkt_options = kdc_dict.pop('client_tkt_options', 'forwardable')
expected_flags = krb5_asn1.TicketFlags(client_tkt_options)
expected_sname=service2_sname,
expected_account_name=client_username,
expected_groups=expected_groups,
+ unexpected_groups=unexpected_groups,
expected_sid=sid,
expected_supported_etypes=service2_etypes,
ticket_decryption_key=service2_decryption_key,