### Question:
B2UploadPartUrlCache { B2UploadPartUrlResponse get(boolean isRetry) throws B2Exception { if (!isRetry) { synchronized (this) { B2UploadPartUrlResponse response = responses.pollFirst(); if (response != null) { return response; } } } final B2GetUploadPartUrlRequest request = B2GetUploadPartUrlRequest.builder(largeFileId).build(); return webifier.getUploadPartUrl(accountAuthCache.get(), request); } B2UploadPartUrlCache(B2StorageClientWebifier webifier,
                         B2AccountAuthorizationCache accountAuthCache,
                         String largeFileId);   }### Answer:
@Test public void testExceptionFromAuthCache() throws B2Exception { final B2Exception e = new B2InternalErrorException("testing", "testing message"); doThrow(e).when(authCache).get(); thrown.expect(B2InternalErrorException.class); thrown.expectMessage("testing message"); uploadPartCache.get(false); }
@Test public void testExceptionFromWebifier() throws B2Exception { final B2Exception e = new B2InternalErrorException("testing", "testing message"); doThrow(e).when(webifier).getUploadPartUrl(anyObject(), anyObject()); thrown.expect(B2InternalErrorException.class); thrown.expectMessage("testing message"); uploadPartCache.get(false); }