@ -8,42 +8,54 @@ import azlmbr.bus
import azlmbr . asset
import azlmbr . editor
import azlmbr . math
import azlmbr . legacy . general
def raise_and_stop ( msg ) :
print ( msg )
azlmbr . editor . EditorToolsApplicationRequestBus ( azlmbr . bus . Broadcast , ' ExitNoPrompt ' )
# These tests are meant to check that the test_asset.mock source asset turned into
# a test_asset.mock_asset product asset via the Python asset builder system
mockAssetType = azlmbr . math . Uuid_CreateString ( ' { 9274AD17-3212-4651-9F3B-7DCCB080E467} ' , 0 )
mockAssetPath = ' gem/pythontests/pythonassetbuilder/test_asset.mock_asset '
assetId = azlmbr . asset . AssetCatalogRequestBus ( azlmbr . bus . Broadcast , ' GetAssetIdByPath ' , mockAssetPath , mockAssetType , False )
if ( assetId . is_valid ( ) is False ) :
raise_and_stop ( f ' Mock AssetId is not valid! Got { assetId . to_string ( ) } instead ' )
assetIdString = assetId . to_string ( )
if ( assetIdString . endswith ( ' :528cca58 ' ) is False ) :
raise_and_stop ( f ' Mock AssetId { assetIdString } has unexpected sub-id for { mockAssetPath } ! ' )
print ( ' Mock asset exists ' )
print ( ' Starting mock asset tests ' )
handler = azlmbr . editor . EditorEventBusHandler ( )
def on_notify_editor_initialized ( args ) :
# These tests are meant to check that the test_asset.mock source asset turned into
# a test_asset.mock_asset product asset via the Python asset builder system
mockAssetType = azlmbr . math . Uuid_CreateString ( ' { 9274AD17-3212-4651-9F3B-7DCCB080E467} ' , 0 )
mockAssetPath = ' gem/pythontests/pythonassetbuilder/test_asset.mock_asset '
assetId = azlmbr . asset . AssetCatalogRequestBus ( azlmbr . bus . Broadcast , ' GetAssetIdByPath ' , mockAssetPath , mockAssetType , False )
if ( assetId . is_valid ( ) is False ) :
print ( f ' Mock AssetId is not valid! Got { assetId . to_string ( ) } instead ' )
else :
print ( f ' Mock AssetId is valid! ' )
# These tests detect if the geom_group.fbx file turns into a number of azmodel product assets
def test_azmodel_product ( generatedModelAssetPath ) :
azModelAssetType = azlmbr . math . Uuid_CreateString ( ' { 2C7477B6-69C5-45BE-8163-BCD6A275B6D8} ' , 0 )
assetId = azlmbr . asset . AssetCatalogRequestBus ( azlmbr . bus . Broadcast , ' GetAssetIdByPath ' , generatedModelAssetPath , azModelAssetType , False )
assetIdString = assetId . to_string ( )
if ( assetId . is_valid ( ) ) :
print ( f ' AssetId found for asset ({ generatedModelAssetPath } ) found ' )
if ( assetIdString . endswith ( ' :528cca58 ' ) is False ) :
print ( f ' Mock AssetId { assetIdString } has unexpected sub-id for { mockAssetPath } ! ' )
else :
raise_and_stop ( f ' Asset at path { generatedModelAssetPath } has unexpected asset ID ( { assetIdString } )! ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_positive_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_negative_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_positive_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_negative_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_positive_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_negative_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_center_1.azmodel ' )
print ( f ' Mock AssetId has expected sub-id for { mockAssetPath } ! ' )
print ( ' Mock asset exists ' )
# These tests detect if the geom_group.fbx file turns into a number of azmodel product assets
def test_azmodel_product ( generatedModelAssetPath ) :
azModelAssetType = azlmbr . math . Uuid_CreateString ( ' { 2C7477B6-69C5-45BE-8163-BCD6A275B6D8} ' , 0 )
assetId = azlmbr . asset . AssetCatalogRequestBus ( azlmbr . bus . Broadcast , ' GetAssetIdByPath ' , generatedModelAssetPath , azModelAssetType , False )
assetIdString = assetId . to_string ( )
if ( assetId . is_valid ( ) ) :
print ( f ' AssetId found for asset ( { generatedModelAssetPath } ) found ' )
else :
print ( f ' Asset at path { generatedModelAssetPath } has unexpected asset ID ( { assetIdString } )! ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_positive_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_negative_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_positive_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_negative_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_positive_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_negative_1.azmodel ' )
test_azmodel_product ( ' gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_center_1.azmodel ' )
# clear up notification handler
global handler
handler . disconnect ( )
handler = None
print ( ' Finished mock asset tests ' )
azlmbr . editor . EditorToolsApplicationRequestBus ( azlmbr . bus . Broadcast , ' ExitNoPrompt ' )
azlmbr . editor . EditorToolsApplicationRequestBus ( azlmbr . bus . Broadcast , ' ExitNoPrompt ' )
handler . connect ( )
handler . add_callback ( ' NotifyEditorInitialized ' , on_notify_editor_initialized )