Не могу заглушить запрос с помощью WireMock - PullRequest
0 голосов
/ 07 декабря 2018

Проблема в том, что мой запрос типа:

/pc/odata/api/devices?$top=3000&$skip=0&$format=json&$expand=groups&$select=ID,Name,PrimaryIPAddress,groups/GroupPathLocation&$filter=((groups/Name%20eq%20'OI%20Inventory%20Group'))&timeout=120

не может использоваться для заглушки с

ОШИБКА HTTP 500

Проблема доступа к / __ файлам /шт / OData / API / устройства.Причина:

Недопустимый символ в запросе с индексом 138: / несоответствие? $ Top = 3000 & $ skip = 0 & $ format = json & $ expand = groups & $ select = ID, имя, PrimaryIPAddress, groups / GroupPathLocation & $filter = ((groups / Name eq 'OI Inventory Group')) & timeout = 120

Запрос действителен, и приложение работает с тем же запросом без параметров.

Методдля заглушки:

public void initialize( Integer D_ITEM_COUNT ) {

    writedItemsFile( D_ITEM_COUNT );

        ClasspathFileSource responseFiles = new ClasspathFileSource( "." );
        dItemService = new WireMockServer( WireMockConfiguration.wireMockConfig()
                .port( D_ITEMS_SERVICE_PORT )
                .fileSource( responseFiles )
                .enableBrowserProxying( false )
                .notifier( new ConsoleNotifier( true ) ) );

        dItemService.givenThat( get( urlEqualTo( D_D_ITEMS_SERVICE_ENDPOINT ) ).
                willReturn( WireMock.aResponse()
                        .withHeader("Content-Type", "application/json")
                        .withBodyFile( "../" + D_ITEMS_SERVICE_RESPONSE_FILE + FILE_EXTENSION )
                        .withStatus( HttpStatus.SC_OK ) ) );
}
...