diff --git a/dbrepo-query-service/rest-service/src/test/resources/application.properties b/dbrepo-query-service/rest-service/src/test/resources/application.properties index 4eea490a9199d7e0155b1f33cf3500a5e1f2863f..7934d71f3c69eb3ae0d7049d97dbc0a8fdd5b81e 100644 --- a/dbrepo-query-service/rest-service/src/test/resources/application.properties +++ b/dbrepo-query-service/rest-service/src/test/resources/application.properties @@ -23,6 +23,7 @@ logging.level.at.tuwien.=trace # broker service spring.rabbitmq.host=dbrepo-broker-service +spring.rabbitmq.virtual-host=/ spring.rabbitmq.username=guest spring.rabbitmq.password=guest diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java index b29d7752a4e410b5e86dbc194ceb818b596572ba..d91e8827fbe4446048bd10d50d12516fdf2e4de8 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java @@ -10,6 +10,8 @@ import at.tuwien.repository.elastic.TableColumnIdxRepository; import at.tuwien.repository.elastic.TableIdxRepository; import at.tuwien.repository.jpa.TableRepository; import at.tuwien.utils.AmqpUtils; +import com.rabbitmq.client.BuiltinExchangeType; +import com.rabbitmq.client.Channel; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; @@ -20,6 +22,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.junit.jupiter.SpringExtension; +import java.io.IOException; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -48,6 +51,9 @@ public class MessageQueueServiceIntegrationTest extends BaseUnitTest { @Autowired private AmqpUtils amqpUtils; + @Autowired + private Channel channel; + @Autowired private MessageQueueService messageQueueService; @@ -69,12 +75,12 @@ public class MessageQueueServiceIntegrationTest extends BaseUnitTest { } @Test - public void init_succeeds() throws AmqpException { + public void init_succeeds() throws AmqpException, IOException { /* mock */ + channel.exchangeDeclare(DATABASE_1_EXCHANGE, BuiltinExchangeType.FANOUT, true, false, null); when(tableRepository.findAll()) .thenReturn(List.of(TABLE_1, TABLE_2)); - amqpUtils.createExchange(DATABASE_1_EXCHANGE); /* test */ assertTrue(amqpUtils.exchangeExists(DATABASE_1_EXCHANGE)); diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java index 490e973f4fb704a3f128849e8f9fc5a0daa7b696..63a8ca04afa38c5c3976be442a56c53514239f1a 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java @@ -1,6 +1,5 @@ package at.tuwien.utils; -import at.tuwien.api.amqp.CreateExchangeDto; import at.tuwien.api.amqp.ExchangeDto; import at.tuwien.api.amqp.QueueDto; import at.tuwien.config.AmqpConfig; @@ -32,22 +31,6 @@ public class AmqpUtils { this.amqpConfig = amqpConfig; } - public void createExchange(String exchange) { - exchange = exchange.replace("/", "%2F"); - final URI uri = URI.create("http://" + amqpConfig.getAmpqHost() + ":15672/api/exchanges/dbrepo/" + exchange); - final CreateExchangeDto payload = CreateExchangeDto.builder() - .type("fanout") - .autoDelete(false) - .durable(true) - .internal(false) - .build(); - final ResponseEntity<Void> response = restTemplate.exchange(uri, HttpMethod.PUT, new HttpEntity<>(payload), Void.class); - if (!response.getStatusCode().equals(HttpStatus.CREATED)) { - log.error("Failed to create exchange, code is {}", response.getStatusCode()); - throw new RuntimeException("Failed to create exchange"); - } - } - public boolean exchangeExists(String exchange) { final ResponseEntity<ExchangeDto[]> response = restTemplate.exchange("/api/exchanges", HttpMethod.GET, null, ExchangeDto[].class); if (!response.getStatusCode().equals(HttpStatus.OK)) { @@ -67,7 +50,7 @@ public class AmqpUtils { } public boolean queueExists(String queue) { - final URI uri = URI.create("http://" + amqpConfig.getAmpqHost() + ":15672/api/queues/dbrepo/"); + final URI uri = URI.create("http://" + amqpConfig.getAmpqHost() + ":15672/api/queues/%2F/"); final ResponseEntity<QueueDto[]> response = restTemplate.exchange(uri, HttpMethod.GET, new HttpEntity<>(null), QueueDto[].class); if (!response.getStatusCode().equals(HttpStatus.OK)) { log.error("Failed to find queue, code is {}", response.getStatusCode());