You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
3.0 KiB
Python
62 lines
3.0 KiB
Python
"""
|
|
Copyright (c) Contributors to the Open 3D Engine Project.
|
|
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
|
|
SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
"""
|
|
import azlmbr.bus
|
|
import azlmbr.asset
|
|
import azlmbr.editor
|
|
import azlmbr.math
|
|
|
|
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!')
|
|
|
|
assetIdString = assetId.to_string()
|
|
if (assetIdString.endswith(':528cca58') is False):
|
|
print(f'Mock AssetId {assetIdString} has unexpected sub-id for {mockAssetPath}!')
|
|
else:
|
|
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')
|
|
|
|
handler.connect()
|
|
handler.add_callback('NotifyEditorInitialized', on_notify_editor_initialized)
|