Skip to content

Commit 1b1a978

Browse files
committed
add skips for expressions tests
1 parent c669bb5 commit 1b1a978

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
@@ -34,6 +35,8 @@ class DatabaseFeatures(BaseDatabaseFeatures):
3435
"db_functions.tests.FunctionTests.test_nested_function_ordering",
3536
"db_functions.text.test_length.LengthTests.test_ordering",
3637
"db_functions.text.test_strindex.StrIndexTests.test_order_by",
38+
"expressions.tests.BasicExpressionsTests.test_order_by_exists",
39+
"expressions.tests.BasicExpressionsTests.test_order_by_multiline_sql",
3740
"expressions_case.tests.CaseExpressionTests.test_order_by_conditional_explicit",
3841
"lookup.tests.LookupQueryingTests.test_lookup_in_order_by",
3942
"ordering.tests.OrderingTests.test_default_ordering_by_f_expression",
@@ -61,6 +64,23 @@ class DatabaseFeatures(BaseDatabaseFeatures):
6164
"model_fields.test_jsonfield.TestQuerying.test_order_grouping_custom_decoder",
6265
"model_fields.test_jsonfield.TestQuerying.test_ordering_by_transform",
6366
"model_fields.test_jsonfield.TestQuerying.test_ordering_grouping_by_key_transform",
67+
# DatabaseOperations.convert_decimalfield_value() crash:
68+
# 'int' object has no attribute 'to_decimal'.
69+
"expressions.tests.ExpressionsNumericTests.test_filter_decimal_expression",
70+
"expressions.tests.ValueTests.test_output_field_decimalfield",
71+
# pymongo.errors.OperationFailure: $multiply only supports numeric
72+
# types, not date. (should be wrapped in DatabaseError).
73+
"expressions.tests.FTimeDeltaTests.test_invalid_operator",
74+
# InvalidDocument: cannot encode object of type: <class 'datetime.time'>
75+
"expressions.tests.FTimeDeltaTests.test_time_subtraction",
76+
# crash in DatabaseOperations.convert_durationfield_value():
77+
# unsupported type for timedelta milliseconds component: Decimal128
78+
"expressions.tests.FTimeDeltaTests.test_durationfield_multiply_divide",
79+
# 'Ref' object has no attribute 'as_mql'.
80+
"expressions.tests.BasicExpressionsTests.test_aggregate_subquery_annotation",
81+
# AttributeError: pattern_ops
82+
"expressions.tests.BasicExpressionsTests.test_annotation_with_nested_outerref",
83+
"expressions.tests.BasicExpressionsTests.test_nested_outerref_with_function",
6484
}
6585
# $bitAnd, #bitOr, and $bitXor are new in MongoDB 6.3.
6686
_django_test_expected_failures_bitwise = {
@@ -84,6 +104,10 @@ def django_test_expected_failures(self):
84104
"Insert expressions aren't supported.": {
85105
"bulk_create.tests.BulkCreateTests.test_bulk_insert_now",
86106
"bulk_create.tests.BulkCreateTests.test_bulk_insert_expressions",
107+
"expressions.tests.BasicExpressionsTests.test_new_object_create",
108+
"expressions.tests.BasicExpressionsTests.test_new_object_save",
109+
"expressions.tests.BasicExpressionsTests.test_object_create_with_aggregate",
110+
"expressions.tests.BasicExpressionsTests.test_object_create_with_f_expression_in_subquery",
87111
# PI()
88112
"db_functions.math.test_round.RoundTests.test_decimal_with_precision",
89113
"db_functions.math.test_round.RoundTests.test_float_with_precision",
@@ -108,6 +132,21 @@ def django_test_expected_failures(self):
108132
"db_functions.text.test_replace.ReplaceTests.test_update",
109133
"db_functions.text.test_substr.SubstrTests.test_basic",
110134
"db_functions.text.test_upper.UpperTests.test_basic",
135+
"expressions.tests.BasicExpressionsTests.test_arithmetic",
136+
"expressions.tests.BasicExpressionsTests.test_filter_with_join",
137+
"expressions.tests.BasicExpressionsTests.test_object_update",
138+
"expressions.tests.BasicExpressionsTests.test_object_update_unsaved_objects",
139+
"expressions.tests.BasicExpressionsTests.test_order_of_operations",
140+
"expressions.tests.BasicExpressionsTests.test_parenthesis_priority",
141+
"expressions.tests.BasicExpressionsTests.test_update",
142+
"expressions.tests.BasicExpressionsTests.test_update_with_fk",
143+
"expressions.tests.BasicExpressionsTests.test_update_with_none",
144+
"expressions.tests.ExpressionsNumericTests.test_decimal_expression",
145+
"expressions.tests.ExpressionsNumericTests.test_increment_value",
146+
"expressions.tests.FTimeDeltaTests.test_delta_update",
147+
"expressions.tests.FTimeDeltaTests.test_negative_timedelta_update",
148+
"expressions.tests.ValueTests.test_update_TimeField_using_Value",
149+
"expressions.tests.ValueTests.test_update_UUIDField_using_Value",
111150
"expressions_case.tests.CaseDocumentationExamples.test_conditional_update_example",
112151
"expressions_case.tests.CaseExpressionTests.test_update",
113152
"expressions_case.tests.CaseExpressionTests.test_update_big_integer",
@@ -206,6 +245,8 @@ def django_test_expected_failures(self):
206245
"expressions_case.tests.CaseExpressionTests.test_aggregate_with_expression_as_value",
207246
"expressions_case.tests.CaseExpressionTests.test_aggregation_empty_cases",
208247
"lookup.tests.LookupQueryingTests.test_aggregate_combined_lookup",
248+
"expressions.test_queryset_values.ValuesExpressionsTests.test_chained_values_with_expression",
249+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_expression_group_by",
209250
"from_db_value.tests.FromDBValueTest.test_aggregation",
210251
"timezones.tests.LegacyDatabaseTests.test_query_aggregation",
211252
"timezones.tests.NewDatabaseTests.test_query_aggregation",
@@ -222,6 +263,7 @@ def django_test_expected_failures(self):
222263
"annotations.tests.NonAggregateAnnotationTestCase.test_full_expression_annotation_with_aggregation",
223264
"annotations.tests.NonAggregateAnnotationTestCase.test_grouping_by_q_expression_annotation",
224265
"annotations.tests.NonAggregateAnnotationTestCase.test_q_expression_annotation_with_aggregation",
266+
"expressions.tests.FieldTransformTests.test_month_aggregation",
225267
"expressions_case.tests.CaseDocumentationExamples.test_conditional_aggregation_example",
226268
# Func not implemented.
227269
"annotations.tests.NonAggregateAnnotationTestCase.test_custom_functions",
@@ -238,6 +280,17 @@ def django_test_expected_failures(self):
238280
},
239281
"Exists is not supported on MongoDB.": {
240282
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_exists_none_query",
283+
"expressions.tests.BasicExpressionsTests.test_annotation_with_deeply_nested_outerref",
284+
"expressions.tests.BasicExpressionsTests.test_boolean_expression_combined",
285+
"expressions.tests.BasicExpressionsTests.test_boolean_expression_combined_with_empty_Q",
286+
"expressions.tests.BasicExpressionsTests.test_boolean_expression_in_Q",
287+
"expressions.tests.BasicExpressionsTests.test_case_in_filter_if_boolean_output_field",
288+
"expressions.tests.BasicExpressionsTests.test_exists_in_filter",
289+
"expressions.tests.BasicExpressionsTests.test_subquery",
290+
"expressions.tests.ExistsTests.test_filter_by_empty_exists",
291+
"expressions.tests.ExistsTests.test_negated_empty_exists",
292+
"expressions.tests.ExistsTests.test_optimizations",
293+
"expressions.tests.ExistsTests.test_select_negated_empty_exists",
241294
"lookup.tests.LookupTests.test_exact_exists",
242295
"lookup.tests.LookupTests.test_nested_outerref_lhs",
243296
"lookup.tests.LookupQueryingTests.test_filter_exists_lhs",
@@ -246,6 +299,19 @@ def django_test_expected_failures(self):
246299
"annotations.tests.NonAggregateAnnotationTestCase.test_empty_queryset_annotation",
247300
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_outerref",
248301
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_subquery_with_parameters",
302+
"expressions.tests.BasicExpressionsTests.test_annotation_with_outerref",
303+
"expressions.tests.BasicExpressionsTests.test_annotations_within_subquery",
304+
"expressions.tests.BasicExpressionsTests.test_in_subquery",
305+
"expressions.tests.BasicExpressionsTests.test_nested_subquery",
306+
"expressions.tests.BasicExpressionsTests.test_nested_subquery_join_outer_ref",
307+
"expressions.tests.BasicExpressionsTests.test_nested_subquery_outer_ref_2",
308+
"expressions.tests.BasicExpressionsTests.test_nested_subquery_outer_ref_with_autofield",
309+
"expressions.tests.BasicExpressionsTests.test_subquery_filter_by_aggregate",
310+
"expressions.tests.BasicExpressionsTests.test_subquery_filter_by_lazy",
311+
"expressions.tests.BasicExpressionsTests.test_subquery_group_by_outerref_in_filter",
312+
"expressions.tests.BasicExpressionsTests.test_subquery_in_filter",
313+
"expressions.tests.BasicExpressionsTests.test_subquery_references_joined_table_twice",
314+
"expressions.tests.BasicExpressionsTests.test_uuid_pk_subquery",
249315
"lookup.tests.LookupQueryingTests.test_filter_subquery_lhs",
250316
"model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_on_subquery",
251317
"model_fields.test_jsonfield.TestQuerying.test_obj_subquery_lookup",
@@ -254,6 +320,9 @@ def django_test_expected_failures(self):
254320
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_and_alias_filter_in_subquery",
255321
"annotations.tests.NonAggregateAnnotationTestCase.test_empty_expression_annotation",
256322
"db_functions.comparison.test_coalesce.CoalesceTests.test_empty_queryset",
323+
"expressions.tests.FTimeDeltaTests.test_date_subquery_subtraction",
324+
"expressions.tests.FTimeDeltaTests.test_datetime_subquery_subtraction",
325+
"expressions.tests.FTimeDeltaTests.test_time_subquery_subtraction",
257326
"expressions_case.tests.CaseExpressionTests.test_in_subquery",
258327
"lookup.tests.LookupTests.test_exact_query_rhs_with_selected_columns",
259328
"lookup.tests.LookupTests.test_exact_sliced_queryset_limit_one",
@@ -322,6 +391,14 @@ def django_test_expected_failures(self):
322391
"defer.tests.DeferTests.test_only_baseclass_when_subclass_has_no_added_fields",
323392
"defer.tests.TestDefer2.test_defer_inheritance_pk_chaining",
324393
"defer_regress.tests.DeferRegressionTest.test_ticket_16409",
394+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_expression",
395+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_list_expression",
396+
"expressions.test_queryset_values.ValuesExpressionsTests.test_values_list_expression_flat",
397+
"expressions.tests.BasicExpressionsTests.test_annotate_values_aggregate",
398+
"expressions.tests.BasicExpressionsTests.test_outerref_mixed_case_table_name",
399+
"expressions.tests.BasicExpressionsTests.test_outerref_with_operator",
400+
"expressions.tests.IterableLookupInnerExpressionsTests.test_expressions_in_lookups_join_choice",
401+
"expressions.tests.IterableLookupInnerExpressionsTests.test_in_lookup_allows_F_expressions_and_expressions_for_datetimes",
325402
"expressions_case.tests.CaseExpressionTests.test_annotate_with_aggregation_in_condition",
326403
"expressions_case.tests.CaseExpressionTests.test_annotate_with_aggregation_in_predicate",
327404
"expressions_case.tests.CaseExpressionTests.test_annotate_with_aggregation_in_value",
@@ -378,6 +455,8 @@ def django_test_expected_failures(self):
378455
},
379456
"Test executes raw SQL.": {
380457
"annotations.tests.NonAggregateAnnotationTestCase.test_raw_sql_with_inherited_field",
458+
"expressions.tests.BasicExpressionsTests.test_annotate_values_filter",
459+
"expressions.tests.BasicExpressionsTests.test_filtering_on_rawsql_that_is_boolean",
381460
"model_fields.test_jsonfield.TestQuerying.test_key_sql_injection_escape",
382461
"model_fields.test_jsonfield.TestQuerying.test_key_transform_raw_expression",
383462
"model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_raw_expression",
@@ -417,6 +496,7 @@ def django_test_expected_failures(self):
417496
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_date_func",
418497
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_date_none",
419498
"db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_lookup_name_sql_injection",
499+
"expressions.tests.FieldTransformTests.test_multiple_transforms_in_values",
420500
"model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_with_use_tz",
421501
"model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_without_use_tz",
422502
"timezones.tests.NewDatabaseTests.test_query_convert_timezones",

0 commit comments

Comments
 (0)