Я пытаюсь запустить некоторые тесты с SQS, используя localstack. Тем не менее, я продолжаю получать 502. Это работает для коллег, но это не работает на моей локальной машине, на нашем конвейере или на докере. Ошибка везде одинаковая, поэтому я отправляю версию докера, так как, вероятно, проще показать, что установлено.
Обычно я создаю образ докера, который устанавливает java, python и выполняет сборку gradle из папки / repo, выполняя интеграционные тесты.
FROM openjdk:11.0.2-jdk-oraclelinux7
RUN ["yum", "install", "-y", "python", "python-pip"]
RUN ["pip", "install", "--upgrade", "pip"]
RUN ["pip", "install", "virtualenv"]
VOLUME ["/repo"]
ARG sourceDir
COPY ["${sourceDir}", "/repo"]
WORKDIR "/repo"
ENTRYPOINT ["/repo/gradlew", "clean", "integrationTest"]
Мой тестовый код выглядит так:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@RunWith(LocalstackTestRunner.class)
public class TimeoutQueueTest {
private AmazonSQS client;
private static final String QUEUE_NAME = "my queue";
@LocalServerPort
private int port;
@ClassRule
public static final SpringClassRule springClassRule = new SpringClassRule();
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
@Before
public void setup() {
Map<String, String> attributeMap = new HashMap<>();
attributeMap.put("DelaySeconds", "0");
attributeMap.put("MaximumMessageSize", "262144");
attributeMap.put("MessageRetentionPeriod", "1209600");
attributeMap.put("ReceiveMessageWaitTimeSeconds", "20");
attributeMap.put("VisibilityTimeout", "30");
client = TestUtils.getClientSQS();
CreateQueueRequest createQueueRequest = new CreateQueueRequest(QUEUE_NAME).withAttributes(attributeMap);
//FAILS IN THE LINE BELOW!!!!!!!!!!!!!!!!!!
String standardQueueUrl = client.createQueue(createQueueRequest).getQueueUrl();
RestAssured.port = port;
}
(...)
}
Не удается с:
com.amazonaws.services.sqs.model.AmazonSQSException: null (Сервис: AmazonSQS; Код состояния: 502; Код ошибки: 502 Bad Gateway; Идентификатор запроса: null)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.handleErrorResponse (AmazonHttpClient.java:1660)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeOneRequest (AmazonHttpClient.java:1324)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeHelper (AmazonHttpClient.java:1074)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.doExecute (AmazonHttpClient.java:745)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeWithTimer (AmazonHttpClient.java:719)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.execute (AmazonHttpClient.java:701)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.access $ 500 (AmazonHttpClient.java:669)
на com.amazonaws.http.AmazonHttpClient $ RequestExecutionBuilderImpl.execute (AmazonHttpClient.java:651)
на com.amazonaws.http.AmazonHttpClient.execute (AmazonHttpClient.java:515)
на com.amazonaws.services.sqs.AmazonSQSClient.doInvoke (AmazonSQSClient.java:2147)
на com.amazonaws.services.sqs.AmazonSQSClient.invoke (AmazonSQSClient.java:2116)
на com.amazonaws.services.sqs.AmazonSQSClient.invoke (AmazonSQSClient.java:2105)
на com.amazonaws.services.sqs.AmazonSQSClient.executeCreateQueue (AmazonSQSClient.java:756)
на com.amazonaws.services.sqs.AmazonSQSClient.createQueue (AmazonSQSClient.java:728)
на uk.co.sainsburys.giftcardservice.TimeoutQueueTest.setup (TimeoutQueueTest.java:76)
в java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
в java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
в java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.base / java.lang.reflect.Method.invoke (Method.java:566)
в org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:50)
в org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12)
в org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47)
в org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:24)
в org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate (RunBeforeTestMethodCallbacks.java:75)
в org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate (RunAfterTestMethodCallbacks.java:86)
в org.springframework.test.context.junit4.statements.RunPrepareTestInstanceCallbacks.evaluate (RunPrepareTestInstanceCallbacks.java:64)
в org.springframework.test.context.junit4.statements.SpringRepeat.evaluate (SpringRepeat.java:84)
в org.springframework.test.context.junit4.statements.SpringFailOnTimeout.evaluate (SpringFailOnTimeout.java:87)
в org.springframework.test.context.junit4.statements.ProfileValueChecker.evaluate (ProfileValueChecker.java:103)
на com.github.tomakehurst.wiremock.junit.WireMockRule $ 1.evaluate (WireMockRule.java:73)
на org.junit.rules.RunRules.evaluate (RunRules.java:20)
в org.junit.runners.ParentRunner.runLeaf (ParentRunner.java:325)
в org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:78)в org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:57) в org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:290) в org.junit.runners.Rarent.Rarent: 71) в org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) в org.junit.runners.ParentRunner.access $ 000 000 (ParentRunner.java:58) в org.junit.runners.ParentRunner $ 2.eateateParentRunner.70) в org.springframework.test.context.junit4.statements.ProfileValueChecker.evaluate (ProfileValueChecker.java:103) в org.springframework.test.context.junit4.rules.SpringClassRule $ TestContevate.lej.eche.Core.Ru.UnagerCacheerв org.junit.rules.RunRules.evaluate (RunRules.java:20) в org.junit.runners.ParentRunner.run (ParentRunner.java:363) по адресу cloud.localstack.LocalstackTestRunner.run (LocalstackTestRunner.java:25) по адресу org.junit.runner.JUnitCore.run (JUnitCore.java:137) в com.intendjUj.startRunnerWithArgs (JUnit4IdeaTestRunner.java:68) в com.intellij.rt.execution.junit.IdeaTestRunner $ Repeater.startRunnerWithArgs (IdeaTestRunner.java:47) в com.intellij.rjart: 242) at com.intellij.rt.execution.junit.JUnitStarter.main (JUnitStarter.java:70)
Есть идеи?Что мне не хватает?Код, кажется, работает, так как он работает для моего коллеги (видел это своими глазами).Он не помнит, чтобы что-то отличалось от меня с точки зрения настройки.
Мы оба используем python 2.7.10, кстати (если это имеет значение).