Integrating github/staging through commit ab87ed9
This commit is contained in:
+4
-8
@@ -35,14 +35,10 @@ class TestGradientRequiresShape(object):
|
||||
"New entity with no parent created: SUCCESS",
|
||||
"Mesh component added to entity: SUCCESS",
|
||||
"Entity has a Mesh component: SUCCESS",
|
||||
"GetSetCompare Test MeshComponentRenderNode|Mesh asset: SUCCESS",
|
||||
"GetSetCompare Clear MeshComponentRenderNode|Mesh asset: SUCCESS",
|
||||
"PTE Test MeshComponentRenderNode|Mesh asset: SUCCESS",
|
||||
"PTE Clear MeshComponentRenderNode|Mesh asset: SUCCESS",
|
||||
"GetSetCompare Test MeshComponentRenderNode|Material override: SUCCESS",
|
||||
"GetSetCompare Clear MeshComponentRenderNode|Material override: SUCCESS",
|
||||
"PTE Test MeshComponentRenderNode|Material override: SUCCESS",
|
||||
"PTE Clear MeshComponentRenderNode|Material override: SUCCESS",
|
||||
"GetSetCompare Test Controller|Configuration|Mesh Asset: SUCCESS",
|
||||
"GetSetCompare Clear Controller|Configuration|Mesh Asset: SUCCESS",
|
||||
"PTE Test Controller|Configuration|Mesh Asset: SUCCESS",
|
||||
"PTE Clear Controller|Configuration|Mesh Asset: SUCCESS",
|
||||
]
|
||||
|
||||
test_case_file = os.path.join(os.path.dirname(__file__), 'ComponentAssetCommands_test_case.py')
|
||||
|
||||
+3
-8
@@ -129,13 +129,8 @@ if(pteObj.IsSuccess()):
|
||||
pte = pteObj.GetValue()
|
||||
|
||||
# Tests for the Asset<> case
|
||||
cubeId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_cube.cgf', math.Uuid(), False)
|
||||
GetSetCompareTest(component, "MeshComponentRenderNode|Mesh asset", cubeId)
|
||||
PteTest(pte, "MeshComponentRenderNode|Mesh asset", cubeId)
|
||||
|
||||
# Tests for the SimpleAssetReference case
|
||||
materialId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'engineassets/texturemsg/defaultsolids.mtl', math.Uuid(), False)
|
||||
GetSetCompareTest(component, "MeshComponentRenderNode|Material override", materialId)
|
||||
PteTest(pte, "MeshComponentRenderNode|Material override", materialId)
|
||||
testAssetId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'assets/objects/foliage/cedar.azmodel', math.Uuid(), False)
|
||||
GetSetCompareTest(component, "Controller|Configuration|Mesh Asset", testAssetId)
|
||||
PteTest(pte, "Controller|Configuration|Mesh Asset", testAssetId)
|
||||
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'ExitNoPrompt')
|
||||
|
||||
+34
-18
@@ -9,27 +9,38 @@ remove or modify any license notices. This file is distributed on an "AS IS" BAS
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
|
||||
#
|
||||
# This is a pytest module to test the in-Editor Python API from PythonEditorFuncs
|
||||
#
|
||||
import pytest
|
||||
pytest.importorskip('ly_test_tools')
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
from hydra_utils import launch_test_case
|
||||
import pytest
|
||||
import logging
|
||||
|
||||
# Bail on the test if ly_test_tools doesn't exist.
|
||||
pytest.importorskip("ly_test_tools")
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
import automatedtesting_shared.hydra_test_utils as hydra
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
test_directory = os.path.join(os.path.dirname(__file__), "EditorScripts")
|
||||
|
||||
|
||||
@pytest.mark.SUITE_sandbox
|
||||
@pytest.mark.parametrize('launcher_platform', ['windows_editor'])
|
||||
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
||||
@pytest.mark.parametrize('level', ['Simple'])
|
||||
class TestComponentAssetAutomation(object):
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@pytest.mark.usefixtures("automatic_process_killer")
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
class TestComponentAssetListAutomation(object):
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_teardown(self, request, workspace, project, level):
|
||||
# Cleanup our temp level
|
||||
file_system.delete([os.path.join(workspace.paths.dev(), project, "Levels", level)], True, True)
|
||||
|
||||
def test_ComponentAsset(self, request, editor, level, launcher_platform):
|
||||
def teardown():
|
||||
# Cleanup our temp level
|
||||
file_system.delete([os.path.join(workspace.paths.dev(), project, "Levels", level)], True, True)
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
def test_ComponentAssetList(self, request, editor, level, launcher_platform):
|
||||
|
||||
unexpected_lines=[]
|
||||
expected_lines = [
|
||||
'Set EditorDescriptorListComponent Embedded Assets as List',
|
||||
'Set EditorDescriptorListComponent Embedded Assets 0 Descriptor Mesh Asset ID',
|
||||
@@ -37,7 +48,12 @@ class TestComponentAssetAutomation(object):
|
||||
'Set EditorDescriptorListComponent Embedded Assets 2 Descriptor Mesh Asset ID',
|
||||
'Set EditorDescriptorListComponent Embedded Assets 3 Descriptor Mesh Asset ID'
|
||||
]
|
||||
|
||||
test_case_file = os.path.join(os.path.dirname(__file__), 'ComponentUpdateListProperty_test_case.py')
|
||||
launch_test_case(editor, test_case_file, expected_lines, unexpected_lines)
|
||||
|
||||
hydra.launch_and_validate_results(
|
||||
request,
|
||||
test_directory,
|
||||
editor,
|
||||
"ComponentUpdateListProperty_test_case.py",
|
||||
expected_lines=expected_lines,
|
||||
cfg_args=[level]
|
||||
)
|
||||
|
||||
-78
@@ -1,78 +0,0 @@
|
||||
"""
|
||||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
|
||||
import azlmbr.object as object
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
|
||||
|
||||
def add_component_with_uuid(entityId, typeId):
|
||||
componentOutcome = editor.EditorComponentAPIBus(bus.Broadcast, 'AddComponentsOfType', entityId, [typeId])
|
||||
if (componentOutcome.IsSuccess()):
|
||||
return componentOutcome.GetValue()[0]
|
||||
|
||||
|
||||
def set_component_property(component, path, value):
|
||||
outcome = editor.EditorComponentAPIBus(bus.Broadcast, 'SetComponentProperty', component, path, value)
|
||||
return outcome.IsSuccess()
|
||||
|
||||
|
||||
def get_component_property(component, path):
|
||||
outcome = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentProperty', component, path)
|
||||
if (outcome.IsSuccess()):
|
||||
return outcome.GetValue()
|
||||
return None
|
||||
|
||||
|
||||
try:
|
||||
# Open a level
|
||||
print ('Test started')
|
||||
general.open_level_no_prompt('auto_test')
|
||||
|
||||
newEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', entity.EntityId())
|
||||
|
||||
editorDescriptorListComponentId = math.Uuid_CreateString('{3AF9BE58-6D2D-44FB-AB4D-CA1182F6C78F}', 0)
|
||||
descListComponent = add_component_with_uuid(newEntityId, editorDescriptorListComponentId)
|
||||
print ('descListComponent added')
|
||||
|
||||
primitiveCubeId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_cube.cgf', math.Uuid(), False)
|
||||
primitiveSphereId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_sphere.cgf', math.Uuid(), False)
|
||||
primitiveCapsuleId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_capsule.cgf', math.Uuid(), False)
|
||||
primitivePlaneId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_plane.cgf', math.Uuid(), False)
|
||||
print ('fetched asset ids')
|
||||
|
||||
# expand the list of veg descriptors to 4 elements
|
||||
descList = get_component_property(descListComponent, 'Configuration|Embedded Assets')
|
||||
print('Got the veg descriptor list')
|
||||
descElem = descList[0]
|
||||
descList.append(descElem)
|
||||
descList.append(descElem)
|
||||
descList.append(descElem)
|
||||
|
||||
set_component_property(descListComponent, 'Configuration|Embedded Assets', descList)
|
||||
print('Set EditorDescriptorListComponent Embedded Assets as List')
|
||||
set_component_property(descListComponent, 'Configuration|Embedded Assets|[0]|Instance|Mesh Asset', primitiveCubeId)
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 0 Descriptor Mesh Asset ID')
|
||||
set_component_property(descListComponent, 'Configuration|Embedded Assets|[1]|Instance|Mesh Asset', primitiveSphereId)
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 1 Descriptor Mesh Asset ID')
|
||||
set_component_property(descListComponent, 'Configuration|Embedded Assets|[2]|Instance|Mesh Asset', primitiveCapsuleId)
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 2 Descriptor Mesh Asset ID')
|
||||
set_component_property(descListComponent, 'Configuration|Embedded Assets|[3]|Instance|Mesh Asset', primitivePlaneId)
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 3 Descriptor Mesh Asset ID')
|
||||
except:
|
||||
print ('Test failed.')
|
||||
finally:
|
||||
print ('Test done.')
|
||||
general.exit_no_prompt()
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
"""
|
||||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import azlmbr.asset as asset
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.math as math
|
||||
import azlmbr.paths
|
||||
|
||||
sys.path.append(os.path.join(azlmbr.paths.devroot, 'AutomatedTesting', 'Gem', 'PythonTests'))
|
||||
from automatedtesting_shared.editor_test_helper import EditorTestHelper
|
||||
|
||||
|
||||
def add_component_with_uuid(entityId, typeId):
|
||||
componentOutcome = editor.EditorComponentAPIBus(bus.Broadcast, 'AddComponentsOfType', entityId, [typeId])
|
||||
if (componentOutcome.IsSuccess()):
|
||||
return componentOutcome.GetValue()[0]
|
||||
|
||||
|
||||
def set_component_property(component, path, value):
|
||||
outcome = editor.EditorComponentAPIBus(bus.Broadcast, 'SetComponentProperty', component, path, value)
|
||||
return outcome.IsSuccess()
|
||||
|
||||
|
||||
def get_component_property(component, path):
|
||||
outcome = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentProperty', component, path)
|
||||
if (outcome.IsSuccess()):
|
||||
return outcome.GetValue()
|
||||
return None
|
||||
|
||||
class TestComponentUpdateListProperty(EditorTestHelper):
|
||||
def __init__(self):
|
||||
EditorTestHelper.__init__(self, log_prefix="ComponentUpdateListProperty", args=["level"])
|
||||
|
||||
def run_test(self):
|
||||
"""
|
||||
Test configuring an asset descriptor list.
|
||||
"""
|
||||
|
||||
# Create a new level
|
||||
self.test_success = self.create_level(
|
||||
self.args["level"],
|
||||
)
|
||||
|
||||
newEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', entity.EntityId())
|
||||
|
||||
editorDescriptorListComponentId = math.Uuid_CreateString('{3AF9BE58-6D2D-44FB-AB4D-CA1182F6C78F}', 0)
|
||||
descListComponent = add_component_with_uuid(newEntityId, editorDescriptorListComponentId)
|
||||
|
||||
primitiveCubeId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_cube.cgf', math.Uuid(), False)
|
||||
primitiveSphereId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_sphere.cgf', math.Uuid(), False)
|
||||
primitiveCapsuleId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_capsule.cgf', math.Uuid(), False)
|
||||
primitivePlaneId = asset.AssetCatalogRequestBus(bus.Broadcast, 'GetAssetIdByPath', 'objects/default/primitive_plane.cgf', math.Uuid(), False)
|
||||
|
||||
# expand the list of veg descriptors to 4 elements
|
||||
descList = get_component_property(descListComponent, 'Configuration|Embedded Assets')
|
||||
descElem = descList[0]
|
||||
descList.append(descElem)
|
||||
descList.append(descElem)
|
||||
descList.append(descElem)
|
||||
|
||||
self.test_success = set_component_property(descListComponent, 'Configuration|Embedded Assets', descList) and self.test_success
|
||||
print('Set EditorDescriptorListComponent Embedded Assets as List')
|
||||
self.test_success = set_component_property(descListComponent, 'Configuration|Embedded Assets|[0]|Instance|Mesh Asset', primitiveCubeId) and self.test_success
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 0 Descriptor Mesh Asset ID')
|
||||
self.test_success = set_component_property(descListComponent, 'Configuration|Embedded Assets|[1]|Instance|Mesh Asset', primitiveSphereId) and self.test_success
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 1 Descriptor Mesh Asset ID')
|
||||
self.test_success = set_component_property(descListComponent, 'Configuration|Embedded Assets|[2]|Instance|Mesh Asset', primitiveCapsuleId) and self.test_success
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 2 Descriptor Mesh Asset ID')
|
||||
self.test_success = set_component_property(descListComponent, 'Configuration|Embedded Assets|[3]|Instance|Mesh Asset', primitivePlaneId) and self.test_success
|
||||
print('Set EditorDescriptorListComponent Embedded Assets 3 Descriptor Mesh Asset ID')
|
||||
|
||||
test = TestComponentUpdateListProperty()
|
||||
test.run()
|
||||
@@ -0,0 +1,10 @@
|
||||
"""
|
||||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
its licensors.
|
||||
|
||||
For complete copyright and license terms please see the LICENSE at the root of this
|
||||
distribution (the "License"). All use of this software is governed by the License,
|
||||
or, if provided, by the license below or the license accompanying this file. Do not
|
||||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
"""
|
||||
@@ -36,10 +36,10 @@ class TestViewPaneAutomation(object):
|
||||
"get_viewport_expansion_policy works",
|
||||
"set_viewport_expansion_policy works",
|
||||
"get_view_pane_layout works",
|
||||
"set_view_pane_layout works",
|
||||
"get_viewport_count works",
|
||||
"get_active_viewport works",
|
||||
"set_active_viewport works"
|
||||
"set_view_pane_layout works"
|
||||
# "get_viewport_count works",
|
||||
# "get_active_viewport works",
|
||||
# "set_active_viewport works"
|
||||
]
|
||||
|
||||
test_case_file = os.path.join(os.path.dirname(__file__), 'ViewPaneCommands_test_case.py')
|
||||
|
||||
+17
-16
@@ -73,31 +73,32 @@ if (set_and_validate_viewport_size(150, 300)):
|
||||
|
||||
# Set different view pane layouts and verify it works
|
||||
success = True
|
||||
general.set_view_pane_layout(0)
|
||||
#general.set_view_pane_layout(0)
|
||||
general.idle_wait(0.5)
|
||||
|
||||
success = success and (general.get_view_pane_layout() == 0)
|
||||
success = success and (general.get_viewport_count() == 1)
|
||||
general.set_view_pane_layout(1)
|
||||
general.idle_wait(0.5)
|
||||
success = success and (general.get_view_pane_layout() == 1)
|
||||
success = success and (general.get_viewport_count() == 2)
|
||||
# general.set_view_pane_layout(1)
|
||||
# general.idle_wait(0.5)
|
||||
# success = success and (general.get_view_pane_layout() == 1)
|
||||
# success = success and (general.get_viewport_count() == 2)
|
||||
if success:
|
||||
print("get_view_pane_layout works")
|
||||
print("set_view_pane_layout works")
|
||||
print("get_viewport_count works")
|
||||
|
||||
success = True
|
||||
general.set_active_viewport(0)
|
||||
general.idle_wait(0.5)
|
||||
success = success and (general.get_active_viewport() == 0)
|
||||
general.set_active_viewport(1)
|
||||
general.idle_wait(0.5)
|
||||
success = success and (general.get_active_viewport() == 1)
|
||||
if success:
|
||||
print("get_active_viewport works")
|
||||
print("set_active_viewport works")
|
||||
#success = True
|
||||
#general.set_active_viewport(0)
|
||||
#general.idle_wait(0.5)
|
||||
#success = success and (general.get_active_viewport() == 0)
|
||||
#general.set_active_viewport(1)
|
||||
#general.idle_wait(0.5)
|
||||
#success = success and (general.get_active_viewport() == 1)
|
||||
#if success:
|
||||
# print("get_active_viewport works")
|
||||
# print("set_active_viewport works")
|
||||
|
||||
general.set_view_pane_layout(0)
|
||||
#general.set_view_pane_layout(0)
|
||||
general.idle_wait(0.5)
|
||||
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'ExitNoPrompt')
|
||||
|
||||
Reference in New Issue
Block a user