Add typing for all the TestCase functions.

Review Request #13413 — Created Nov. 14, 2023 and updated

Information

Review Board
release-5.0.x

Reviewers

This updates all the object creation functions and utility context
managers in TestCase to provide type hints. This helps to write better
type-safe unit tests, and resolves a lot of problems that currently
exist when passing in values that default to None or accept multiple
value types.

In the process, documentation has been updated to meet current standards.

There are a couple of fixes in here. For instance, create_visit()
ignored the timestamp field and didn't normalize user correctly, and
http_request() passed in bad empty arguments when constructing a
ResolverMatch. These have been addressed.

All unit tests pass.

Summary ID
Add typing for all the TestCase functions.
This updates all the object creation functions and utility context managers in `TestCase` to provide type hints. This helps to write better type-safe unit tests, and resolves a lot of problems that currently exist when passing in values that default to `None` or accept multiple value types. There are a couple of fixes in here. For instance, `create_visit()` ignored the `timestamp` field and didn't normalize `user` correctly, and `http_request()` passed in bad empty arguments when constructing a `ResolverMatch`. These have been addressed.
3e8c036bb2a47abe8b665e78c31794d4580912cf
Description From Last Updated

This doesn't seem like a valuable thing to include in the version changed documentation. Type hints don't change the signature …

daviddavid
Checks run (2 succeeded)
flake8 passed.
JSHint passed.
david
  1. 
      
  2. reviewboard/testing/testcase.py (Diff revision 1)
     
     
     
     

    This doesn't seem like a valuable thing to include in the version changed documentation. Type hints don't change the signature or behavior of the method at all.

  3. 
      
Loading...