diff --git a/vanilla-tests/src/main/java/fixtures/inheritance/passdiscriminator/models/MetricAlertSingleResourceMultipleMetricCriteria.java b/vanilla-tests/src/main/java/fixtures/inheritance/passdiscriminator/models/MetricAlertSingleResourceMultipleMetricCriteria.java index 589799262d..6a7d8e583d 100644 --- a/vanilla-tests/src/main/java/fixtures/inheritance/passdiscriminator/models/MetricAlertSingleResourceMultipleMetricCriteria.java +++ b/vanilla-tests/src/main/java/fixtures/inheritance/passdiscriminator/models/MetricAlertSingleResourceMultipleMetricCriteria.java @@ -27,9 +27,8 @@ public class MetricAlertSingleResourceMultipleMetricCriteria extends MetricAlert /* * specifies the type of the alert criteria. */ - @JsonTypeId @JsonProperty(value = "odata\\.type", required = true) - private static final Odatatype ODATA_TYPE + private Odatatype ODATA_TYPE = Odatatype.MICROSOFT_AZURE_MONITOR_SINGLE_RESOURCE_MULTIPLE_METRIC_CRITERIA; /* diff --git a/vanilla-tests/src/test/java/fixtures/Bug.java b/vanilla-tests/src/test/java/fixtures/Bug.java new file mode 100644 index 0000000000..067a2884e5 --- /dev/null +++ b/vanilla-tests/src/test/java/fixtures/Bug.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package fixtures; + +import com.azure.core.util.BinaryData; +import fixtures.inheritance.passdiscriminator.models.MetricAlertCriteria; +import fixtures.inheritance.passdiscriminator.models.MetricAlertSingleResourceMultipleMetricCriteria; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class Bug { + + @Test + public void testSerialization() { + MetricAlertCriteria criteria = new MetricAlertSingleResourceMultipleMetricCriteria(); + String json = BinaryData.fromObject(criteria).toString(); + Assertions.assertTrue(json.contains("SingleResourceMultipleMetricCriteria")); + + criteria = BinaryData.fromString(json).toObject(MetricAlertCriteria.class); + Assertions.assertTrue(criteria instanceof MetricAlertCriteria); + + json = "{\"odata.type\": \"invalid\"}"; + criteria = BinaryData.fromString(json).toObject(MetricAlertCriteria.class); + } +}