Example #1
0
def test_search_ou_by_dn():

    # Pass the new employees data to the controller
    controller = LdapController()
    add_entry_request = schema.load({
        'dn': 'cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit'
    })
    result = controller.add(mocked_name, add_entry_request)
    dn = add_entry_request.dn
    assert result, f'There was a problem adding {dn}'

    search_data = {
        'search_base': dn,
        'search_filter': '(objectClass=organizationalUnit)',
        'search_scope': 'BASE'
    }
    search_schema = SearchSchema()
    search_results: SearchResults = controller.search(
        mocked_name, search_schema.load(search_data))
    assert search_results is not None
    assert len(
        search_results.data
    ) == 1, f'Expect one search result but found {len(search_results.data)}'
    for entry in search_results.data:
        assert entry['dn'] == dn, f'Expected {dn} but found {entry["dn"]}'
Example #2
0
def test_add_user_with_controller():

    # Pass the new employees data to the controller
    controller = LdapController()
    add_entry_request = schema.load({
        'dn': 'cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit',
        'attributes': None,
        'controls': None
    })
    result = controller.add(mocked_name, add_entry_request)
    assert result, 'There was a problem adding {add_entry_request.dn}'

    dn = add_entry_request.dn
    data = {
        'search_base': dn,
        'search_filter': '(objectClass=organizationalUnit)',
        'search_scope': 'SUBTREE'
    }
    search_schema = SearchSchema()
    search_results: SearchResults = controller.search(mocked_name,
                                                      search_schema.load(data))
    total_results = len(search_results.data)
    assert total_results == 1, f'Expected 1 search result for {dn} but found {total_results}'

    add_entry_request = schema.load({
        'dn': 'cn=users,cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit'
    })

    result = controller.add(mocked_name, add_entry_request)
    dn = add_entry_request.dn
    assert result, 'There was a problem adding {dn}'

    data = {
        'search_base': dn,
        'search_filter': '(objectClass=organizationalUnit)',
        'search_scope': 'SUBTREE'
    }
    search_schema = SearchSchema()
    search_results: SearchResults = controller.search(mocked_name,
                                                      search_schema.load(data))
    total_results = len(search_results.data)
    assert total_results == 1, f'Expected 1 search result for {dn} but found {total_results}'
Example #3
0
def test_add_user_with_controller():

    # Build out the fake organization
    controller = LdapController()

    add_entry_request = schema.load({
        'dn': 'cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit'
    })
    controller.add(mocked_name, add_entry_request)
    add_entry_request = schema.load({
        'dn': 'cn=users,cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit'
    })
    controller.add(mocked_name, add_entry_request)

    # Pass the new user data to the controller

    add_entry_request = schema.load({
        'dn':
        'cn=mwatkins,cn=users,cn=employees,ou=test,o=lab',
        'object_class':
        ['top,person', 'organizationalPerson', 'inetOrgPerson'],
        'attributes':
        attributes
    })
    result = controller.add(mocked_name, add_entry_request)
    assert result, 'There was a problem adding the user'
    dn = add_entry_request.dn

    data = {
        'search_base': dn,
        'search_filter': '(objectClass=organizationalPerson)',
        'attributes': 'ALL_ATTRIBUTES'
    }
    search_schema = SearchSchema()
    search_results: SearchResults = controller.search(mocked_name,
                                                      search_schema.load(data))
    total_results = len(search_results.data)
    assert total_results == 1, f'Expected 1 search result for {dn} but found {total_results}'
Example #4
0
def test_search_person_by_dn():

    # Pass the new employees data to the controller
    controller = LdapController()
    add_entry_request = schema.load({
        'dn': 'cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit'
    })
    controller.add(mocked_name, add_entry_request)

    add_entry_request = schema.load({
        'dn': 'cn=users,cn=employees,ou=test,o=lab',
        'object_class': 'organizationalUnit'
    })
    controller.add(mocked_name, add_entry_request)

    add_entry_request = schema.load({
        'dn':
        'cn=cevans,cn=users,cn=employees,ou=test,o=lab',
        'object_class': ['person', 'organizationalPerson', 'inetOrgPerson'],
        'attributes':
        attributes
    })
    controller.add(mocked_name, add_entry_request)

    search_data = {
        'search_base': add_entry_request.dn,
        'search_filter': '(objectClass=organizationalPerson)',
        'search_scope': 'BASE'
    }
    search_schema = SearchSchema()
    search_results: SearchResults = controller.search(
        mocked_name, search_schema.load(search_data))
    assert search_results is not None
    assert len(
        search_results.data
    ) == 1, f'Expect one search result but found {len(search_results.data)}'
    for entry in search_results.data:
        assert entry[
            'dn'] == add_entry_request.dn, f'Expected {add_entry_request.dn} but found {entry["dn"]}'