Skip to content

Commit 56e2386

Browse files
authored
docs: Add test for Session Invalidation (#1483)
1 parent 2284466 commit 56e2386

1 file changed

Lines changed: 28 additions & 1 deletion

File tree

  • extensions/data-transfer/portability-data-transfer-generic/src/test/java/org/datatransferproject/datatransfer/generic

extensions/data-transfer/portability-data-transfer-generic/src/test/java/org/datatransferproject/datatransfer/generic/GenericImporterTest.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.datatransferproject.spi.cloud.storage.TemporaryPerJobDataStore;
2121
import org.datatransferproject.spi.transfer.idempotentexecutor.InMemoryIdempotentImportExecutor;
2222
import org.datatransferproject.spi.transfer.types.DestinationMemoryFullException;
23+
import org.datatransferproject.spi.transfer.types.SessionInvalidatedException;
2324
import org.datatransferproject.transfer.JobMetadata;
2425
import org.datatransferproject.types.common.models.IdOnlyContainerResource;
2526
import org.datatransferproject.types.transfer.auth.AppCredentials;
@@ -277,7 +278,7 @@ public void testGenericImporterBadRequest() throws Exception {
277278
assertEquals("itemId", error.title());
278279
assertContains("(400) bad_request", error.exception());
279280
}
280-
281+
281282
@Test
282283
public void testGenericImporterUnexpectedResponse() throws Exception {
283284
InMemoryIdempotentImportExecutor executor = new InMemoryIdempotentImportExecutor(monitor);
@@ -426,4 +427,30 @@ public void testGenericImporterPassingJobMetadataRecurringJob() throws Exception
426427
assertTrue(executor.getErrors().isEmpty());
427428
}
428429

430+
@Test
431+
public void testSessionInvalidatedException() throws Exception {
432+
InMemoryIdempotentImportExecutor executor = new InMemoryIdempotentImportExecutor(monitor);
433+
GenericImporter<IdOnlyContainerResource, String> importer =
434+
getImporter(
435+
importerClass,
436+
container ->
437+
List.of(
438+
new ImportableData<>(
439+
new GenericPayload<>(container.getId(), "schemasource"),
440+
container.getId(),
441+
container.getId())));
442+
webServer.enqueue(new MockResponse()
443+
.setResponseCode(401)
444+
.setBody("{\"error\":\"invalid_token\"}"));
445+
webServer.enqueue(new MockResponse().setResponseCode(401).setBody("{\"error\":\"session_invalidated\"}"));
446+
447+
assertThrows(SessionInvalidatedException.class, () -> {
448+
importer.importItem(
449+
UUID.randomUUID(),
450+
executor,
451+
new TokensAndUrlAuthData(
452+
"accessToken", "refreshToken", webServer.url("/refresh").toString()),
453+
new IdOnlyContainerResource("itemId"));
454+
});
455+
}
429456
}

0 commit comments

Comments
 (0)