| |
@@ -0,0 +1,413 @@
|
| |
+ # --- BEGIN COPYRIGHT BLOCK ---
|
| |
+ # Copyright (C) 2019 Red Hat, Inc.
|
| |
+ # All rights reserved.
|
| |
+ #
|
| |
+ # License: GPL (version 3 or any later version).
|
| |
+ # See LICENSE for details.
|
| |
+ # --- END COPYRIGHT BLOCK ----
|
| |
+
|
| |
+ """
|
| |
+ verify and testing Filter from a search
|
| |
+ """
|
| |
+
|
| |
+ import os
|
| |
+ import pytest
|
| |
+
|
| |
+ from lib389._constants import DEFAULT_SUFFIX, PW_DM
|
| |
+ from lib389.topologies import topology_st as topo
|
| |
+ from lib389.idm.organizationalunit import OrganizationalUnits
|
| |
+ from lib389.idm.account import Accounts
|
| |
+ from lib389.idm.user import UserAccount, UserAccounts
|
| |
+ from lib389.schema import Schema
|
| |
+ from lib389.idm.role import ManagedRoles, FilterRoles
|
| |
+
|
| |
+ pytestmark = pytest.mark.tier1
|
| |
+
|
| |
+ FILTER_MIAL_900 = "(mailquota<=900)"
|
| |
+ FILTER_MIAL_600 = "(mailquota<=600)"
|
| |
+ FILTER_MIAL_100 = "(mailquota<=100)"
|
| |
+ FILTER_MIAL_100_L = "(mailquota>=100)"
|
| |
+ FILTER_MIAL_600_G = "(mailquota>=600)"
|
| |
+ FILTER_MIAL_900_G = "(mailquota>=900)"
|
| |
+ FILTER_MIAL_100_EL = "(mailquota:2.16.840.1.113730.3.3.2.18.1:=<=100)"
|
| |
+ FILTER_MIAL_FR = "(mailquota:fr:=<=100)"
|
| |
+ FILTER_MIAL_100_E = "(mailquota:2.16.840.1.113730.3.3.2.18.1.2:=100)"
|
| |
+ FILTER_MIAL_600_ELE = "(mailquota:2.16.840.1.113730.3.3.2.18.1:=<=600)"
|
| |
+ FILTER_MIAL_FR_600 = "(mailquota:fr:=<=600)"
|
| |
+ FILTER_MIAL_E_600 = "(mailquota:2.16.840.1.113730.3.3.2.18.1.2:=600)"
|
| |
+ FILTER_MIAL_ELE_900 = "(mailquota:2.16.840.1.113730.3.3.2.18.1:=<=900)"
|
| |
+ FILTER_MIAL_FR_ELE_900 = "(mailquota:fr:=<=900)"
|
| |
+ FILTER_MIAL_E_900 = "(mailquota:2.16.840.1.113730.3.3.2.18.1.2:=900)"
|
| |
+ FILTER_MIAL_EGE_900 = "(mailquota:2.16.840.1.113730.3.3.2.18.1:=>=900)"
|
| |
+ FILTER_MIAL_FR_EGE_900 = "(mailquota:fr:=>=900)"
|
| |
+ FILTER_MIAL_E_900_2 = "(mailquota:2.16.840.1.113730.3.3.2.18.1.4:=900)"
|
| |
+ FILTER_MIAL_EGE_600 = "(mailquota:2.16.840.1.113730.3.3.2.18.1:=>=600)"
|
| |
+ FILTER_MIAL_FR_EGE_600 = "(mailquota:fr:=>=600)"
|
| |
+ FILTER_MIAL_E_600_2 = "(mailquota:2.16.840.1.113730.3.3.2.18.1.4:=600)"
|
| |
+ FILTER_MIAL_EGE_100 = "(mailquota:2.16.840.1.113730.3.3.2.18.1:=>=100)"
|
| |
+ FILTER_MIAL_FR_EGE_100 = "(mailquota:fr:=>=100)"
|
| |
+ FILTER_MIAL_E_100 = "(mailquota:2.16.840.1.113730.3.3.2.18.1.4:=100)"
|
| |
+ FILTER_NS_MANAGE = "(nsRole~=cn=new managed)"
|
| |
+ FILTER_NS_NEW = "(nsRole~=cn=new)"
|
| |
+ FILTER_ATTRIBUTE = "(Description=This is the special \\2a attribute value)"
|
| |
+ FILTER_DES = "(Description=*\\2a*)"
|
| |
+ FILTER_VADDER = "(nsRole=cn=new vaddr filtered role,dc=example,dc=com)"
|
| |
+ FILTER_WAL = "(uid=*wal*)"
|
| |
+ FILTER_ANOTHER = "(nsRole=cn=*another*)"
|
| |
+ FILTER_MW = "(uid=mw*)"
|
| |
+ FILTER_RN = "(roomNumber=0312)"
|
| |
+ FILTER_L = "(l=Cupertino)"
|
| |
+ FILTER_USER1 = "(uid=user1)"
|
| |
+ FILTER_OBJECT = "(objectclass=inetorgperson)"
|
| |
+ FILTER_NS_VADD = "(nsRole=cn=*vaddr*)"
|
| |
+ FILTER_L_S = "(l=sunnyvale)"
|
| |
+ FILTER_USER20 = "(uid=user20)"
|
| |
+ FILTER_USER30 = "(uid=user30)"
|
| |
+ FILTER_CN = "(nsRole=cn=another vaddr role,dc=example,dc=com)"
|
| |
+ FILTER_RN_3924 = "(roomNumber=3924)"
|
| |
+ FILTER_RN_4508 = "(roomNumber=4508)"
|
| |
+ FILTER_USER40 = "(uid=user40)"
|
| |
+ FILTER_RN_2254 = "(roomNumber=2254)"
|
| |
+ FILTER_L_ALL = "(l=*)"
|
| |
+ FILTER_OBJ_ALL = "(objectclass=*)"
|
| |
+
|
| |
+ VALUES = [FILTER_MIAL_600, FILTER_MIAL_600_G, FILTER_NS_NEW, FILTER_WAL, FILTER_MW, FILTER_RN,
|
| |
+ FILTER_L, FILTER_USER1, FILTER_OBJECT, FILTER_L_S, FILTER_RN_3924, FILTER_L_ALL,
|
| |
+ FILTER_OBJ_ALL, FILTER_MIAL_900, FILTER_MIAL_100_L, FILTER_MIAL_E_600, FILTER_MIAL_E_900,
|
| |
+ FILTER_MIAL_EGE_900, FILTER_MIAL_FR_EGE_900, FILTER_MIAL_EGE_600, FILTER_MIAL_FR_EGE_600,
|
| |
+ FILTER_MIAL_E_600_2, FILTER_MIAL_EGE_100, FILTER_MIAL_FR_EGE_100, FILTER_MIAL_E_100]
|
| |
+
|
| |
+ VALUES_NEGATIVE = [FILTER_MIAL_100, FILTER_MIAL_900_G, FILTER_NS_MANAGE, FILTER_VADDER,
|
| |
+ FILTER_ANOTHER, FILTER_NS_VADD, FILTER_USER20, FILTER_USER30, FILTER_CN,
|
| |
+ FILTER_RN_4508, FILTER_USER40, FILTER_RN_2254, FILTER_MIAL_100_EL,
|
| |
+ FILTER_MIAL_FR, FILTER_MIAL_100_E, FILTER_MIAL_600_ELE, FILTER_MIAL_FR_600,
|
| |
+ FILTER_MIAL_ELE_900, FILTER_MIAL_FR_ELE_900, FILTER_MIAL_E_900_2,
|
| |
+ FILTER_ATTRIBUTE, FILTER_DES]
|
| |
+
|
| |
+
|
| |
+ def non_english_user(people, user, cn_cn, ou_ou, des, tele, facetele, be_be, lang):
|
| |
+ """
|
| |
+ Will create users with non english name
|
| |
+ """
|
| |
+ people.create(properties={
|
| |
+ 'uid': user,
|
| |
+ 'cn': cn_cn,
|
| |
+ 'sn': cn_cn.split()[1].title(),
|
| |
+ 'givenname': cn_cn.split()[0],
|
| |
+ 'ou': ou_ou,
|
| |
+ 'mail': f'{user}@anujborah.com',
|
| |
+ 'uidNumber': '1000',
|
| |
+ 'gidNumber': '2000',
|
| |
+ 'homeDirectory': '/home/' + user,
|
| |
+ 'telephoneNumber': tele,
|
| |
+ 'facsimileTelephoneNumber': facetele,
|
| |
+ f'cn;lang-{be_be}': lang,
|
| |
+ f'sn;lang-{be_be}': lang.split()[1],
|
| |
+ f'givenName;lang-{be_be}': lang.split()[0],
|
| |
+ 'userpassword': PW_DM,
|
| |
+ 'manager': 'uid=' + user + ',ou=' + ou_ou + ',' + DEFAULT_SUFFIX,
|
| |
+ 'description': des
|
| |
+ })
|
| |
+
|
| |
+
|
| |
+ def english_named_user(people, user, org, l_l, telephone, facsimile_telephone_number, rn_rn):
|
| |
+ """
|
| |
+ Will create users with English name
|
| |
+ """
|
| |
+ people.create(properties={
|
| |
+ 'uid': user,
|
| |
+ 'cn': user,
|
| |
+ 'sn': user,
|
| |
+ 'uidNumber': '1000',
|
| |
+ 'gidNumber': '2000',
|
| |
+ 'homeDirectory': '/home/' + user,
|
| |
+ 'givenname': user,
|
| |
+ 'ou': org,
|
| |
+ 'mail': f'{user}@example.com',
|
| |
+ 'roomnumber': rn_rn,
|
| |
+ 'l': l_l,
|
| |
+ 'telephonenumber': telephone,
|
| |
+ 'manager': f'uid={user},ou=People,{DEFAULT_SUFFIX}',
|
| |
+ 'facsimiletelephonenumber': facsimile_telephone_number,
|
| |
+ 'userpassword': PW_DM,
|
| |
+ })
|
| |
+
|
| |
+
|
| |
+ def user_with_postal_code(people, user, address, pin):
|
| |
+ """
|
| |
+ Will create users with postal Address
|
| |
+ """
|
| |
+ people.create(properties={
|
| |
+ 'uid': user,
|
| |
+ 'cn': user,
|
| |
+ 'sn': user,
|
| |
+ 'uidNumber': '1000',
|
| |
+ 'gidNumber': '2000',
|
| |
+ 'homeDirectory': '/home/' + user,
|
| |
+ 'postalAddress': address,
|
| |
+ 'postalCode': pin,
|
| |
+ })
|
| |
+
|
| |
+
|
| |
+ @pytest.fixture(scope="module")
|
| |
+ def _create_test_entries(topo):
|
| |
+ # Changing schema
|
| |
+ schama = Schema(topo.standalone)
|
| |
+ schama.add('attributetypes',
|
| |
+ "( 9.9.8.4 NAME 'emailclass' "
|
| |
+ "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'RFC 2256' )")
|
| |
+ schama.add('objectclasses',
|
| |
+ "( 9.9.8.2 NAME 'mailSchemeUser' DESC 'User Defined ObjectClass' "
|
| |
+ "SUP 'top' MUST ( objectclass ) "
|
| |
+ "MAY (aci $ emailclass) X-ORIGIN 'RFC 2256' )")
|
| |
+
|
| |
+ # Creating ous
|
| |
+ ous = OrganizationalUnits(topo.standalone, DEFAULT_SUFFIX)
|
| |
+ for ou_ou in ['Çéliné Ändrè', 'Ännheimè', 'Çlose Crèkä',
|
| |
+ 'Sà n Fråncêscô', 'Netscape Servers',
|
| |
+ 'COS', ]:
|
| |
+ ous.create(properties={'ou': ou_ou})
|
| |
+
|
| |
+ ous_mail = OrganizationalUnits(topo.standalone, f'ou=COS,{DEFAULT_SUFFIX}')
|
| |
+ ous_mail.create(properties={'ou': 'MailSchemeClasses'})
|
| |
+
|
| |
+ # Creating users
|
| |
+ users_people = UserAccounts(topo.standalone, DEFAULT_SUFFIX)
|
| |
+ for user, org, l_l, telephone, facetele, rn_rn in [
|
| |
+ ['scarter', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '4612'],
|
| |
+ ['tmorris', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9187', '+1 408 555 8473', '4117'],
|
| |
+ ['kvaughan', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 5625', ' +1 408 555 3372', '2871'],
|
| |
+ ['abergin', ['Product Testing', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 8585', '+1 408 555 7472', '3472'],
|
| |
+ ['dmiller', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 9423', '+1 408 555 0111', '4135'],
|
| |
+ ['gfarmer', ['Accounting', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 6201', '+1 408 555 8473', '1269'],
|
| |
+ ['kwinters', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9069', '+1 408 555 1992', '4178'],
|
| |
+ ['trigden', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9280', '+1 408 555 8473', '3584'],
|
| |
+ ['cschmith', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 8011', '+1 408 555 4774', '0416'],
|
| |
+ ['jwallace', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 0319', '+1 408 555 8473', '1033'],
|
| |
+ ['jwalker', ['Product Testing', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 1476', '+1 408 555 1992', '3915'],
|
| |
+ ['tclow', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 8825', '+1 408 555 1992', '4376'],
|
| |
+ ['rdaugherty', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 1296', '+1 408 555 1992', '0194'],
|
| |
+ ['jreuter', ['Product Testing', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 1122', '+1 408 555 8721', '2942'],
|
| |
+ ['tmason', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 1596', '+1 408 555 9751', '1124'],
|
| |
+ ['bhall', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '4612'],
|
| |
+ ['btalbot', ['Human Resources', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '3532'],
|
| |
+ ['mward', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '1707'],
|
| |
+ ['bjablons', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '0906'],
|
| |
+ ['jmcFarla', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '2359'],
|
| |
+ ['llabonte', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '2854'],
|
| |
+ ['jcampaig', ['Product Development', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '4385'],
|
| |
+ ['bhal2', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '2758'],
|
| |
+ ['alutz', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '1327'],
|
| |
+ ['btalbo2', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '1205'],
|
| |
+ ['achassin', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '0466'],
|
| |
+ ['hmiller', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '4304'],
|
| |
+ ['jcampai2', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '1377'],
|
| |
+ ['lulrich', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '0985'],
|
| |
+ ['mlangdon', ['Product Development', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '4471'],
|
| |
+ ['striplet', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '3083'],
|
| |
+ ['gtriplet', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '4023'],
|
| |
+ ['jfalena', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '1917'],
|
| |
+ ['speterso', ['Human Resources', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '3073'],
|
| |
+ ['ejohnson', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '3737'],
|
| |
+ ['prigden', ['Accounting', 'People'], 'Santa',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '1271'],
|
| |
+ ['bwalker', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 6067', '+1 408 555 9751', '3529'],
|
| |
+ ['kjensen', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '1944'],
|
| |
+ ['mlott', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '0498'],
|
| |
+ ['cwallace', ['Product Development', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '0349'],
|
| |
+ ['falbers', ['Accounting', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '1439'],
|
| |
+ ['calexand', ['Product Development', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '2884'],
|
| |
+ ['phunt', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '1183'],
|
| |
+ ['awhite', ['Product Testing', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '0142'],
|
| |
+ ['sfarmer', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '0019'],
|
| |
+ ['jrentz', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '3025'],
|
| |
+ ['ahall', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '3050'],
|
| |
+ ['lstockto', ['Product Testing', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 0518', '+1 408 555 4774', '0169'],
|
| |
+ ['ttully', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 2274', '+1 408 555 0111', '3924'],
|
| |
+ ['polfield', ['Human Resources', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '1376'],
|
| |
+ ['scarte2', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4798', '+1 408 555 9751', '2013'],
|
| |
+ ['tkelly', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 4295', '+1 408 555 1992', '3107'],
|
| |
+ ['mmcinnis', ['Product Development', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '4818'],
|
| |
+ ['brigden', ['Human Resources', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '1643'],
|
| |
+ ['mtyler', ['Human Resources', 'People'], 'Cupertino',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '2701'],
|
| |
+ ['rjense2', ['Product Testing', 'People'], 'Sunnyvale',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '1984'],
|
| |
+ ['rhunt', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '0718'],
|
| |
+ ['ptyler', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '0327'],
|
| |
+ ['gtyler', ['Accounting', 'People'], 'Santa Clara',
|
| |
+ '+1 408 555 9655', '+1 408 555 8721', '0312']]:
|
| |
+ english_named_user(users_people, user, org, l_l, telephone, facetele, rn_rn)
|
| |
+
|
| |
+ # Creating Users
|
| |
+ users_annahame = UserAccounts(topo.standalone, f'ou=Ännheimè,{DEFAULT_SUFFIX}', rdn=None)
|
| |
+ users_sanfran = UserAccounts(topo.standalone, f'ou=Sà n Fråncêscô,{DEFAULT_SUFFIX}', rdn=None)
|
| |
+ users_andre = UserAccounts(topo.standalone, f'ou=Çéliné Ändrè,{DEFAULT_SUFFIX}', rdn=None)
|
| |
+ users_close = UserAccounts(topo.standalone, f'ou=Çlose Crèkä,{DEFAULT_SUFFIX}', rdn=None)
|
| |
+ for people, user, cn_cn, ou_ou, des, tele, facetele, be_be, lang in [
|
| |
+ [users_annahame, 'user0', 'Babette Ryndérs', 'Ännheimè',
|
| |
+ 'This is Babette Ryndérs description', '+1 415 788-4115',
|
| |
+ '+1 804 849-2367', 'es', 'Babette Ryndérs'],
|
| |
+ [users_sanfran, 'user1', 'mÿrty DeCoùrsin', 'Sà n Fråncêscô',
|
| |
+ 'This is mÿrty DeCoùrsins description', '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'ie', 'mÿrty DeCoùrsin'],
|
| |
+ [users_sanfran, 'user3', 'Kéñnon Fùndérbùrg', 'Sà n Fråncêscô',
|
| |
+ "This is Kéñnon Fùndérbùrg's description", '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'it', 'Kéñnon Fùndérbùrg'],
|
| |
+ [users_sanfran, 'user5', 'Dà sya Cozà rt', 'Sà n Fråncêscô',
|
| |
+ "This is Dà sya Cozà rt's description", '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'be', 'Dà sya Cozà rt'],
|
| |
+ [users_andre, 'user2', "Rôw O'Connér", 'Çéliné Ändrè',
|
| |
+ "This is Rôw O'Connér's description", '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'it', "Rôw O'Connér"],
|
| |
+ [users_andre, 'user4', 'Theadora Ebérle', 'Çéliné Ändrè',
|
| |
+ "This is Kéñnon Fùndérbùrg's description", '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'de', 'Theadora Ebérle'],
|
| |
+ [users_andre, 'user6', 'mÿrv Callânân', 'Çéliné Ändrè',
|
| |
+ "This is mÿrv Callânân's description", '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'fr', 'mÿrv Callânân'],
|
| |
+ [users_close, 'user7', 'Ñäthan Ovâns', 'Çlose Crèkä',
|
| |
+ "This is Ñäthan Ovâns's description", '+1 408 689-8883',
|
| |
+ '+1 804 849-2367', 'be', 'Ñäthan Ovâns']]:
|
| |
+ non_english_user(people, user, cn_cn, ou_ou, des, tele, facetele, be_be, lang)
|
| |
+
|
| |
+ # Creating User Entry
|
| |
+ for user, address, pin in [
|
| |
+ ['Secretary1', '123 Castro St., Mountain View, CA', '99999'],
|
| |
+ ['Secretary2', '234 Ellis St., Mountain View, CA', '88888'],
|
| |
+ ['Secretary3', '345 California Av., Mountain View, CA', '77777'],
|
| |
+ ['Secretary4', '456 Villa St., Mountain View, CA', '66666'],
|
| |
+ ['Secretary5', '567 University Av., Mountain View, CA', '55555']]:
|
| |
+ user_with_postal_code(users_people, user, address, pin)
|
| |
+
|
| |
+ # Adding properties to mtyler
|
| |
+ mtyler = UserAccount(topo.standalone, 'uid=mtyler, ou=people, dc=example, dc=com')
|
| |
+ for value1, value2 in [
|
| |
+ ('objectclass', ['mailSchemeUser', 'mailRecipient']),
|
| |
+ ('emailclass', 'vpemail'),
|
| |
+ ('mailquota', '600'),
|
| |
+ ('multiLineDescription', 'fromentry This is the special \2a attribute value')]:
|
| |
+ mtyler.add(value1, value2)
|
| |
+
|
| |
+ # Adding properties to rjense2
|
| |
+ rjense2 = UserAccount(topo.standalone, 'uid=rjense2, ou=people, dc=example, dc=com')
|
| |
+ for value1, value2 in [
|
| |
+ ('objectclass', ['mailRecipient', 'mailSchemeUser']),
|
| |
+ ('emailclass', 'vpemail')]:
|
| |
+ rjense2.add(value1, value2)
|
| |
+
|
| |
+ # Creating managed role
|
| |
+ ManagedRoles(topo.standalone, DEFAULT_SUFFIX).create(properties={
|
| |
+ 'description': 'This is the new managed role configuration',
|
| |
+ 'cn': 'new managed role'})
|
| |
+
|
| |
+ # Creating filter role
|
| |
+ filters = FilterRoles(topo.standalone, DEFAULT_SUFFIX)
|
| |
+ filters.create(properties={
|
| |
+ 'nsRoleFilter': '(uid=*wal*)',
|
| |
+ 'description': 'this is the new filtered role',
|
| |
+ 'cn': 'new filtered role'})
|
| |
+ filters.create(properties={
|
| |
+ 'nsRoleFilter': '(&(postalCode=77777)(uid=*er*))',
|
| |
+ 'description': 'This is the new vddr filter role config',
|
| |
+ 'cn': 'new vaddr filtered role'
|
| |
+ })
|
| |
+ filters.create(properties={
|
| |
+ 'nsRoleFilter': '(&(postalCode=66666)(l=Cupertino))',
|
| |
+ 'description': 'This is the new vddr filter role config',
|
| |
+ 'cn': 'another vaddr role'
|
| |
+ })
|
| |
+
|
| |
+
|
| |
+ @pytest.mark.parametrize("real_value", VALUES)
|
| |
+ def test_param_positive(topo, _create_test_entries, real_value):
|
| |
+ """
|
| |
+ Will test Filters with positive output.
|
| |
+ :id:71de14a4-9f22-11e8-b5cc-8c16451d917b
|
| |
+ :setup: Standalone Server
|
| |
+ :steps:
|
| |
+ 1. Create Filter rules.
|
| |
+ 2. Try to pass filter rules as per the condition .
|
| |
+ :expected results:
|
| |
+ 1. It should pass
|
| |
+ 2. It should pass
|
| |
+ """
|
| |
+ assert Accounts(topo.standalone, DEFAULT_SUFFIX).filter(real_value)
|
| |
+
|
| |
+
|
| |
+ @pytest.mark.parametrize("real_value", VALUES_NEGATIVE)
|
| |
+ def test_param_negative(topo, _create_test_entries, real_value):
|
| |
+ """
|
| |
+ Will test Filetrs with 0 outputs
|
| |
+ :id:81054e7a-9f22-11e8-a461-8c16451d917b
|
| |
+ :setup: Standalone Server
|
| |
+ :steps:
|
| |
+ 1. Create Filter rules.
|
| |
+ 2. Try to pass filter rules as per the condition .
|
| |
+ 3. All Filters will give 0 output as these are negative test cases.
|
| |
+ :expected results:
|
| |
+ 1. It should pass
|
| |
+ 2. It should pass
|
| |
+ 3. no output
|
| |
+ """
|
| |
+ assert not Accounts(topo.standalone, DEFAULT_SUFFIX).filter(real_value)
|
| |
+
|
| |
+
|
| |
+ if __name__ == '__main__':
|
| |
+ CURRENT_FILE = os.path.realpath(__file__)
|
| |
+ pytest.main("-s -v %s" % CURRENT_FILE)
|
| |
Investigate and port TET matching rules filter tests(vfilter simple another)
Relates/Fixes: https://pagure.io/389-ds-base/issue/48851
Reviewed by: ???