UNPKG

firebase-bolt

Version:

Firebase Bolt Security and Modeling Language Compiler

62 lines (61 loc) 2.04 kB
import * as rest from './firebase-rest'; export declare type SuiteFunction = (fn: TestFunction) => void; export interface TestFunction { (name: string, fnTest: (rules: RulesTest) => void): void; rules: (path: string) => void; database: (appName: string, secret: string) => void; uid: (username: string) => string; TIMESTAMP: Object; } export declare function rulesSuite(suiteName: string, fnSuite: SuiteFunction): void; export declare class RulesSuite { suiteName: string; private fnSuite; debug: boolean; private users; private tests; private rulesPath; private rulesPathResolve; private databaseReady; private ready; private adminClient; private appName; private appSecret; constructor(suiteName: string, fnSuite: SuiteFunction); setDebug(debug?: boolean): this; run(): void; getInterface(): any; onRulesReady(prereq: [Object, any]): Promise<string>; runTests(): Promise<{}>; test(testName: string, fnTest: (rules: RulesTest) => void): void; rules(rulesPath: string): void; database(appName: string, appSecret: string): void; uid(username: string): string | undefined; ensureUser(username: string): rest.Client; } export declare class RulesTest { private testName; private suite; private fnTest; private lastError; private steps; private failed; private path; private client; private status; constructor(testName: string, suite: RulesSuite, fnTest: (rules: RulesTest) => void); run(): Promise<never>; queue(op: string, args: ArrayLike<any>, fn: () => Promise<any>): void; executeQueue(): Promise<boolean>; debug(debug?: boolean): RulesTest; as(username: string): RulesTest; at(opPath: string | undefined): RulesTest; write(obj: any): RulesTest; push(obj: any): RulesTest; read(): RulesTest; succeeds(message: string): RulesTest; fails(message: string): RulesTest; private good; private log; messageFormat(message: string): string; }