Add synthetic Bitwarden test exports

This commit is contained in:
2026-09-03 12:27:44 -04:00
parent b5317e297a
commit 6d0a23a72e
3 changed files with 167 additions and 0 deletions
+11
View File
@@ -1,3 +1,14 @@
# Synthetic fixtures # Synthetic fixtures
Fixtures in this directory must contain fake credentials only. Never place a real Bitwarden export here. Fixtures in this directory must contain fake credentials only. Never place a real Bitwarden export here.
## Sample pair
`sample-export-a.json` and `sample-export-b.json` are synthetic Bitwarden-style exports for manual testing. They intentionally include:
- An exact login duplicate despite different item IDs, names, folders, favorite flags, casing, and `www.` URL formatting.
- A likely duplicate with the same username and URL but different password, TOTP, notes, and custom fields; B has the newer revision date.
- Unique login and credit-card records.
- A changed secure note that must remain separate for review.
All values are fake and use `.invalid` domains where applicable.
+77
View File
@@ -0,0 +1,77 @@
{
"encrypted": false,
"folders": [
{"id": "folder-work", "name": "Work"},
{"id": "folder-personal", "name": "Personal"}
],
"collections": [],
"items": [
{
"id": "a-exact",
"organizationId": null,
"folderId": "folder-work",
"type": 1,
"reprompt": 0,
"name": "Example Portal — Old Label",
"notes": "Synthetic exact duplicate; safe fake data.",
"favorite": false,
"login": {
"username": "alice@example.invalid",
"password": "Fake-Example-Password-123!",
"uris": [{"match": null, "uri": "https://example.com"}],
"totp": null
},
"fields": [],
"revisionDate": "2026-01-10T12:00:00.000Z"
},
{
"id": "a-conflict",
"organizationId": null,
"folderId": "folder-work",
"type": 1,
"reprompt": 0,
"name": "Acme Cloud",
"notes": "Older synthetic credential.",
"favorite": true,
"login": {
"username": "demo-user",
"password": "Old-Fake-Password!",
"uris": [{"match": null, "uri": "https://acme.invalid/login"}],
"totp": "JBSWY3DPEHPK3PXP"
},
"fields": [{"name": "Environment", "value": "test", "type": 0}],
"revisionDate": "2026-02-01T12:00:00.000Z"
},
{
"id": "a-unique",
"organizationId": null,
"folderId": "folder-personal",
"type": 1,
"reprompt": 0,
"name": "A Only Service",
"notes": "Only in export A.",
"favorite": false,
"login": {
"username": "a-user",
"password": "A-Only-Fake-Secret!",
"uris": [{"match": null, "uri": "https://a-only.invalid"}],
"totp": null
},
"fields": [],
"revisionDate": "2026-01-15T12:00:00.000Z"
},
{
"id": "a-note",
"organizationId": null,
"folderId": "folder-personal",
"type": 2,
"reprompt": 0,
"name": "Travel Note",
"notes": "Passport reminder — synthetic fixture only.",
"favorite": false,
"secureNote": {"type": 0},
"fields": [],
"revisionDate": "2026-01-20T12:00:00.000Z"
}
]
}
+79
View File
@@ -0,0 +1,79 @@
{
"encrypted": false,
"folders": [
{"id": "folder-work-b", "name": "Work"},
{"id": "folder-personal-b", "name": "Personal"}
],
"collections": [],
"items": [
{
"id": "b-exact",
"organizationId": null,
"folderId": "folder-work-b",
"type": 1,
"reprompt": 0,
"name": "Example Portal — New Label",
"notes": "Synthetic exact duplicate; safe fake data.",
"favorite": true,
"login": {
"username": "ALICE@EXAMPLE.INVALID",
"password": "Fake-Example-Password-123!",
"uris": [{"match": null, "uri": "https://www.example.com/"}],
"totp": null
},
"fields": [],
"revisionDate": "2026-03-10T12:00:00.000Z"
},
{
"id": "b-conflict",
"organizationId": null,
"folderId": "folder-work-b",
"type": 1,
"reprompt": 0,
"name": "Acme Cloud",
"notes": "Newer synthetic credential.",
"favorite": true,
"login": {
"username": "DEMO-USER",
"password": "New-Fake-Password!",
"uris": [{"match": null, "uri": "https://www.acme.invalid/login/"}],
"totp": "KRSXG5A="
},
"fields": [{"name": "Environment", "value": "production", "type": 0}],
"revisionDate": "2026-03-01T12:00:00.000Z"
},
{
"id": "b-unique",
"organizationId": null,
"folderId": "folder-personal-b",
"type": 3,
"reprompt": 0,
"name": "Synthetic Reward Card",
"notes": "Fake card data; never use.",
"favorite": false,
"card": {
"cardholderName": "Test Person",
"brand": "Visa",
"number": "4111111111111111",
"expMonth": "12",
"expYear": "2099",
"code": "000"
},
"fields": [],
"revisionDate": "2026-02-20T12:00:00.000Z"
},
{
"id": "b-note",
"organizationId": null,
"folderId": "folder-personal-b",
"type": 2,
"reprompt": 0,
"name": "Travel Note",
"notes": "Passport reminder — synthetic fixture updated.",
"favorite": false,
"secureNote": {"type": 0},
"fields": [{"name": "Source", "value": "B", "type": 0}],
"revisionDate": "2026-03-05T12:00:00.000Z"
}
]
}