Add Unity Pipeline package support
This commit is contained in:
+70
@@ -0,0 +1,70 @@
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Unity.Pipeline.Tests.Editor.E2E
|
||||
{
|
||||
// =====================================================================================
|
||||
// CLI-196 — End-to-end agent authoring test (SPEC / SKELETON — BLOCKED)
|
||||
//
|
||||
// This file is intentionally inert. It compiles against NUnit ONLY and is [Ignore]d.
|
||||
// It references no authoring command or API, because the commands it will drive do not
|
||||
// exist yet — they land in CLI-191..195. See the plan at:
|
||||
// docs/authoring/plans/CLI-196-docs-samples-e2e.md
|
||||
//
|
||||
// When CLI-191..195 are merged, replace the single Ignored test below with the sequence
|
||||
// documented here, driving each step through an isolated PipelineTestServer exactly like
|
||||
// Tests/Editor/Authoring/FolderCommandsTests.cs (the ViaClient pattern):
|
||||
//
|
||||
// using (var server = new PipelineTestServer())
|
||||
// {
|
||||
// var response = server.Execute("<command>", new { ... });
|
||||
// Assert.IsTrue(response.IsSuccess, response.Error);
|
||||
// // pull globalId / assetPath / guid / instanceId / hierarchyPath out of
|
||||
// // response.JsonResponse["result"] and feed it forward as the next ObjectRef.
|
||||
// }
|
||||
//
|
||||
// Intended end-to-end sequence (dep ticket in brackets; command names are PROVISIONAL —
|
||||
// confirm against the landed tickets before wiring, do not invent commands):
|
||||
//
|
||||
// 0. [CLI-190] set_authoring_root -> "Assets/__CLI196E2E" (reset in TearDown)
|
||||
// 1. [CLI-190] create_folder -> bare "Work" (resolves to Assets/__CLI196E2E/Work;
|
||||
// do NOT repeat the root name or it nests) assert IsValidFolder, has guid
|
||||
// 2. [CLI-191] create_asset / create_material / create_scriptable_object
|
||||
// -> a leaf asset assert assetPath loads non-null
|
||||
// 3. [CLI-193] create_scene -> bare "E2E.unity" (-> Assets/__CLI196E2E/E2E.unity) assert exists + active
|
||||
// 4. [CLI-192] create_gameobject -> /Root, then /Root/Child assert hierarchyPath + instanceId
|
||||
// 5. [CLI-192] add_component -> e.g. UnityEngine.Rigidbody on a target ObjectRef
|
||||
// 6. [CLI-194] create_prefab -> bare "Root.prefab" (-> Assets/__CLI196E2E/Root.prefab) from the hierarchy; assert guid
|
||||
// 7. [CLI-195] create_script (+ recompile + poll recompile_status)
|
||||
// -> bare "E2EBehaviour.cs" (-> Assets/__CLI196E2E/E2EBehaviour.cs); assert exists/compiles
|
||||
// 8. [CLI-192/195] add_component -> attach "E2EBehaviour" to the prefab/GameObject
|
||||
// 9. [CLI-192/195] set_property / set_serialized_reference
|
||||
// -> wire the behaviour's serialized field to the step-2 asset
|
||||
// 10. [CLI-193/194] save_scene / save_prefab (or save_asset)
|
||||
// 11. round-trip verify: re-resolve via globalId/guid (ObjectResolver) and assert the wired
|
||||
// serialized reference still points at the step-2 asset. THIS is the load-bearing assert:
|
||||
// it proves the full create -> wire -> save -> reload loop survives serialization.
|
||||
//
|
||||
// Suggested fixture shape once unblocked:
|
||||
// - [SetUp] : set authoring root to the throwaway folder.
|
||||
// - [TearDown] : ProjectPaths.ResetAuthoringRoot(); delete "Assets/__CLI196E2E";
|
||||
// close/discard the temporary scene; AssetDatabase.Refresh().
|
||||
// - mode : EditMode (this assembly). Run via:
|
||||
// unity command run_tests --mode editor --filter AgentAuthoringE2ETests
|
||||
// =====================================================================================
|
||||
|
||||
/// <summary>
|
||||
/// End-to-end agent-authoring validation: drives the full create -> build -> wire -> save loop
|
||||
/// through pipeline commands and asserts the produced assets/scene exist and the serialized
|
||||
/// reference reads back. Blocked on CLI-191..195 (authoring commands not yet implemented); see
|
||||
/// docs/authoring/plans/CLI-196-docs-samples-e2e.md.
|
||||
/// </summary>
|
||||
public class AgentAuthoringE2ETests
|
||||
{
|
||||
[Test]
|
||||
[Ignore("CLI-196 blocked on CLI-191..195: authoring commands not yet implemented")]
|
||||
public void FullAuthoringLoop_CreatesAssetsSceneAndPrefab_AndSerializedReferenceReadsBack()
|
||||
{
|
||||
// Pending CLI-191..195 — body wired up once the authoring commands land.
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e6b10188957457846bd0037591608c63
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user