नियमोंटेस्ट एनवायरमेंट का इंटरफ़ेस

नियमों की यूनिट के टेस्ट एनवायरमेंट को कंट्रोल करने के लिए इस्तेमाल किया जाने वाला ऑब्जेक्ट. इसका इस्तेमाल पुष्टि करने की अलग-अलग स्थितियों के लिए,RuleTestContext बनाने में किया जा सकता है.

हस्ताक्षर:

export interface RulesTestEnvironment 

प्रॉपर्टी

प्रॉपर्टी टाइप ब्यौरा
एम्युलेटर { डेटाबेस?: HostAndPort; Firestore?: HostAndPort; स्टोरेज?: HostAndPort; } पर स्विच करने के मकसद से, हमसे संपर्क करने के लिए धन्यवाद. टेस्ट एनवायरमेंट बनाते समय, बताए गए या खोजे गए एम्युलेटर कॉन्फ़िगरेशन की रीड ओनली कॉपी.
प्रोजेक्ट आईडी स्ट्रिंग टेस्ट एनवायरमेंट बनाते समय, यह प्रोजेक्ट आईडी तय किया गया या पाया गया.

तरीके

तरीका ब्यौरा
authentabilitydContext(user_id, SDKOptions) ऐसा RulesTestContext बनाएं जो पुष्टि किए गए Firebase पुष्टि उपयोगकर्ता की तरह काम करे.दिए गए कॉन्टेक्स्ट से किए गए अनुरोधों में मॉक Firebase पुष्टि टोकन अटैच होगा.
क्लीनअप() अपने टेस्ट कोड के आखिर में, क्लीनअप फ़ंक्शन को कॉल करें. टेस्ट एनवायरमेंट में बनाए गए सभीRuleTestContexts को मिटाएं और मौजूदा संसाधनों को खाली करें. इससे, पूरी तरह से एग्ज़िट हो सकता है.यह तरीका एम्युलेटर की स्थिति में किसी भी तरह बदलाव नहीं करता. अलग-अलग टेस्ट के बीच डेटा रीसेट करने के लिए, clearDatabase(), clearFirestore(), और clearStorage() देखें.
clearDatabase() रीयलटाइम डेटाबेस एम्युलेटर नेमस्पेस में मौजूद सारा डेटा मिटाएं.
clearFirestore() Firestore में मौजूद वह डेटा हटाएं जो Firestore एम्युलेटर में projectId से जुड़ा है.
clearStorage() स्टोरेज एम्युलेटर में, सभी बकेट में स्टोरेज फ़ाइलें और मेटाडेटा मिटाएं.
unauthent सेहतdContext() कोई RulesTestContext बनाएं, जो उस क्लाइंट की तरह काम करे जिसे Firebase पुष्टि के ज़रिए लॉग इन नहीं किया गया हो.लौटाए गए संदर्भ से किए गए अनुरोधों में Firebase पुष्टि टोकन अटैच नहीं होंगे.
withSecurityRulesDefaultd(कॉलबैक)

रूल्सटेस्ट एनवायरमेंट.एम्युलेटर

टेस्ट एनवायरमेंट बनाते समय, बताए गए या पाए गए एम्युलेटर कॉन्फ़िगरेशन की रीड ओनली कॉपी.

हस्ताक्षर:

readonly emulators: {
        database?: HostAndPort;
        firestore?: HostAndPort;
        storage?: HostAndPort;
    };

रूल्सटेस्ट एनवायरमेंट.प्रोजेक्ट आईडी

टेस्ट एनवायरमेंट बनाते समय, यह प्रोजेक्ट आईडी तय किया गया या पाया गया.

हस्ताक्षर:

readonly projectId: string;

ों के लिए

ऐसा RulesTestContext बनाएं जो पुष्टि किए गए Firebase पुष्टि उपयोगकर्ता की तरह काम करे.

दिखाए गए कॉन्टेक्स्ट से किए गए अनुरोधों में मॉक Firebase ऑथराइज़ेशन टोकन अटैच होगा.

हस्ताक्षर:

authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;

पैरामीटर

पैरामीटर टाइप ब्यौरा
user_id स्ट्रिंग उपयोगकर्ता का यूज़र आईडी. "user_id" की वैल्यू बताता है और "sub" टोकन के लिए
टोकन के विकल्प टोकन के विकल्प Firebase पुष्टि टोकन पेलोड के लिए कस्टम दावे या ओवरराइड

लौटाए जाने वाले प्रॉडक्ट:

RulesTestContext

उदाहरण

const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });

रूल्सटेस्ट एनवायरमेंट.क्लीनअप()

अपने टेस्ट कोड के आखिर में, क्लीनअप फ़ंक्शन को कॉल करें. टेस्ट एनवायरमेंट में बनाए गए सभीTermsTestContexts को मिटाएं. साथ ही, मौजूदा रिसॉर्स को खाली करें, ताकि सभी नियम और कॉन्फ़िगरेशन पूरे हो जाएं.

इस तरीके से एम्युलेटर में स्थिति नहीं बदलती. अलग-अलग टेस्ट के बीच डेटा रीसेट करने के लिए, clearDatabase(), clearFirestore(), और clearStorage() देखें.

हस्ताक्षर:

cleanup(): Promise<void>;

लौटाए जाने वाले प्रॉडक्ट:

प्रॉमिस<void>

रूलटेस्ट एनवायरमेंट.clearDatabase()

रीयलटाइम डेटाबेस एम्युलेटर नेमस्पेस में मौजूद सारा डेटा मिटाएं.

हस्ताक्षर:

clearDatabase(): Promise<void>;

लौटाए जाने वाले प्रॉडक्ट:

प्रॉमिस<void>

रूल्सटेस्ट एनवायरमेंट.clearFirestore()

Firestore एम्युलेटर में, projectId के लिए डिफ़ॉल्ट Firestore डेटाबेस में डेटा मिटाएं.

हस्ताक्षर:

clearFirestore(): Promise<void>;

लौटाए जाने वाले प्रॉडक्ट:

प्रॉमिस<void>

रूलटेस्ट एनवायरमेंट.clearStorage()

स्टोरेज एम्युलेटर की ऐक्टिव बकेट में मौजूद स्टोरेज फ़ाइलें और मेटाडेटा मिटाएं.

हस्ताक्षर:

clearStorage(): Promise<void>;

लौटाए जाने वाले प्रॉडक्ट:

प्रॉमिस<void>

ों

कोई RulesTestContext बनाएं, जो उस क्लाइंट की तरह काम करे जिसे Firebase पुष्टि के ज़रिए लॉग इन नहीं किया गया हो.

दिखाए गए कॉन्टेक्स्ट से किए गए अनुरोधों में Firebase ऑथराइज़ेशन टोकन अटैच नहीं होगा.

हस्ताक्षर:

unauthenticatedContext(): RulesTestContext;

लौटाए जाने वाले प्रॉडक्ट:

RulesTestContext

उदाहरण

const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });

रूलटेस्ट एनवायरमेंट.के साथ सुरक्षा नियम बंद करना()

हस्ताक्षर:

withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;

पैरामीटर

पैरामीटर टाइप ब्यौरा
कॉलबैक (संदर्भ: RulesTestContext) => प्रॉमिस<void>

लौटाए जाने वाले प्रॉडक्ट:

प्रॉमिस<void>