View Javadoc
1   /*
2    * SPDX-FileCopyrightText: Copyright (c) 2012-2026 Yegor Bugayenko
3    * SPDX-License-Identifier: MIT
4    */
5   package com.jcabi.dynamo.retry;
6   
7   import com.jcabi.dynamo.Attributes;
8   import com.jcabi.dynamo.Region;
9   import com.jcabi.dynamo.Table;
10  import org.junit.jupiter.api.Assertions;
11  import org.junit.jupiter.api.Test;
12  import org.mockito.Mockito;
13  import software.amazon.awssdk.core.exception.SdkClientException;
14  
15  /**
16   * Test case for {@link ReRegion}.
17   * @since 0.1
18   */
19  final class ReRegionTest {
20  
21      @Test
22      void retriesAwsCalls() throws Exception {
23          final Table table = Mockito.mock(Table.class);
24          Mockito.doThrow(
25              SdkClientException.builder().message("hey you").build()
26          ).when(table).put(new Attributes());
27          final Region origin = Mockito.mock(Region.class);
28          Mockito.doReturn(table).when(origin).table(Mockito.anyString());
29          final Table retried = new ReRegion(origin).table("test");
30          Assertions.assertThrows(
31              SdkClientException.class,
32              () -> retried.put(new Attributes())
33          );
34      }
35  
36  }