Skip to content

Add string operator $substr/$substrBytes/$substrCP tests#80

Open
eerxuan wants to merge 3 commits intodocumentdb:mainfrom
eerxuan:upstream-substr-tests
Open

Add string operator $substr/$substrBytes/$substrCP tests#80
eerxuan wants to merge 3 commits intodocumentdb:mainfrom
eerxuan:upstream-substr-tests

Conversation

@eerxuan
Copy link
Copy Markdown
Collaborator

@eerxuan eerxuan commented Apr 10, 2026

Add compatibility tests for the $substr, $substrBytes, and $substrCP operators.

Ref: #10

Tests cover:

  • Core substring behavior
  • Encoding (UTF-8 byte vs code point handling)
  • Numeric and string coercion
  • Type errors and invalid arguments
  • Null/missing handling
  • Size limits
  • Expression arguments and document field usage

785 tests total.

@documentdb-triage-tool documentdb-triage-tool Bot added compatibility test Compatibility test related enhancement New feature or request labels Apr 29, 2026
@documentdb-triage-tool
Copy link
Copy Markdown

🤖 Auto-triaged by documentdb-triage-tool.

Applied: compatibility test, enhancement
Project fields suggested: Component test-coverage · Priority P2 · Effort XL · Status Needs Review
Confidence: 0.90 (mixed)

Reasoning

component from path globs (test-coverage, test-framework, ci); effort from diff stats (4994+1 LOC, 33 files); LLM: Adds 785 new compatibility tests for $substr/$substrBytes/$substrCP string operators, expanding test coverage across multiple scenarios within the test-coverage component.

If a label is wrong, remove it manually and ping @patty-chow so the rules can be tuned. The bot will not re-label items that already have component labels.

danielfrankcom and others added 2 commits April 30, 2026 12:04
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
- Add __init__.py for package resolution
- Add SUBSTR_*, SUBSTRCP_*, FIELD_PATH_NULL_BYTE_ERROR, OUT_OF_RANGE_CONVERSION_ERROR, INVALID_DOLLAR_FIELD_PATH, BSON_TO_STRING_CONVERSION_ERROR, STRING_SIZE_LIMIT_ERROR to error_codes.py
- Add STRING_SIZE_LIMIT_BYTES, DECIMAL128_MIN_POSITIVE, DECIMAL128_MAX_NEGATIVE to test_constants.py
- Fix pytest_params import (parametrize module)
- Use relative imports for operator common utils
- Pin CI MongoDB to 8.2.4
- Run isort/black formatting

Signed-off-by: Yunxuan Shi <yunxuan@amazon.com>
@eerxuan eerxuan force-pushed the upstream-substr-tests branch from 2ee935a to 4a20c82 Compare April 30, 2026 19:05
@eerxuan eerxuan requested a review from a team as a code owner April 30, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compatibility test Compatibility test related enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants