def test_user_b_mail_alt_equal_user_a_mail_primary_with_mail_copy_to_self( mail_forward_copy_to_self, delivered): print( "### user_b's mail_alternative_address is equal to user_a's mail forward address" ) with udm_test.UCSTestUDM() as udm: a_user = Bunch() a_user.mailPrimaryAddress = random_email() a_user.mailHomeServer = FQDN a_user.mailForwardAddress = random_email() a_user.dn, a_user.username = udm.create_user( set={ "mailHomeServer": a_user.mailHomeServer, "mailPrimaryAddress": a_user.mailPrimaryAddress, "mailForwardAddress": a_user.mailForwardAddress, "mailForwardCopyToSelf": mail_forward_copy_to_self, }) b_user = Bunch() b_user.mailPrimaryAddress = random_email() b_user.mailHomeServer = FQDN b_user.dn, a_user.username = udm.create_user( set={ "mailHomeServer": b_user.mailHomeServer, "mailPrimaryAddress": b_user.mailPrimaryAddress, "mailAlternativeAddress": a_user.mailPrimaryAddress, }) token = make_token() send_mail(recipients=a_user.mailPrimaryAddress, msg=token, debuglevel=DEBUG_LEVEL) check_delivery(token, a_user.mailPrimaryAddress, delivered) check_delivery(token, b_user.mailPrimaryAddress, True)
def random_mail_user(udm, mail_alternative_address=None): if mail_alternative_address is None: mail_alternative_address = random_email() user = Bunch() user.mailPrimaryAddress = random_email() user.mailAlternativeAddress = mail_alternative_address user.mailHomeServer = FQDN user.dn, user.username = udm.create_user( set={ "mailHomeServer": user.mailHomeServer, "mailPrimaryAddress": user.mailPrimaryAddress, "mailAlternativeAddress": user.mailAlternativeAddress, }) return user
def test_group_mail_in_mailing_list(): with udm_test.UCSTestUDM() as udm: group_members = [] group_mails = [] for i in range(2): user = random_mail_user(udm=udm) group_members.append(user.dn) group_mails.append(user.mailPrimaryAddress) group_mail = random_email() udm.create_group(set={ "mailAddress": group_mail, "users": group_members }) list_name = uts.random_name() list_mail = "%s@%s" % (list_name, DOMAIN) udm.create_object("mail/lists", set={ "name": list_name, "mailAddress": list_mail, "members": [group_mail] }, wait_for_drs_replication=True) token = make_token() send_mail(recipients=list_mail, msg=token, debuglevel=DEBUG_LEVEL) for mail in group_mails: check_delivery(token, mail, True)
def test_group_mail_equal_user_mail_alt(): print( "### The group's mail is identical to a users mail_alternative_address" ) with udm_test.UCSTestUDM() as udm: group_mail = random_email() user_a = random_mail_user(udm=udm, mail_alternative_address=group_mail) user_b = random_mail_user(udm=udm) udm.create_group(set={"mailAddress": group_mail, "users": [user_b.dn]}) token = make_token() send_mail(recipients=group_mail, msg=token, debuglevel=DEBUG_LEVEL) check_delivery(token, user_a.mailPrimaryAddress, True) check_delivery(token, user_b.mailPrimaryAddress, True)