mirror of
https://github.com/bitwarden/browser
synced 2024-12-08 15:25:54 +01:00
a5a12a6723
* Create and register new libs/importer Create package.json Create tsconfig Create jest.config Extend shared and root tsconfig and jest.configs Register with eslint * Move importer-related files to libs/importer * Move importer-spec-related files to libs/importer Move import.service.spec * Update package-lock.json * Set CODEOWNERS for new libs/importer * Register libs/importer with cli and fix imports * Register libs/importer with web and fix imports * Move importOption into models Rename importOptions to import-options * Fix linting issues after updating prettier * Only expose necessary files from libs/importer Fix tsconfig files - Removes the trailing /index on imports in web/cli As the spec-files no longer can access the internals via @bitwarden/importer they import by path (../src/importers) * Add barrel files to vendors with more than one importer
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { PasskyJsonImporter } from "../src/importers";
|
|
|
|
import { testData as EncryptedData } from "./test-data/passky-json/passky-encrypted.json";
|
|
import { testData as UnencryptedData } from "./test-data/passky-json/passky-unencrypted.json";
|
|
|
|
describe("Passky Json Importer", () => {
|
|
let importer: PasskyJsonImporter;
|
|
beforeEach(() => {
|
|
importer = new PasskyJsonImporter();
|
|
});
|
|
|
|
it("should not import encrypted backups", async () => {
|
|
const testDataJson = JSON.stringify(EncryptedData);
|
|
const result = await importer.parse(testDataJson);
|
|
expect(result != null).toBe(true);
|
|
expect(result.success).toBe(false);
|
|
expect(result.errorMessage).toBe("Unable to import an encrypted passky backup.");
|
|
});
|
|
|
|
it("should parse login data", async () => {
|
|
const testDataJson = JSON.stringify(UnencryptedData);
|
|
const result = await importer.parse(testDataJson);
|
|
expect(result != null).toBe(true);
|
|
|
|
const cipher = result.ciphers.shift();
|
|
expect(cipher.name).toEqual("https://bitwarden.com/");
|
|
expect(cipher.login.username).toEqual("testUser");
|
|
expect(cipher.login.password).toEqual("testPassword");
|
|
expect(cipher.login.uris.length).toEqual(1);
|
|
const uriView = cipher.login.uris.shift();
|
|
expect(uriView.uri).toEqual("https://bitwarden.com/");
|
|
expect(cipher.notes).toEqual("my notes");
|
|
});
|
|
});
|