में सीएसआरएफ टोकन के साथ परीक्षण अनुरोध मैं अपने कार्यात्मक परीक्षण के साथ एक छोटी सी समस्या पर फंस गया हूं।प्ले फ्रेमवर्क 2.5 (स्कैला)
मेरे पास एक प्ले है! 2.5 स्केला परियोजना जिसमें मैं कुछ रूपों पर CSRF सत्यापन जोड़ने, जुड़े स्केला परीक्षण इकाइयों परीक्षण, में विफल रहा है के रूप में उम्मीद, त्रुटि के साथ:
java.lang.RuntimeException: No CSRF token present!
मैं मार्गों के साथ FakeRequest उपयोग कर रहा हूँ ताकि उन्हें परीक्षण करने के लिए:
val fakeRequest = FakeRequest(GET, s"/backOffice/login")
val Some(result) = route(app, fakeRequest)
मैं अपने परीक्षण को दोबारा सफल करने के लिए सीआरएसएफ टोकन कैसे जोड़ सकता हूं?
(धन्यवाद, और खेद बुरा अंग्रेजी के लिए, मैं देशी नहीं कर रहा हूँ)
आप 'applica को ओवरराइड कर सकते हैं tion.conf' और सीएसआरएफ को बाईपास करने के लिए कुछ शीर्षलेख सेट करें, जैसे [यहां] (https://www.playframework.com/documentation/2.5.x/ScalaCsrf#Plays-CSRF-protection)। या [यह] देखें (http://stackoverflow.com/a/19849420/4496364) उत्तर। –
हाय, मुझे जवाब देने के लिए धन्यवाद! मुझे यह सटीक होना चाहिए था कि मैं टेम्पलेट का परीक्षण भी कर रहा हूं, और मैं प्रति क्रिया के आधार पर सीएसआरएफ सुरक्षा कर रहा हूं (दस्तावेज में दूसरा मामला, फ़िल्टर के साथ पहला नहीं)। इसके कारण, मैं केवल सीएसआरएफ को बाईपास नहीं कर सकता क्योंकि मेरे टेम्पलेट को एक सीएसआरएफ टोकन को FakeRequest में उपस्थित होने की आवश्यकता है, जैसे कि दूसरे लिंक में, जिसे मैंने पहले ही परीक्षण किया था (उसे भी माफ कर देना चाहिए था), लेकिन यह 2.2 के लिए है .1, और इंटेलिज मुझ पर चिल्ला रहा है "प्रतीक संकेतित नहीं कर सकता हस्ताक्षर TokenProvider" क्या आपको पता है कि मैं इसे 2.5 में कैसे कर सकता हूं? – Argurth
एक समाधान मिला और एक विशेषता बनाई :) यदि आप रुचि रखते हैं तो मैंने जो जवाब जोड़ा है उसे देखें ^^ – Argurth