Chữ ký:
export interface RulesTestEnvironment
Thuộc tính
Tài sản | Loại | Nội dung mô tả |
---|---|---|
trình mô phỏng | { cơ sở dữ liệu?: HostAndPort; Firestore?: HostAndPort; dung lượng lưu trữ?: HostAndPort; } | Bản sao chỉ có thể đọc của cấu hình trình mô phỏng được chỉ định hoặc phát hiện khi tạo môi trường kiểm thử. |
projectId | string | Mã dự án được chỉ định hoặc phát hiện trong quá trình tạo môi trường kiểm thử. |
Phương thức
Phương thức | Nội dung mô tả |
---|---|
authenticatedContext(user_id, tokenOptions) | Tạo một RulesTestContext hoạt động giống như người dùng Xác thực Firebase đã xác thực.Các yêu cầu được tạo thông qua ngữ cảnh được trả về sẽ đính kèm mã thông báo Xác thực Firebase mô phỏng. |
cleanup() | Ở cuối mã kiểm thử, hãy gọi hàm dọn dẹp. Huỷ bỏ tất cả RulesTestContexts được tạo trong môi trường thử nghiệm và xoá các tài nguyên cơ bản, cho phép thoát hoàn toàn.Phương thức này không làm thay đổi trạng thái trong trình mô phỏng theo bất kỳ cách nào. Để đặt lại dữ liệu giữa các lần kiểm thử, hãy xem clearDatabase() , clearFirestore() và clearStorage() . |
clearDatabase() | Xoá tất cả dữ liệu trong không gian tên trình mô phỏng Cơ sở dữ liệu theo thời gian thực. |
clearFirestore() | Xoá dữ liệu trong Firestore thuộc projectId trong trình mô phỏng Firestore. |
clearStorage() | Xoá siêu dữ liệu và tệp Bộ nhớ trong tất cả bộ chứa của trình mô phỏng Bộ nhớ. |
unauthenticatedContext() | Tạo một RulesTestContext hoạt động giống như ứng dụng KHÔNG đăng nhập thông qua tính năng Xác thực Firebase.Các yêu cầu được tạo thông qua ngữ cảnh được trả về sẽ không đính kèm mã thông báo Xác thực Firebase. |
withSecurityRulesDisabled(callback) |
RulesTestEnvironment.emulators
Bản sao chỉ có thể đọc của cấu hình trình mô phỏng được chỉ định hoặc phát hiện khi tạo môi trường kiểm thử.
Chữ ký:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.projectId
Mã dự án được chỉ định hoặc phát hiện trong quá trình tạo môi trường kiểm thử.
Chữ ký:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
Tạo RulesTestContext
hoạt động giống như người dùng Xác thực Firebase đã xác thực.
Các yêu cầu tạo thông qua ngữ cảnh được trả về sẽ có một mã thông báo Xác thực Firebase mô phỏng được đính kèm.
Chữ ký:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Tham số
Thông số | Loại | Nội dung mô tả |
---|---|---|
user_id | string | User ID của người dùng. Chỉ định giá trị "user_id" và "sub" trên mã thông báo |
tokenOptions | TokenOptions | xác nhận hoặc ghi đè tùy chỉnh đối với tải trọng mã thông báo Xác thực Firebase |
Trường hợp trả lại hàng:
Ví dụ:
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.cleanup()
Ở cuối mã kiểm thử, hãy gọi hàm dọn dẹp. Huỷ bỏ tất cả RulesTestContexts được tạo trong môi trường kiểm thử và xoá các tài nguyên cơ bản, cho phép thoát hoàn toàn.
Phương thức này không làm thay đổi trạng thái trong trình mô phỏng theo bất kỳ cách nào. Để đặt lại dữ liệu giữa các lần kiểm thử, hãy xem clearDatabase()
, clearFirestore()
và clearStorage()
.
Chữ ký:
cleanup(): Promise<void>;
Trường hợp trả lại hàng:
Promise<void>
RulesTestEnvironment.clearDatabase()
Xoá tất cả dữ liệu trong không gian tên trình mô phỏng Cơ sở dữ liệu theo thời gian thực.
Chữ ký:
clearDatabase(): Promise<void>;
Trường hợp trả lại hàng:
Promise<void>
RulesTestEnvironment.clearFirestore()
Xoá dữ liệu trong cơ sở dữ liệu mặc định trên Firestore cho projectId
trong trình mô phỏng Firestore.
Chữ ký:
clearFirestore(): Promise<void>;
Trường hợp trả lại hàng:
Promise<void>
RulesTestEnvironment.clearStorage()
Xoá các tệp Bộ nhớ và siêu dữ liệu trong bộ chứa đang hoạt động trong trình mô phỏng Bộ nhớ.
Chữ ký:
clearStorage(): Promise<void>;
Trường hợp trả lại hàng:
Promise<void>
RulesTestEnvironment.unauthenticatedContext()
Tạo một RulesTestContext
hoạt động như ứng dụng KHÔNG đăng nhập thông qua tính năng Xác thực Firebase.
Yêu cầu được tạo thông qua ngữ cảnh được trả về sẽ không đính kèm mã thông báo Xác thực Firebase.
Chữ ký:
unauthenticatedContext(): RulesTestContext;
Trường hợp trả lại hàng:
Ví dụ:
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
Chữ ký:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
Tham số
Thông số | Loại | Nội dung mô tả |
---|---|---|
số gọi lại | (ngữ cảnh: RulesTestContext) => Promise<void> |
Trường hợp trả lại hàng:
Promise<void>