0
我有一個受認證特徵保護的控制器。這個特質看起來像這樣:FakeRequest向下轉換爲RequestHeader
def isAuthenticated(f: => AccountDTO => Request[AnyContent] => Result) =
Security.Authenticated(username, onUnauthorized) { user =>
Action.async {
request => {
Future.successful(f(user)(request))
}
}
}
當做一個正常的請求時,一切正常,但是當做單元測試時我遇到問題。 我創建以下假冒要求:
val goodRequest = FakeRequest("POST", "/platform/api/v1/files")
.withBody(Json.toJson(ScalaMockingUtil.fileValidMetadataJson))
.withHeaders((HeaderNames.AUTHORIZATION, "4322tertf2643t34t34"))
接下來,我讓我的控制器對象,並通過應用FakeRequest調用方法:
val result: Iteratee[Array[Byte], Result] = filesController.createFileMetadata()(goodRequest)
,我現在面臨的問題是,沿線某處FakeReuqest被下載到RequestHeader。問題似乎是這裏描述的問題:Unable to test controller using Action.async其中Action有兩個應用方法而不是一個。然而,我似乎無法強制我需要的那個。
任何幫助表示讚賞。