Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .generator/src/generator/formatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ def format_data_with_schema(
imports = imports or defaultdict(set)
nullable = schema.get("nullable", False)

if schema.get("type") not in {"string", "integer", "boolean"} or schema.get("enum"):
if schema.get("type") not in {"string", "integer", "boolean", "number"} or schema.get("enum"):
name, imports = get_name_and_imports(schema, version, imports)
if schema.get("oneOf"):
name = None
Expand Down
30 changes: 30 additions & 0 deletions .generator/tests/test_formatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,33 @@ def test_dict_with_valid_identifiers_uses_constructor(self):
assert result.endswith(")")
assert "normal_key='value1'" in result
assert "another_key='value2'" in result


class SchemaWithReference(dict):
"""Dict subclass that carries a __reference__ attribute, mimicking a JsonRef proxy."""
def __init__(self, data, ref_name):
super().__init__(data)
self.__reference__ = {"$ref": f"#/components/schemas/{ref_name}"}


class TestFormatDataWithSchemaNamedNumberType:
def test_named_number_type_returns_raw_float(self):
schema = SchemaWithReference({"type": "number", "format": "double"}, "RumRetentionFilterSampleRate")
result, imports = format_data_with_schema(50.0, schema, version="v2")
assert result == "50.0"
assert "RumRetentionFilterSampleRate" not in result
assert all("rum_retention_filter_sample_rate" not in k for k in imports)

def test_named_integer_type_still_works(self):
schema = SchemaWithReference({"type": "integer", "format": "int64"}, "SomeNamedInteger")
result, imports = format_data_with_schema(42, schema, version="v2")
assert result == "42"
assert "SomeNamedInteger" not in result

def test_named_number_enum_still_uses_constructor(self):
schema = SchemaWithReference(
{"type": "number", "enum": [0.5, 1.0], "x-enum-varnames": ["HALF", "ONE"]},
"SomeNumberEnum",
)
result, imports = format_data_with_schema(0.5, schema, version="v2")
assert result == "SomeNumberEnum.HALF"
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from datadog_api_client.v2.model.rum_retention_filter_create_data import RumRetentionFilterCreateData
from datadog_api_client.v2.model.rum_retention_filter_create_request import RumRetentionFilterCreateRequest
from datadog_api_client.v2.model.rum_retention_filter_event_type import RumRetentionFilterEventType
from datadog_api_client.v2.model.rum_retention_filter_sample_rate import RumRetentionFilterSampleRate
from datadog_api_client.v2.model.rum_retention_filter_type import RumRetentionFilterType

body = RumRetentionFilterCreateRequest(
Expand All @@ -18,7 +17,7 @@
name="Test creating retention filter",
event_type=RumRetentionFilterEventType.SESSION,
query="custom_query",
sample_rate=RumRetentionFilterSampleRate(50.0),
sample_rate=50.0,
enabled=True,
),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.rum_retention_filters_api import RumRetentionFiltersApi
from datadog_api_client.v2.model.rum_retention_filter_event_type import RumRetentionFilterEventType
from datadog_api_client.v2.model.rum_retention_filter_sample_rate import RumRetentionFilterSampleRate
from datadog_api_client.v2.model.rum_retention_filter_type import RumRetentionFilterType
from datadog_api_client.v2.model.rum_retention_filter_update_attributes import RumRetentionFilterUpdateAttributes
from datadog_api_client.v2.model.rum_retention_filter_update_data import RumRetentionFilterUpdateData
Expand All @@ -19,7 +18,7 @@
name="Test updating retention filter",
event_type=RumRetentionFilterEventType.VIEW,
query="view_query",
sample_rate=RumRetentionFilterSampleRate(100.0),
sample_rate=100.0,
enabled=True,
),
),
Expand Down
Loading