package software.amazon.amplifyuibuilder.theme; import com.google.common.collect.ImmutableList; import software.amazon.awssdk.awscore.AwsRequest; import software.amazon.awssdk.awscore.AwsResponse; import software.amazon.awssdk.core.ResponseBytes; import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.core.pagination.sync.SdkIterable; import software.amazon.awssdk.services.amplifyuibuilder.AmplifyUiBuilderClient; import software.amazon.cloudformation.proxy.AmazonWebServicesClientProxy; import software.amazon.cloudformation.proxy.Credentials; import software.amazon.cloudformation.proxy.LoggerProxy; import software.amazon.cloudformation.proxy.ProxyClient; import java.time.Instant; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.function.Function; public class AbstractTestBase { protected static final Credentials MOCK_CREDENTIALS; protected static final LoggerProxy logger; protected static String ID = "t-1234XYZ"; protected static String APP_ID = "d1234"; protected static String ENV_NAME = "dev"; protected static Instant NOW = Instant.now(); protected static String NAME = "TestThemeName"; protected static Map TAGS = Collections.singletonMap("Stage", "Dev"); protected static List THEME_VALUES_LIST = ImmutableList.of(ThemeValues.builder() .key("colorMode") .value(ThemeValue.builder().value("dark").build()) .build(), ThemeValues.builder() .key("tokens") .value(ThemeValue.builder() .children(ImmutableList.of(ThemeValues.builder() .key("colors") .value(ThemeValue.builder() .children(ImmutableList.of(ThemeValues.builder() .key("black") .value(ThemeValue.builder() .children(ImmutableList.of(ThemeValues.builder() .value(ThemeValue.builder() .value("#fff") .build()) .build())) .build()) .build())) .build()) .build())) .build()) .build()); static { MOCK_CREDENTIALS = new Credentials("accessKey", "secretKey", "token"); logger = new LoggerProxy(); } static ProxyClient MOCK_PROXY( final AmazonWebServicesClientProxy proxy, final AmplifyUiBuilderClient sdkClient) { return new ProxyClient() { @Override public ResponseT injectCredentialsAndInvokeV2(RequestT request, Function requestFunction) { return proxy.injectCredentialsAndInvokeV2(request, requestFunction); } @Override public CompletableFuture injectCredentialsAndInvokeV2Async(RequestT request, Function> requestFunction) { throw new UnsupportedOperationException(); } @Override public > IterableT injectCredentialsAndInvokeIterableV2(RequestT request, Function requestFunction) { return proxy.injectCredentialsAndInvokeIterableV2(request, requestFunction); } @Override public ResponseInputStream injectCredentialsAndInvokeV2InputStream(RequestT requestT, Function> function) { throw new UnsupportedOperationException(); } @Override public ResponseBytes injectCredentialsAndInvokeV2Bytes(RequestT requestT, Function> function) { throw new UnsupportedOperationException(); } @Override public AmplifyUiBuilderClient client() { return sdkClient; } }; } }