2017-01-19 8 views
0

Я пытаюсь выполнить документацию here относительно «Обработка заголовков». Я не могу понять, как проверить вызов вызова службы с заголовками. Как правило, я бы просто сделатьLagom - Служба тестирования Call with Headers

service.sayHello().invoke(...) 

Я заметил, что ServerServiceCall и HeaderServiceCall принять invokeWithHeaders(...) и мой ServiceCall реализуется как HeaderServiceCall, но всякий раз, когда я пытаюсь изменить API сервиса для ServerServiceCall или HeaderServiceCall, я получаю:

Error in custom provider, java.lang.IllegalArgumentException: Service calls must return ServiceCall, subtypes are not allowed 

Как написать тест, который вызывает вызов службы с помощью настраиваемых заголовков запросов? Я попытался сохранить вызов как ServiceCall в API, реализуя с HeaderServiceCall и отвечая на вызов HeaderServiceCall в тесте, но при попытке сделать это я получил исключение. Буду признателен за любую оказанную помощь. Благодарю.

ответ

1

Я только что принял мой тестовый код, чтобы проверить его:

public HeaderServiceCall<NewUser, RegUserStatus> addUser(String id) { 

    return (reqHeaders, postedUser) -> { 
     System.out.println(reqHeaders.getHeader("Referer")); 
     PersistentEntityRef<UserCommand> ref = persistentEntityRegistry.refFor(UserEntity.class, id); 
     return ref.ask(new UserCommand.RegisterUser(id, postedUser)).thenApply(stat -> Pair.create(ResponseHeader.OK, stat)); 
    }; 
} 

мой апи:

ServiceCall<NewUser, RegUserStatus> addUser(String id); 

и испытания:

@Test 
public void testIt() { 
    withServer(defaultSetup(), server -> { 
     UsersService service = server.client(UsersService.class); 
     RegUserStatus created = service.addUser("aaa").handleRequestHeader(
       rh -> rh.withHeader("Referer" ,"winter") 
     ).invoke(new NewUser("aaa")).toCompletableFuture().get(5, SECONDS); 
     assertEquals(true, created.ok); // default greeting 

    }); 
} 
+0

Вы фактически не изменяя запрос заголовки в вашем тесте. – ehaydenr

+0

Я скорректировал его сейчас – jarek000000

 Смежные вопросы

  • Нет связанных вопросов^_^