@ -318,46 +318,28 @@ class SqlIDMapping(test_backend_sql.SqlTests):
PROVIDERS . id_mapping_api . get_public_id ( local_entity5 )
)
def test_get_domain_mapping_list ( self ) :
local_id1 = uuid . uuid4 ( ) . hex
local_id2 = uuid . uuid4 ( ) . hex
local_id3 = uuid . uuid4 ( ) . hex
local_id4 = uuid . uuid4 ( ) . hex
local_id5 = uuid . uuid4 ( ) . hex
# Create five mappings,two in domainA, three in domainB
local_entity1 = { ' domain_id ' : self . domainA [ ' id ' ] ,
' local_id ' : local_id1 ,
' entity_type ' : mapping . EntityType . USER }
local_entity2 = { ' domain_id ' : self . domainA [ ' id ' ] ,
' local_id ' : local_id2 ,
' entity_type ' : mapping . EntityType . USER }
local_entity3 = { ' domain_id ' : self . domainB [ ' id ' ] ,
' local_id ' : local_id3 ,
' entity_type ' : mapping . EntityType . GROUP }
local_entity4 = { ' domain_id ' : self . domainB [ ' id ' ] ,
' local_id ' : local_id4 ,
' entity_type ' : mapping . EntityType . USER }
local_entity5 = { ' domain_id ' : self . domainB [ ' id ' ] ,
' local_id ' : local_id5 ,
' entity_type ' : mapping . EntityType . USER }
local_entity1 [ ' public_id ' ] = (
PROVIDERS . id_mapping_api . create_id_mapping ( local_entity1 )
)
local_entity2 [ ' public_id ' ] = (
PROVIDERS . id_mapping_api . create_id_mapping ( local_entity2 )
)
local_entity3 [ ' public_id ' ] = (
PROVIDERS . id_mapping_api . create_id_mapping ( local_entity3 )
)
local_entity4 [ ' public_id ' ] = (
PROVIDERS . id_mapping_api . create_id_mapping ( local_entity4 )
)
local_entity5 [ ' public_id ' ] = (
PROVIDERS . id_mapping_api . create_id_mapping ( local_entity5 )
)
def _prepare_domain_mappings_for_list ( self ) :
# Create five mappings:
# two users in domainA, one group and two users in domainB
local_entities = [
{ ' domain_id ' : self . domainA [ ' id ' ] ,
' entity_type ' : mapping . EntityType . USER } ,
{ ' domain_id ' : self . domainA [ ' id ' ] ,
' entity_type ' : mapping . EntityType . USER } ,
{ ' domain_id ' : self . domainB [ ' id ' ] ,
' entity_type ' : mapping . EntityType . GROUP } ,
{ ' domain_id ' : self . domainB [ ' id ' ] ,
' entity_type ' : mapping . EntityType . USER } ,
{ ' domain_id ' : self . domainB [ ' id ' ] ,
' entity_type ' : mapping . EntityType . USER }
]
for e in local_entities :
e [ ' local_id ' ] = uuid . uuid4 ( ) . hex
e [ ' public_id ' ] = PROVIDERS . id_mapping_api . create_id_mapping ( e )
return local_entities
def test_get_domain_mapping_list ( self ) :
local_entities = self . _prepare_domain_mappings_for_list ( )
# NOTE(notmorgan): Always call to_dict in an active session context to
# ensure that lazy-loaded relationships succeed. Edge cases could cause
# issues especially in attribute mappers.
@ -369,5 +351,20 @@ class SqlIDMapping(test_backend_sql.SqlTests):
)
)
domain_a_mappings = [ m . to_dict ( ) for m in domain_a_mappings ]
self . assertItemsEqual ( [ local_entity1 , local_entity2 ] ,
domain_a_mappings )
self . assertItemsEqual ( local_entities [ : 2 ] , domain_a_mappings )
def test_get_domain_mapping_list_by_entity ( self ) :
local_entities = self . _prepare_domain_mappings_for_list ( )
# NOTE(notmorgan): Always call to_dict in an active session context to
# ensure that lazy-loaded relationships succeed. Edge cases could cause
# issues especially in attribute mappers.
with sql . session_for_read ( ) :
# list user mappings for domainB
domain_b_mappings_user = (
PROVIDERS . id_mapping_api . get_domain_mapping_list (
self . domainB [ ' id ' ] , entity_type = mapping . EntityType . USER
)
)
domain_b_mappings_user = [ m . to_dict ( )
for m in domain_b_mappings_user ]
self . assertItemsEqual ( local_entities [ - 2 : ] , domain_b_mappings_user )