Как настроить application.properties в верблюжьих тестах? - PullRequest
0 голосов
/ 17 февраля 2020

Я работаю над написанием тестов для маршрута. Проблема в том, что все мои маршруты содержат свойства, описанные в файле application.properties, например,

from("oracleQueue:{{oracle.queue.url}}").to("my.endpoint")

Работает нормально, но когда я пытаюсь написать тест - кажется, что этот маршрут не может найти файл application.properties с его свойствами. Ошибка:

java.lang.IllegalArgumentException: Property with key [oracle.queue.url] not found in properties from text: oracleQueue:{{oracle.queue.url}}

Мой тестовый случай:

public class RouteTest extends CamelTestSupport {

@Override
protected RoutesBuilder createRouteBuilder() {
    MyRouteBulder route = new MyRouteBulder ();
    ApplicationContext appContext = new ClassPathXmlApplicationContext("camel-context.xml");

    PropertiesComponent pc = new PropertiesComponent();
    pc.setLocation("application.properties");

    CamelContext context = new SpringCamelContext(appContext);

    context.addComponent("properties", pc);
    route.setContext(context);
    return route;
}


@Test
public void test() throws InterruptedException {
    MockEndpoint mockEndpoint = resolveMandatoryEndpoint("my.endpoint", MockEndpoint.class);
    mockEndpoint.expectedMessageCount(1);
    template.sendBody("oracleQueue:{{oracle.queue.url}}", "hello world");
    mockEndpoint.assertIsSatisfied();

}

}

Как правильно настроить файл конфигурации?

1 Ответ

0 голосов
/ 19 февраля 2020

Может быть, вам нужен абсолютный путь для местоположения.

Я использую это, чтобы получить реквизит

<bean
    class="org.apache.camel.component.properties.PropertiesComponent"
    id="properties" name="properties">
    <property name="cache" value="false"/>
    <property name="locations">
        <list>
            <value>file:${CONF}/broker.properties</value>
            <value>file:${CONF}/sops/domains/properties/a92fe32d-01c9-4c00-b2c0-b17a71503bbe.properties;optional=true</value>
        </list>
    </property>
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...