def test_schema(self): """Test schema parsing.""" # Disable W0212: Test access protected members of admin module. # pylint: disable=W0212 attrs = [ '{0}( %s NAME x1 DESC \'x x\'' ' ORDERING integerOrderingMatch' ' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27' ' )' % (admin._TREADMILL_ATTR_OID_PREFIX + '11'), '{1}( %s NAME x2 DESC \'x x\'' ' SUBSTR caseIgnoreSubstringsMatch' ' EQUALITY caseIgnoreMatch' ' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15' ' )' % (admin._TREADMILL_ATTR_OID_PREFIX + '22'), ] obj_classes = [ '{0}( %s NAME o1 DESC \'x x\'' ' SUP top STRUCTURAL' ' MUST ( xxx ) MAY ( a $ b )' ' )' % (admin._TREADMILL_OBJCLS_OID_PREFIX + '33'), ] admin_obj = admin.Admin(None, None) admin_obj.ldap = ldap3.Connection(ldap3.Server('fake'), client_strategy=ldap3.MOCK_SYNC) admin_obj.ldap.strategy.add_entry( 'cn={1}treadmill,cn=schema,cn=config', { 'olcAttributeTypes': attrs, 'olcObjectClasses': obj_classes }) admin_obj.ldap.bind() self.assertEqual( { 'dn': 'cn={1}treadmill,cn=schema,cn=config', 'objectClasses': { 'o1': { 'idx': 33, 'desc': 'x x', 'must': ['xxx'], 'may': ['a', 'b'], }, }, 'attributeTypes': { 'x1': { 'idx': 11, 'desc': 'x x', 'type': 'int' }, 'x2': { 'idx': 22, 'desc': 'x x', 'type': 'str', 'ignore_case': True }, } }, admin_obj.schema())
def test_add(self): """Tests add logic.""" admin_obj = admin.Admin(None, 'dc=test,dc=com') admin_obj.write_ldap = ldap3.Connection( ldap3.Server('fake'), client_strategy=ldap3.MOCK_SYNC ) admin_obj.add( 'ou=example,dc=test,dc=com', 'testClass', { 'foo': 1, 'bar': ['z', 'a'], 'lot': 2, 'exp': [3, 4] } ) call = admin_obj.write_ldap.add.call_args_list[0][0] self.assertEqual(call[0], 'ou=example,dc=test,dc=com') self.assertEqual(call[1], 'testClass') self.assertEqual( [attr for attr in six.iteritems(call[2])], [('bar', ['z', 'a']), ('exp', [3, 4]), ('foo', 1), ('lot', 2)] )
def test_update(self): """Tests update logic. """ mock_admin = admin.Admin(None, 'dc=test,dc=com') mock_admin.paged_search.return_value = [ ( 'cell=xxx,allocation=prod1,...', { 'disk': ['2G'], 'trait': ['a', 'b'], 'priority;tm-alloc-assignment-123': [80], 'pattern;tm-alloc-assignment-123': ['ppp.ttt'], 'priority;tm-alloc-assignment-345': [60], 'pattern;tm-alloc-assignment-345': ['ppp.ddd'], } ) ] mock_admin.update( 'cell=xxx,allocation=prod1,...', { 'disk': ['1G'], 'trait': ['a'], 'priority;tm-alloc-assignment-0': [80], 'pattern;tm-alloc-assignment-0': ['ppp.ttt'], 'priority;tm-alloc-assignment-345': [30], 'pattern;tm-alloc-assignment-345': ['ppp.ddd'], } ) mock_admin.paged_search.assert_called_once_with( search_base=mock.ANY, search_scope=mock.ANY, search_filter=mock.ANY, attributes=[ 'disk', 'pattern', 'priority', 'trait', ], dirty=False, ) mock_admin.modify.assert_called_once_with( 'cell=xxx,allocation=prod1,...', { 'disk': [('MODIFY_REPLACE', ['1G'])], 'trait': [('MODIFY_REPLACE', ['a'])], 'priority;tm-alloc-assignment-123': [('MODIFY_DELETE', [])], 'pattern;tm-alloc-assignment-123': [('MODIFY_DELETE', [])], 'pattern;tm-alloc-assignment-0': [('MODIFY_ADD', ['ppp.ttt'])], 'priority;tm-alloc-assignment-0': [('MODIFY_ADD', [80])], 'priority;tm-alloc-assignment-345': [('MODIFY_REPLACE', [30])] } )
def test_init(self): """Tests init logic.""" admin_obj = admin.Admin(None, 'dc=test,dc=com') admin_obj.write_ldap = ldap3.Connection( ldap3.Server('fake'), client_strategy=ldap3.MOCK_SYNC) admin_obj.init() dn_list = [ arg[0][0] for arg in admin_obj.write_ldap.add.call_args_list ] self.assertTrue('dc=test,dc=com' in dn_list) self.assertTrue('ou=treadmill,dc=test,dc=com' in dn_list) self.assertTrue('ou=apps,ou=treadmill,dc=test,dc=com' in dn_list)
def setUp(self): self.part = admin.Partition(admin.Admin(None, 'dc=xx,dc=com'))
def setUp(self): self.cell_alloc = admin.CellAllocation( admin.Admin(None, 'dc=xx,dc=com'))
def setUp(self): self.alloc = admin.Allocation(admin.Admin(None, 'dc=xx,dc=com'))
def setUp(self): self.tnt = admin.Tenant(admin.Admin(None, 'dc=xx,dc=com'))
def setUp(self): self.server = admin.Server(admin.Admin(None, 'dc=xx,dc=com'))