unit-test/testsettings.ts (94 lines of code) (raw):

"use strict"; import {Credentials} from "../src/bll/credentialsstore/credentials"; import {WindowsCredentialStoreApi} from "../src/bll/credentialsstore/win32/win-credstore-api"; import {OsxKeychainApi} from "../src/bll/credentialsstore/osx/osx-keychain-api"; import {Constants} from "../src/bll/utils/constants"; export class TestSettings { public static get account(): string { return "test_username"; } public static get password(): string { return "test_password"; } public static get url(): string { return "http://localhost:" + this.port; } public static get port(): string { return "8222"; } public static get basicAuthHeader(): string { //for test_username:test_password return "Basic dGVzdF91c2VybmFtZTp0ZXN0X3Bhc3N3b3Jk"; } private static testCredentials; public static get credentials(): Credentials { if (!TestSettings.testCredentials) { TestSettings.testCredentials = new Credentials(TestSettings.url, TestSettings.account, TestSettings.password, "test", "test"); } return TestSettings.testCredentials; } public static get winCredentials(): any { const encruptedUrl = new Buffer(TestSettings.url, "utf8").toString("hex"); const encruptedUsername = new Buffer(TestSettings.account, "utf8").toString("hex"); return { credential: new Buffer(TestSettings.password), targetName: encruptedUrl + WindowsCredentialStoreApi.separator + encruptedUsername }; } public static get anotherWinCredentials(): any { const encruptedUrl = new Buffer(TestSettings.url + 2, "utf8").toString("hex"); const encruptedUsername = new Buffer(TestSettings.account + 2, "utf8").toString("hex"); return { credential: new Buffer(TestSettings.password + 2), targetName: encruptedUrl + WindowsCredentialStoreApi.separator + encruptedUsername }; } public static get osxCredentials(): any { const encruptedUrl = new Buffer(TestSettings.url, "utf8").toString("hex"); const encruptedUsername = new Buffer(TestSettings.account, "utf8").toString("hex"); return { svce: Constants.SERVICE_PREFIX, acct: encruptedUrl + OsxKeychainApi.separator + encruptedUsername }; } public static get otherOsxCredentials(): any { const encruptedUrl = new Buffer(TestSettings.url + 2, "utf8").toString("hex"); const encruptedUsername = new Buffer(TestSettings.account + 2, "utf8").toString("hex"); return { svce: Constants.SERVICE_PREFIX, acct: encruptedUrl + OsxKeychainApi.separator + encruptedUsername }; } public static get linuxCredentialsObj(): any { return { service: Constants.SERVICE_PREFIX, url: TestSettings.url, username: TestSettings.account, password: TestSettings.password }; } public static get linuxCredentialsString(): any { return JSON.stringify([TestSettings.linuxCredentialsObj]); } public static get otherLinuxCredentials(): any { return { service: Constants.SERVICE_PREFIX, url: TestSettings.url + 2, username: TestSettings.account + 2, password: TestSettings.password + 2 }; } public static get persistentCredentialsPrefix(): string { return Constants.SERVICE_PREFIX; } public static get win32Platform(): NodeJS.Platform { return "win32"; } public static get winCredentialsExample(): string { return this.winStorageExample; } private static readonly winStorageExample = `Target Name: jetbrains.teamcity.vscode${TestSettings.winCredentials.targetName}\n` + "win-credstore-parser.ts:27\n" + "Type: Generic\n" + "User Name: creds.exe\n" + "Credential: 746573745f70617373776f7264"; }