fix(136521333): Handle None email_or_id in avatar code
Fixes https://www.pivotaltracker.com/story/show/136521333
This commit is contained in:
parent
732ab67b57
commit
ef80471a39
3 changed files with 39 additions and 12 deletions
|
@ -24,7 +24,7 @@ def _create_ldap(requires_email=True):
|
|||
|
||||
@contextmanager
|
||||
def mock_ldap(requires_email=True):
|
||||
mockldap = MockLdap({
|
||||
mock_data = {
|
||||
'dc=quay,dc=io': {'dc': ['quay', 'io']},
|
||||
'ou=employees,dc=quay,dc=io': {
|
||||
'dc': ['quay', 'io'],
|
||||
|
@ -77,27 +77,38 @@ def mock_ldap(requires_email=True):
|
|||
'uid': ['multientry'],
|
||||
'another': ['key']
|
||||
},
|
||||
'uid=secondaryuser,ou=otheremployees,dc=quay,dc=io': {
|
||||
'uid=secondaryuser,ou=otheremployees,dc=quay,dc=io': {
|
||||
'dc': ['quay', 'io'],
|
||||
'ou': 'otheremployees',
|
||||
'uid': ['secondaryuser'],
|
||||
'userPassword': ['somepass'],
|
||||
'mail': ['foosecondary@bar.com']
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
if not requires_email:
|
||||
for path in mock_data:
|
||||
mock_data[path].pop('mail', None)
|
||||
|
||||
mockldap = MockLdap(mock_data)
|
||||
|
||||
def initializer(uri, trace_level=0):
|
||||
obj = mockldap[uri]
|
||||
|
||||
# Seed to "support" wildcard queries, which MockLDAP does not support natively.
|
||||
cool_block = {
|
||||
'dc': ['quay', 'io'],
|
||||
'ou': 'employees',
|
||||
'uid': ['cool.user', 'referred'],
|
||||
'userPassword': ['somepass'],
|
||||
'mail': ['foo@bar.com']
|
||||
}
|
||||
|
||||
if not requires_email:
|
||||
cool_block.pop('mail', None)
|
||||
|
||||
obj.search_s.seed('ou=employees,dc=quay,dc=io', 2, '(|(uid=cool*)(mail=cool*))')([
|
||||
('uid=cool.user,ou=employees,dc=quay,dc=io', {
|
||||
'dc': ['quay', 'io'],
|
||||
'ou': 'employees',
|
||||
'uid': ['cool.user', 'referred'],
|
||||
'userPassword': ['somepass'],
|
||||
'mail': ['foo@bar.com']
|
||||
})
|
||||
('uid=cool.user,ou=employees,dc=quay,dc=io', cool_block)
|
||||
])
|
||||
|
||||
obj.search_s.seed('ou=otheremployees,dc=quay,dc=io', 2, '(|(uid=cool*)(mail=cool*))')([])
|
||||
|
|
Reference in a new issue