46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import Sinon = require("sinon");
|
|
import express = require("express");
|
|
import { RequestLoggerStub } from "./RequestLoggerStub";
|
|
import { UserDataStoreStub } from "./storage/UserDataStoreStub";
|
|
import { AuthenticationMethodCalculator } from "../../src/lib/AuthenticationMethodCalculator";
|
|
import { VARIABLES_KEY } from "../../src/lib/ServerVariablesHandler";
|
|
|
|
export interface ServerVariablesMock {
|
|
logger: any;
|
|
ldapAuthenticator: any;
|
|
ldapEmailsRetriever: any;
|
|
ldapPasswordUpdater: any;
|
|
totpValidator: any;
|
|
totpGenerator: any;
|
|
u2f: any;
|
|
userDataStore: UserDataStoreStub;
|
|
notifier: any;
|
|
regulator: any;
|
|
config: any;
|
|
accessController: any;
|
|
authenticationMethodsCalculator: any;
|
|
}
|
|
|
|
|
|
export function mock(app: express.Application): ServerVariablesMock {
|
|
const mocks: ServerVariablesMock = {
|
|
accessController: Sinon.stub(),
|
|
config: Sinon.stub(),
|
|
ldapAuthenticator: Sinon.stub() as any,
|
|
ldapEmailsRetriever: Sinon.stub() as any,
|
|
ldapPasswordUpdater: Sinon.stub() as any,
|
|
logger: new RequestLoggerStub(),
|
|
notifier: Sinon.stub(),
|
|
regulator: Sinon.stub(),
|
|
totpGenerator: Sinon.stub(),
|
|
totpValidator: Sinon.stub(),
|
|
u2f: Sinon.stub(),
|
|
userDataStore: new UserDataStoreStub(),
|
|
authenticationMethodsCalculator: new AuthenticationMethodCalculator({
|
|
default_method: "two_factor",
|
|
per_subdomain_methods: {}
|
|
})
|
|
};
|
|
app.get = Sinon.stub().withArgs(VARIABLES_KEY).returns(mocks);
|
|
return mocks;
|
|
} |