का उपयोग करते समय मैं आरएसपीसी उपयोगकर्ता कहानी/ककड़ी में नकली ओपनआईडी लॉगिन कैसे कर सकता हूं, मैं एक ककड़ी परिदृश्य लिखने की कोशिश कर रहा हूं जिसके लिए मुझे उपयोगकर्ता में लॉग इन करने की आवश्यकता है - जो आमतौर पर काफी सरल होगा लेकिन मैं केवल उपयोग कर रहा हूं ओपनआईडी प्रमाणीकरण (प्रमाणीकरण प्लगइन का curtosy)। हालांकि open_id_authentication प्लगइन के माध्यम से खोदने के बाद मुझे यकीन नहीं है कि मैं इसे ककड़ी के भीतर कैसे प्राप्त कर सकता हूं।open_id_authentication प्लगइन
उत्तर
मैं एक तरीका खोज निकाला है, अगर आप अपने सुविधाओं/support/env.rb में रखें:
Given /^I am logged in as "(.*)"$/ do |name|
user = User.find_by_name(user)
post '/session', :openid_url => user.identity_url
# Some assertions just to make sure our hack in env.rb is still working
response.should redirect_to('/')
flash[:notice].should eql('Logged in successfully')
end
:
ActionController::Base.class_eval do
private
def begin_open_id_authentication(identity_url, options = {})
yield OpenIdAuthentication::Result.new(:successful), identity_url, nil
end
end
तो फिर तुम सिर्फ अपने उचित कदम में कुछ इस तरह कर सकते हैं
मैं पूरी तरह से ककड़ी की विशेषताओं के लिए खुली आईडी ऑथ को क्लोब कर रहा हूं, जाहिर है कि अगर मुझे लॉग इन विफल होने पर ऐसे उदाहरणों की आवश्यकता है जो मैं आपूर्ति की गई पहचान_उआरएल के आधार पर कर सकता हूं।
DEfusion के जवाब सिवाय इसके कि मैं की तरह identity_url को सामान्य करने के लिए आवश्यक काम करता है:
ActionController::Base.class_eval do
private
def begin_open_id_authentication(identity_url, options = {})
yield OpenIdAuthentication::Result.new(:successful), self.normalize_identifier(identity_url), nil
end
end
धन्यवाद
Bort, एक रेल कंकाल अनुप्रयोग, rspec परीक्षण का एक पूरा सेट है और इसलिए आप कर सकते हैं OpenID लॉगिन का समर्थन करता है एक नज़र रखना चाहते हैं और देखें कि वे क्या करते हैं।
आप प्रतिक्रियाओं बाहर ठूंठ करने में सक्षम होना चाहते हैं, तो ऐसा करते हैं:
सुविधाओं/support/helpers.rb में:
ActionController::Base.class_eval do
private
def fake_openid_response(identity_url)
[OpenIdAuthentication::Result.new(:successful), identity_url, nil]
end
def begin_open_id_authentication(identity_url, options = {})
yield fake_openid_response(identity_url)
end
end
अब एक अलग विधि आप कर सकते हैं ठूंठ के लिए बाहर प्रतिक्रिया जाकर यदि आवश्यक हो तो आपके चरणों में प्रतिक्रिया। उदाहरण के लिए, यदि मैं चाहता था: गायब प्रतिक्रिया और मेरे पास नियंत्रक GoogleLoginController था, तो मैं निम्नलिखित का उपयोग कर सकता था:
GoogleLoginController.any_instance.stubs(:fake_openid_response)
.returns([OpenIdAuthentication::Result.new(:missing), identity_url, nil])
- 1. प्लगइन
- 2. yuicompressor maven प्लगइन और मेवेन-वॉर-प्लगइन
- 3. मेवेन टॉमकैट प्लगइन या कार्गो प्लगइन?
- 4. Maven JAXB2 XJC प्लगइन: M2E प्लगइन निष्पादन
- 5. मैवेन प्लगइन एक और प्लगइन निष्पादित
- 6. इंटेलिज आईडीईए प्लगइन बनाएं। स्टोर प्लगइन सेटिंग्स
- 7. महोत्सव प्लगइन
- 8. ग्रहण प्लगइन
- 9. मैवेन प्लगइन
- 10. Grails प्लगइन
- 11. प्लगइन कोड
- 12. वर्डप्रेस प्लगइन?
- 13. एनपीएपीआई प्लगइन?
- 14. वर्डप्रेस प्लगइन
- 15. सोशल प्लगइन
- 16. सी # प्लगइन
- 17. एक प्लगइन
- 18. छाया-प्लगइन
- 19. कॉर्डोवा प्लगइन
- 20. प्लगइन वास्तुकला
- 21. JSHint प्लगइन?
- 22. आर्केटाइप प्लगइन
- 23. प्लगइन पैटर्न
- 24. जावाडॉक प्लगइन?
- 25. क्या प्लगइन
- 26. वीआई प्लगइन?
- 27. ग्रहण प्लगइन?
- 28. jquery.validation प्लगइन
- 29. जेसीएफ प्लगइन
- 30. पिकासा प्लगइन