Skip to content

Commit fe5197c

Browse files
committed
add skips for expressions tests
1 parent 833c64a commit fe5197c

File tree

2 files changed

+81
-8
lines changed

2 files changed

+81
-8
lines changed

.github/workflows/test-python.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,7 @@ jobs:
7676
datetimes
7777
db_functions
7878
empty
79-
expressions.tests.BasicExpressionsTests.test_ticket_11722_iexact_lookup
80-
expressions.tests.BasicExpressionsTests.test_ticket_16731_startswith_lookup
81-
expressions.tests.ExpressionOperatorTests
82-
expressions.tests.ExpressionsTests.test_insensitive_patterns_escape
83-
expressions.tests.ExpressionsTests.test_patterns_escape
84-
expressions.tests.FieldTransformTests.test_transform_in_values
85-
expressions.tests.FTimeDeltaTests.test_date_minus_duration
86-
expressions.tests.NegatedExpressionTests
79+
expressions
8780
expressions_case
8881
defer
8982
defer_regress

django_mongodb/features.py

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
1212
supports_json_field_contains = False
1313
# BSON Date type doesn't support microsecond precision.
1414
supports_microsecond_precision = False
15+
supports_temporal_subtraction = True
1516
# MongoDB stores datetimes in UTC.
1617
supports_timezones = False
1718
# Not implemented: https://github.com/mongodb-labs/django-mongodb/issues/7
@@ -32,6 +33,8 @@ class DatabaseFeatures(BaseDatabaseFeatures):
3233
"db_functions.tests.FunctionTests.test_nested_function_ordering",
3334
"db_functions.text.test_length.LengthTests.test_ordering",
3435
"db_functions.text.test_strindex.StrIndexTests.test_order_by",
36+
"expressions.tests.BasicExpressionsTests.test_order_by_exists",
37+
"expressions.tests.BasicExpressionsTests.test_order_by_multiline_sql",
3538
"expressions_case.tests.CaseExpressionTests.test_order_by_conditional_explicit",
3639
"lookup.tests.LookupQueryingTests.test_lookup_in_order_by",
3740
"ordering.tests.OrderingTests.test_default_ordering",
@@ -86,11 +89,33 @@ class DatabaseFeatures(BaseDatabaseFeatures):
8689
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_reverse_m2m",
8790
"annotations.tests.NonAggregateAnnotationTestCase.test_chaining_annotation_filter_with_m2m",
8891
"lookup.tests.LookupTests.test_lookup_collision",
92+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_list_expression",
93+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_list_expression_flat",
8994
"expressions_case.tests.CaseExpressionTests.test_join_promotion",
9095
"expressions_case.tests.CaseExpressionTests.test_join_promotion_multiple_annotations",
9196
"ordering.tests.OrderingTests.test_order_by_grandparent_fk_with_expression_in_default_ordering",
9297
"ordering.tests.OrderingTests.test_order_by_parent_fk_with_expression_in_default_ordering",
9398
"ordering.tests.OrderingTests.test_order_by_ptr_field_with_default_ordering_by_expression",
99+
# 'Col' object has no attribute 'utcoffset'
100+
"expressions.tests.IterableLookupInnerExpressionsTests.test_expressions_in_lookups_join_choice",
101+
"expressions.tests.IterableLookupInnerExpressionsTests.test_in_lookup_allows_F_expressions_and_expressions_for_datetimes",
102+
# DatabaseOperations.convert_decimalfield_value() crash:
103+
# 'int' object has no attribute 'to_decimal'.
104+
"expressions.tests.ExpressionsNumericTests.test_filter_decimal_expression",
105+
"expressions.tests.ValueTests.test_output_field_decimalfield",
106+
# pymongo.errors.OperationFailure: $multiply only supports numeric
107+
# types, not date. (should be wrapped in DatabaseError).
108+
"expressions.tests.FTimeDeltaTests.test_invalid_operator",
109+
# InvalidDocument: cannot encode object of type: <class 'datetime.time'>
110+
"expressions.tests.FTimeDeltaTests.test_time_subtraction",
111+
# crash in DatabaseOperations.convert_durationfield_value():
112+
# unsupported type for timedelta milliseconds component: Decimal128
113+
"expressions.tests.FTimeDeltaTests.test_durationfield_multiply_divide",
114+
# 'Ref' object has no attribute 'as_mql'.
115+
"expressions.tests.BasicExpressionsTests.test_aggregate_subquery_annotation",
116+
# AttributeError: pattern_ops
117+
"expressions.tests.BasicExpressionsTests.test_annotation_with_nested_outerref",
118+
"expressions.tests.BasicExpressionsTests.test_nested_outerref_with_function",
94119
}
95120
# $bitAnd, #bitOr, and $bitXor are new in MongoDB 6.3.
96121
_django_test_expected_failures_bitwise = {
@@ -114,6 +139,10 @@ def django_test_expected_failures(self):
114139
"Insert expressions aren't supported.": {
115140
"bulk_create.tests.BulkCreateTests.test_bulk_insert_now",
116141
"bulk_create.tests.BulkCreateTests.test_bulk_insert_expressions",
142+
"expressions.tests.BasicExpressionsTests.test_new_object_create",
143+
"expressions.tests.BasicExpressionsTests.test_new_object_save",
144+
"expressions.tests.BasicExpressionsTests.test_object_create_with_aggregate",
145+
"expressions.tests.BasicExpressionsTests.test_object_create_with_f_expression_in_subquery",
117146
# PI()
118147
"db_functions.math.test_round.RoundTests.test_decimal_with_precision",
119148
"db_functions.math.test_round.RoundTests.test_float_with_precision",
@@ -138,6 +167,21 @@ def django_test_expected_failures(self):
138167
"db_functions.text.test_replace.ReplaceTests.test_update",
139168
"db_functions.text.test_substr.SubstrTests.test_basic",
140169
"db_functions.text.test_upper.UpperTests.test_basic",
170+
"expressions.tests.BasicExpressionsTests.test_arithmetic",
171+
"expressions.tests.BasicExpressionsTests.test_filter_with_join",
172+
"expressions.tests.BasicExpressionsTests.test_object_update",
173+
"expressions.tests.BasicExpressionsTests.test_object_update_unsaved_objects",
174+
"expressions.tests.BasicExpressionsTests.test_order_of_operations",
175+
"expressions.tests.BasicExpressionsTests.test_parenthesis_priority",
176+
"expressions.tests.BasicExpressionsTests.test_update",
177+
"expressions.tests.BasicExpressionsTests.test_update_with_fk",
178+
"expressions.tests.BasicExpressionsTests.test_update_with_none",
179+
"expressions.tests.ExpressionsNumericTests.test_decimal_expression",
180+
"expressions.tests.ExpressionsNumericTests.test_increment_value",
181+
"expressions.tests.FTimeDeltaTests.test_delta_update",
182+
"expressions.tests.FTimeDeltaTests.test_negative_timedelta_update",
183+
"expressions.tests.ValueTests.test_update_TimeField_using_Value",
184+
"expressions.tests.ValueTests.test_update_UUIDField_using_Value",
141185
"expressions_case.tests.CaseDocumentationExamples.test_conditional_update_example",
142186
"expressions_case.tests.CaseExpressionTests.test_update",
143187
"expressions_case.tests.CaseExpressionTests.test_update_big_integer",
@@ -215,6 +259,9 @@ def django_test_expected_failures(self):
215259
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_subquery_and_aggregate_values_chaining",
216260
"annotations.tests.NonAggregateAnnotationTestCase.test_filter_agg_with_double_f",
217261
"annotations.tests.NonAggregateAnnotationTestCase.test_values_with_pk_annotation",
262+
"expressions.test_queryset_values.ValuesExpressionsTests.test_chained_values_with_expression",
263+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_expression_group_by",
264+
"expressions.tests.BasicExpressionsTests.test_annotate_values_aggregate",
218265
"expressions_case.tests.CaseExpressionTests.test_aggregate",
219266
"expressions_case.tests.CaseExpressionTests.test_aggregate_with_expression_as_condition",
220267
"expressions_case.tests.CaseExpressionTests.test_aggregate_with_expression_as_value",
@@ -251,6 +298,7 @@ def django_test_expected_failures(self):
251298
"defer_regress.tests.DeferRegressionTest.test_basic",
252299
"defer_regress.tests.DeferRegressionTest.test_defer_annotate_select_related",
253300
"defer_regress.tests.DeferRegressionTest.test_ticket_16409",
301+
"expressions.tests.FieldTransformTests.test_month_aggregation",
254302
"expressions_case.tests.CaseDocumentationExamples.test_conditional_aggregation_example",
255303
# Func not implemented.
256304
"annotations.tests.NonAggregateAnnotationTestCase.test_custom_functions",
@@ -269,6 +317,17 @@ def django_test_expected_failures(self):
269317
},
270318
"Exists is not supported on MongoDB.": {
271319
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_exists_none_query",
320+
"expressions.tests.BasicExpressionsTests.test_annotation_with_deeply_nested_outerref",
321+
"expressions.tests.BasicExpressionsTests.test_boolean_expression_combined",
322+
"expressions.tests.BasicExpressionsTests.test_boolean_expression_combined_with_empty_Q",
323+
"expressions.tests.BasicExpressionsTests.test_boolean_expression_in_Q",
324+
"expressions.tests.BasicExpressionsTests.test_case_in_filter_if_boolean_output_field",
325+
"expressions.tests.BasicExpressionsTests.test_exists_in_filter",
326+
"expressions.tests.BasicExpressionsTests.test_subquery",
327+
"expressions.tests.ExistsTests.test_filter_by_empty_exists",
328+
"expressions.tests.ExistsTests.test_negated_empty_exists",
329+
"expressions.tests.ExistsTests.test_optimizations",
330+
"expressions.tests.ExistsTests.test_select_negated_empty_exists",
272331
"lookup.tests.LookupTests.test_exact_exists",
273332
"lookup.tests.LookupTests.test_nested_outerref_lhs",
274333
"lookup.tests.LookupQueryingTests.test_filter_exists_lhs",
@@ -279,6 +338,21 @@ def django_test_expected_failures(self):
279338
"annotations.tests.NonAggregateAnnotationTestCase.test_empty_queryset_annotation",
280339
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_outerref",
281340
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_subquery_with_parameters",
341+
"expressions.tests.BasicExpressionsTests.test_annotation_with_outerref",
342+
"expressions.tests.BasicExpressionsTests.test_annotations_within_subquery",
343+
"expressions.tests.BasicExpressionsTests.test_in_subquery",
344+
"expressions.tests.BasicExpressionsTests.test_nested_subquery",
345+
"expressions.tests.BasicExpressionsTests.test_nested_subquery_join_outer_ref",
346+
"expressions.tests.BasicExpressionsTests.test_nested_subquery_outer_ref_2",
347+
"expressions.tests.BasicExpressionsTests.test_nested_subquery_outer_ref_with_autofield",
348+
"expressions.tests.BasicExpressionsTests.test_outerref_mixed_case_table_name",
349+
"expressions.tests.BasicExpressionsTests.test_outerref_with_operator",
350+
"expressions.tests.BasicExpressionsTests.test_subquery_filter_by_aggregate",
351+
"expressions.tests.BasicExpressionsTests.test_subquery_filter_by_lazy",
352+
"expressions.tests.BasicExpressionsTests.test_subquery_group_by_outerref_in_filter",
353+
"expressions.tests.BasicExpressionsTests.test_subquery_in_filter",
354+
"expressions.tests.BasicExpressionsTests.test_subquery_references_joined_table_twice",
355+
"expressions.tests.BasicExpressionsTests.test_uuid_pk_subquery",
282356
"lookup.tests.LookupQueryingTests.test_filter_subquery_lhs",
283357
"model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_on_subquery",
284358
"model_fields.test_jsonfield.TestQuerying.test_obj_subquery_lookup",
@@ -288,6 +362,9 @@ def django_test_expected_failures(self):
288362
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_and_alias_filter_related_in_subquery",
289363
"annotations.tests.NonAggregateAnnotationTestCase.test_empty_expression_annotation",
290364
"db_functions.comparison.test_coalesce.CoalesceTests.test_empty_queryset",
365+
"expressions.tests.FTimeDeltaTests.test_date_subquery_subtraction",
366+
"expressions.tests.FTimeDeltaTests.test_datetime_subquery_subtraction",
367+
"expressions.tests.FTimeDeltaTests.test_time_subquery_subtraction",
291368
"expressions_case.tests.CaseExpressionTests.test_in_subquery",
292369
"lookup.tests.LookupTests.test_exact_query_rhs_with_selected_columns",
293370
"lookup.tests.LookupTests.test_exact_sliced_queryset_limit_one",
@@ -342,6 +419,8 @@ def django_test_expected_failures(self):
342419
},
343420
"Test executes raw SQL.": {
344421
"annotations.tests.NonAggregateAnnotationTestCase.test_raw_sql_with_inherited_field",
422+
"expressions.tests.BasicExpressionsTests.test_annotate_values_filter",
423+
"expressions.tests.BasicExpressionsTests.test_filtering_on_rawsql_that_is_boolean",
345424
"model_fields.test_jsonfield.TestQuerying.test_key_sql_injection_escape",
346425
"model_fields.test_jsonfield.TestQuerying.test_key_transform_raw_expression",
347426
"model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_raw_expression",
@@ -381,6 +460,7 @@ def django_test_expected_failures(self):
381460
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_date_func",
382461
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_date_none",
383462
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_lookup_name_sql_injection",
463+
"expressions.tests.FieldTransformTests.test_multiple_transforms_in_values",
384464
"model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_with_use_tz",
385465
"model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_without_use_tz",
386466
"timezones.tests.NewDatabaseTests.test_query_convert_timezones",

0 commit comments

Comments
 (0)