2011-12-05 15 views
9

मैं यह पता लगाने की कोशिश कर रहा हूं कि Django परीक्षण क्लाइंट को मेरे ऐप के साथ अच्छा कैसे खेलना है जो प्रत्येक उपयोगकर्ता को अपने स्वयं के सबडोमेन पर रखता है। यानी प्रत्येक खाते में account1.myapp.com, account2.myapp.com है।डीजेगो टेस्ट क्लाइंट और सबडोमेन

कोई उपयोगकर्ता एकाधिक सबडोमेन (समान बेसकैम्प मॉडल) के सदस्य हो सकता है, इसलिए मैं मध्यवर्ती में अनुरोध को कौन सा सबडोमेन जारी कर रहा हूं।

जैसा कि मैं अपने यूनिट परीक्षण लिख रहा हूं, मुझे एहसास हुआ कि सभी अनुरोध "http: // testerver" को जारी किए गए हैं, जो मेरे मिडलवेयर फिर रीडायरेक्ट करते हैं और बाद में 302 का पालन नहीं किया जाता है क्योंकि यह बाहरी अनुरोध होने के लिए निर्धारित होता है।

कोई भी परीक्षण क्लाइंट के साथ इसे सक्षम करने के तरीके से अवगत है? मैं वर्तमान में इसे सक्षम करने के लिए django में थोड़ा सा हैकिंग कर रहा हूँ।

+0

मुझे नहीं लगता कि परीक्षण क्लाइंट के लिए इसका कोई समर्थन है। मैं एक ही मुद्दे में भाग गया क्योंकि मुझे विभिन्न सबडोमेन के लिए अनुरोध करने की आवश्यकता थी, और इसे सिर्फ Django में थोड़ा सा हैक करना पड़ा। मेरे लिए, यूआरएल विभिन्न सबडोमेन के लिए अलग थे इसलिए समाधान कस्टम urlresolvers का उपयोग करना था। – Spike

उत्तर

8

अपने परीक्षणों में, जब ग्राहक का उपयोग कर, HTTP_HOST पैरामीटर जोड़ें:

response = c.post(reverse('my-url'), data={}, HTTP_HOST='account1.myapp.com') 

अपने मिडलवेयर पर अब आप मेजबान बदल देखना चाहिए!

संबंधित मुद्दे