hm as far as i can see  you never reset requests request  which  imo  is a bad thing  a better way to accomplish what you want is by using mock patch in a context manager mock request mock mock mock request return value requests response mock request return value status code mock request return value headers  x server management url blah com x auth token blah with mock patch  requests request mock request instance authenticate mock request assert called once with mock any  mock any  timeout headers mock any  verify mock any  config mock any this will isolate the patch on requests request to just the call to instance authenticate i will also frequently use the decorator form of mock patch in this instance  e g something like  mock patch  requests request return value requests response def test client with timeout self  mock request mock request return value status code mock request return value headers instance authenticate mock request assert called once with 