签名:
export interface RulesTestEnvironment
特性
财产 | 类型 | 描述 |
---|---|---|
模拟器 | { 数据库?: HostAndPort ; firestore?: HostAndPort ;存储?: HostAndPort ; } | 在创建测试环境时指定或发现的模拟器配置的只读副本。 |
项目编号 | 细绳 | 创建测试环境时指定或发现的项目 ID。 |
方法
方法 | 描述 |
---|---|
authentiatedContext(user_id, tokenOptions) | 创建一个RulesTestContext ,其行为类似于经过身份验证的 Firebase Auth 用户。通过返回的上下文创建的请求将附加一个模拟 Firebase 身份验证令牌。 |
清理() | 在测试代码的最后,调用清理函数。销毁在测试环境中创建的所有 RulesTestContext 并清理底层资源,从而允许干净退出。此方法不会以任何方式更改模拟器中的状态。要在测试之间重置数据,请参阅clearDatabase() 、 clearFirestore() 和clearStorage() 。 |
清除数据库() | 清除实时数据库模拟器命名空间中的所有数据。 |
清除Firestore() | 清除 Firestore 中属于 Firestore 模拟器中的projectId 数据。 |
清除存储() | 清除存储模拟器中所有存储桶中的存储文件和元数据。 |
未经身份验证的上下文() | 创建一个RulesTestContext ,其行为类似于未通过 Firebase Auth 登录的客户端。通过返回的上下文创建的请求不会附加 Firebase 身份验证令牌。 |
withSecurityRulesDisabled(回调) |
规则测试环境.模拟器
在创建测试环境时指定或发现的模拟器配置的只读副本。
签名:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
规则测试环境.projectId
创建测试环境时指定或发现的项目 ID。
签名:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
创建一个RulesTestContext
,其行为类似于经过身份验证的 Firebase Auth 用户。
通过返回的上下文创建的请求将附加一个模拟 Firebase 身份验证令牌。
签名:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
参数
范围 | 类型 | 描述 |
---|---|---|
用户身份 | 细绳 | 用户的用户 ID。指定令牌上“user_id”和“sub”的值 |
代币选项 | 代币期权 | Firebase 身份验证令牌负载的自定义声明或覆盖 |
返回:
例子
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
规则测试环境.cleanup()
在测试代码的最后,调用清理函数。销毁在测试环境中创建的所有 RulesTestContext 并清理底层资源,从而允许干净退出。
此方法不会以任何方式更改模拟器中的状态。要在测试之间重置数据,请参阅clearDatabase()
、 clearFirestore()
和clearStorage()
。
签名:
cleanup(): Promise<void>;
返回:
承诺<无效>
RulesTestEnvironment.clearDatabase()
清除实时数据库模拟器命名空间中的所有数据。
签名:
clearDatabase(): Promise<void>;
返回:
承诺<无效>
RulesTestEnvironment.clearFirestore()
清除 Firestore 中属于 Firestore 模拟器中的projectId
数据。
签名:
clearFirestore(): Promise<void>;
返回:
承诺<无效>
RulesTestEnvironment.clearStorage()
清除存储模拟器中所有存储桶中的存储文件和元数据。
签名:
clearStorage(): Promise<void>;
返回:
承诺<无效>
RulesTestEnvironment.unauthenticatedContext()
创建一个RulesTestContext
,其行为类似于未通过 Firebase Auth 登录的客户端。
通过返回的上下文创建的请求不会附加 Firebase 身份验证令牌。
签名:
unauthenticatedContext(): RulesTestContext;
返回:
例子
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
签名:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
参数
范围 | 类型 | 描述 |
---|---|---|
打回来 | (上下文: RulesTestContext ) => 承诺<无效> |
返回:
承诺<无效>