def test_request_throttling_multiple_throttles(self, monkeypatch):
        """
        Ensure all throttle classes see each request even when the request is
        already being throttled
        """
        with self.set_throttle_timer(
            monkeypatch, User3SecRateThrottle, User6MinRateThrottle, value=0
        ):
            for _dummy in range(4):
                response = client.get("throttling_multiple_throttle", user=self.user)
            assert response.status_code == 429
            assert int(response["retry-after"]) == 1

        # At this point our client made 4 requests (one was throttled) in a
        # second. If we advance the timer by one additional second, the client
        # should be allowed to make 2 more before being throttled by the 2nd
        # throttle class, which has a limit of 6 per minute.
        with self.set_throttle_timer(
            monkeypatch, User3SecRateThrottle, User6MinRateThrottle, value=1
        ):
            for _dummy in range(2):
                response = client.get("throttling_multiple_throttle", user=self.user)
                assert response.status_code == 200

            response = client.get("throttling_multiple_throttle", user=self.user)
            assert response.status_code == 429
            assert int(response["retry-after"]) == 59

        # Just to make sure check again after two more seconds.
        with self.set_throttle_timer(
            monkeypatch, User3SecRateThrottle, User6MinRateThrottle, value=2
        ):
            response = client.get("throttling_multiple_throttle", user=self.user)
            assert response.status_code == 429
            assert int(response["retry-after"]) == 58

        Ensure all throttle classes see each request even when the request is
        already being throttled
        
tests/test_throthling/test_decorator.py