From 3b31b6962ffb08fe150a9f6623f6e647c1803d59 Mon Sep 17 00:00:00 2001 From: iscai-msft <43154838+iscai-msft@users.noreply.github.com> Date: Mon, 6 May 2024 18:04:40 -0400 Subject: [PATCH] add back extra missing tests (#2574) --- .../test_typetest_dictionary_async.py | 10 +++++++ ...test_typetest_property_valuetypes_async.py | 27 +++---------------- .../test_typetest_dictionary.py | 9 +++++++ .../test_typetest_property_valuetypes.py | 25 +++-------------- 4 files changed, 27 insertions(+), 44 deletions(-) diff --git a/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py b/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py index def81cc2e2b..364868b2357 100644 --- a/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +++ b/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py @@ -74,6 +74,16 @@ async def test_nullable_float_value(client: DictionaryClient): await client.nullable_float_value.put(value) +@pytest.mark.asyncio +async def test_recursive_model_value(client: DictionaryClient): + value = { + "k1": models.InnerModel(property="hello", children={}), + "k2": models.InnerModel(property="world", children={"k2.1": models.InnerModel(property="inner world")}), + } + assert await client.recursive_model_value.get() == value + await client.recursive_model_value.put(value) + + @pytest.mark.asyncio async def test_string_value(client: DictionaryClient): value = {"k1": "hello", "k2": ""} diff --git a/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py b/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py index 9b3dcec5a31..3ed1adae0f6 100644 --- a/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +++ b/packages/typespec-python/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py @@ -17,29 +17,6 @@ async def client(): yield client -@pytest.mark.asyncio -async def test_model_deserialization(client: ValueTypesClient): - body = models.ModelProperty(property={"property": "hello"}) - assert body.property.property == body["property"]["property"] - await client.model.put(body) - - resp = await client.model.get() - assert resp.property.property == resp["property"]["property"] - - body = models.CollectionsModelProperty(property=[{"property": "hello"}, {"property": "world"}]) - assert body.property[0].property == body["property"][0]["property"] - resp = await client.collections_model.get() - assert resp.property[1].property == resp["property"][1]["property"] - - -@pytest.mark.asyncio -async def test_enum_property(): - for prop in ["ValueOne", models.FixedInnerEnum.VALUE_ONE]: - string_type = models.EnumProperty(property=prop) - assert isinstance(string_type.property, models.FixedInnerEnum) - assert isinstance(string_type["property"], str) - - @pytest.mark.asyncio async def test_boolean(client: ValueTypesClient): body = models.BooleanProperty(property=True) @@ -76,6 +53,8 @@ async def test_bytes(client: ValueTypesClient): async def test_collections_int(client: ValueTypesClient): body = models.CollectionsIntProperty(property=[1, 2]) assert body.property == body["property"] + await client.collections_int.put(body) + resp = await client.collections_int.get() assert resp.property == resp["property"] == [1, 2] @@ -84,6 +63,8 @@ async def test_collections_int(client: ValueTypesClient): async def test_collections_model(client: ValueTypesClient): body = models.CollectionsModelProperty(property=[{"property": "hello"}, {"property": "world"}]) assert body.property[0].property == body["property"][0]["property"] + await client.collections_model.put(body) + resp = await client.collections_model.get() assert resp.property[1].property == resp["property"][1]["property"] diff --git a/packages/typespec-python/test/generic_mock_api_tests/test_typetest_dictionary.py b/packages/typespec-python/test/generic_mock_api_tests/test_typetest_dictionary.py index f8704cf723c..98fb4165473 100644 --- a/packages/typespec-python/test/generic_mock_api_tests/test_typetest_dictionary.py +++ b/packages/typespec-python/test/generic_mock_api_tests/test_typetest_dictionary.py @@ -65,6 +65,15 @@ def test_nullable_float_value(client: DictionaryClient): client.nullable_float_value.put(value) +def test_recursive_model_value(client: DictionaryClient): + value = { + "k1": models.InnerModel(property="hello", children={}), + "k2": models.InnerModel(property="world", children={"k2.1": models.InnerModel(property="inner world")}), + } + assert client.recursive_model_value.get() == value + client.recursive_model_value.put(value) + + def test_string_value(client: DictionaryClient): value = {"k1": "hello", "k2": ""} assert client.string_value.get() == value diff --git a/packages/typespec-python/test/generic_mock_api_tests/test_typetest_property_valuetypes.py b/packages/typespec-python/test/generic_mock_api_tests/test_typetest_property_valuetypes.py index a82d937612e..49a657e618f 100644 --- a/packages/typespec-python/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +++ b/packages/typespec-python/test/generic_mock_api_tests/test_typetest_property_valuetypes.py @@ -17,27 +17,6 @@ def client(): yield client -def test_model_deserialization(client: ValueTypesClient): - body = models.ModelProperty(property={"property": "hello"}) - assert body.property.property == body["property"]["property"] - client.model.put(body) - - resp = client.model.get() - assert resp.property.property == resp["property"]["property"] - - body = models.CollectionsModelProperty(property=[{"property": "hello"}, {"property": "world"}]) - assert body.property[0].property == body["property"][0]["property"] - resp = client.collections_model.get() - assert resp.property[1].property == resp["property"][1]["property"] - - -def test_enum_property(): - for prop in ["ValueOne", models.FixedInnerEnum.VALUE_ONE]: - string_type = models.EnumProperty(property=prop) - assert isinstance(string_type.property, models.FixedInnerEnum) - assert isinstance(string_type["property"], str) - - def test_boolean(client: ValueTypesClient): body = models.BooleanProperty(property=True) assert body.property == body["property"] @@ -70,6 +49,8 @@ def test_bytes(client: ValueTypesClient): def test_collections_int(client: ValueTypesClient): body = models.CollectionsIntProperty(property=[1, 2]) assert body.property == body["property"] + client.collections_int.put(body) + resp = client.collections_int.get() assert resp.property == resp["property"] == [1, 2] @@ -77,6 +58,8 @@ def test_collections_int(client: ValueTypesClient): def test_collections_model(client: ValueTypesClient): body = models.CollectionsModelProperty(property=[{"property": "hello"}, {"property": "world"}]) assert body.property[0].property == body["property"][0]["property"] + client.collections_model.put(body) + resp = client.collections_model.get() assert resp.property[1].property == resp["property"][1]["property"]