logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class ServiceExtensionRunnerTests

    EditMode tests for CreateFromJson(string): spec parsing, enum-error aggregation, the JSON report round trip, and the Catalog V2 extensionPointKind/extensionPointName spec fields (including their back-compat coexistence with the legacy aggregate field). ServiceExtensionSpec is internal to the runner's assembly, so specs are written here as plain JSON text — exactly what a CLI caller would produce.

    Inheritance
    object
    MetaFileRaceGuardedFixture
    ServiceExtensionRunnerTests
    Inherited Members
    MetaFileRaceGuardedFixture.SuppressFailingLogMessagesForFixture()
    MetaFileRaceGuardedFixture.RestoreFailingLogMessages()
    MetaFileRaceGuardedFixture.SuppressFailingLogMessagesForTest()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.ServiceExtensionCreator.Tests.Editor
    Assembly: Serenity.ServiceExtensionCreator.Tests.Editor.dll
    Syntax
    public class ServiceExtensionRunnerTests : MetaFileRaceGuardedFixture

    Constructors

    ServiceExtensionRunnerTests()

    Declaration
    public ServiceExtensionRunnerTests()

    Methods

    CreateFromJson_AppendToPipelineProfileRequestedButAmbiguous_ReportsRequestedWithoutAppending()

    Declaration
    public void CreateFromJson_AppendToPipelineProfileRequestedButAmbiguous_ReportsRequestedWithoutAppending()

    CreateFromJson_BothAggregateAndExtensionPointNameSet_ReturnsConflictError()

    Declaration
    public void CreateFromJson_BothAggregateAndExtensionPointNameSet_ReturnsConflictError()

    CreateFromJson_InfrastructureFreshStyleSpec_ResolvesToTheEnumAndGeneratesUnderInfrastructure()

    The newest ServiceExtensionCreator.Style member must resolve through the same generic ResolveEnum parser as every other style value — no dedicated parsing code exists per enum member, so this locks in that a spec naming it by string keeps working.

    Declaration
    public void CreateFromJson_InfrastructureFreshStyleSpec_ResolvesToTheEnumAndGeneratesUnderInfrastructure()

    CreateFromJson_InvalidEnumValues_AggregatesEveryFieldError()

    Declaration
    public void CreateFromJson_InvalidEnumValues_AggregatesEveryFieldError()

    CreateFromJson_LegacySpecWithoutExtensionPointFields_StillResolvesToServiceKind()

    Declaration
    public void CreateFromJson_LegacySpecWithoutExtensionPointFields_StillResolvesToServiceKind()

    CreateFromJson_MalformedJson_ReturnsParseError()

    Declaration
    public void CreateFromJson_MalformedJson_ReturnsParseError()

    CreateFromJson_MaliciousNamespaceOverride_IsRejected()

    Declaration
    public void CreateFromJson_MaliciousNamespaceOverride_IsRejected()

    CreateFromJson_MissingJson_ReturnsError()

    Declaration
    public void CreateFromJson_MissingJson_ReturnsError()

    CreateFromJson_StoreKindSpec_GeneratesStoreAndReportsBackendDefinitionAssetPath()

    Declaration
    public void CreateFromJson_StoreKindSpec_GeneratesStoreAndReportsBackendDefinitionAssetPath()

    CreateFromJson_SubclassBaseTypeName_RoundTripsToBaseResolution()

    The spec's subclassBaseTypeName flows through to base resolution: an explicit canonical name resolves and generates, and an unknown name is rejected with the resolver's error. A spec WITHOUT the field behaves exactly as V1 (canonical/first base) — pinned by CreateFromJson_LegacySpecWithoutExtensionPointFields_StillResolvesToServiceKind plus the engine-level back-compat test.

    Declaration
    public void CreateFromJson_SubclassBaseTypeName_RoundTripsToBaseResolution()

    CreateFromJson_UnknownAggregate_ReturnsCreatorValidationError()

    Declaration
    public void CreateFromJson_UnknownAggregate_ReturnsCreatorValidationError()

    CreateFromJson_UnknownSubclassBaseTypeName_ReturnsResolverError()

    Declaration
    public void CreateFromJson_UnknownSubclassBaseTypeName_ReturnsResolverError()

    CreateFromJson_ValidSpec_CreatesTheServiceAndRoundTripsTheReport()

    Declaration
    public void CreateFromJson_ValidSpec_CreatesTheServiceAndRoundTripsTheReport()

    Report_ToJson_ContainsSchemaVersion()

    Declaration
    public void Report_ToJson_ContainsSchemaVersion()

    SetUp()

    Declaration
    public void SetUp()

    TearDown()

    Declaration
    public void TearDown()
    In this article
    © 2026 Serenity. All Rights Reserved