An http test, test__calculate_wait, randomly fails
The test `test__calculate_wait()`, which compares a randomly generated number with a list of hard-coded numbers, randomly fails.

Here's the traceback:

```
tests/unit/test_http.py:277: AssertionError

    def test__calculate_wait():
        max_retry_backoff = 20
        wait_times = [
            http.Session._calculate_wait(i + 1, max_retry_backoff)
            for i in range(5)
        ]
    
        # (min, max): 2**n to 2**n + 1, last entry hit threshold
        expected_times = [2, 4, 8, 16, 20]
    
        for wait, expected in zip(wait_times, expected_times):
            # this doesn't really test the randomness but does test exponential
            # and threshold
>           assert math.floor(wait) == expected
E           assert 17 == 16
E            +  where 17 = <built-in function floor>(17.0)
E            +    where <built-in function floor> = math.floor
```

"random is, unpredictably, often trouble"
-@jreiberkyle
diff --git a/planet/http.py b/planet/http.py
index d554c4a..97983c0 100644
--- a/planet/http.py
+++ b/planet/http.py
@@ -335,7 +335,7 @@ class Session(BaseSession):
         """Calculates retry wait
 
         Base wait period is calculated as a exponential based on the number of
-        tries. Then, a random jitter of up to 1s is added to the base wait
+        tries. Then, a random jitter of up to 999ms is added to the base wait
         to avoid waves of requests in the case of multiple requests. Finally,
         the wait is thresholded to the maximum retry backoff.
 
@@ -347,7 +347,7 @@ class Session(BaseSession):
         * https://developers.planet.com/docs/data/api-mechanics/
         * https://cloud.google.com/iot/docs/how-tos/exponential-backoff
         """
-        random_number_milliseconds = random.randint(0, 1000) / 1000.0
+        random_number_milliseconds = random.randint(0, 999) / 1000.0
         calc_wait = 2**num_tries + random_number_milliseconds
         return min(calc_wait, max_retry_backoff)
 
['planet/http.py']