1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-19 02:51:14 +02:00
bitwarden-browser/libs/common/spec/importers/keepass2-xml-importer.spec.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

43 lines
1.5 KiB
TypeScript
Raw Normal View History

import { KeePass2XmlImporter as Importer } from "@bitwarden/common/importers/keepass2-xml-importer";
import { FolderView } from "@bitwarden/common/models/view/folder.view";
2019-02-07 22:55:49 +01:00
import { TestData, TestData1, TestData2 } from "./keepass2-xml-importer-testdata";
2019-02-07 22:55:49 +01:00
describe("KeePass2 Xml Importer", () => {
it("should parse XML data", async () => {
const importer = new Importer();
const result = await importer.parse(TestData);
2019-02-07 22:55:49 +01:00
expect(result != null).toBe(true);
});
it("parse XML should contains folders", async () => {
const importer = new Importer();
const folder = new FolderView();
folder.name = "Folder2";
const actual = [folder];
const result = await importer.parse(TestData);
expect(result.folders).toEqual(actual);
});
it("parse XML should contains login details", async () => {
const importer = new Importer();
const result = await importer.parse(TestData);
expect(result.ciphers[0].login.uri != null).toBe(true);
expect(result.ciphers[0].login.username != null).toBe(true);
expect(result.ciphers[0].login.password != null).toBe(true);
});
it("should return error with missing root tag", async () => {
const importer = new Importer();
const result = await importer.parse(TestData1);
expect(result.errorMessage).toBe("Missing `KeePassFile > Root` node.");
});
it("should return error with missing KeePassFile tag", async () => {
const importer = new Importer();
const result = await importer.parse(TestData2);
expect(result.success).toBe(false);
});
2019-02-07 22:55:49 +01:00
});