Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
bit-pm
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
燕伟桐
bit-pm
Commits
9d69a6d6
Unverified
提交
9d69a6d6
authored
7月 10, 2025
作者:
Will Chen
提交者:
GitHub
7月 10, 2025
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix backup tests (#620)
上级
65b3d9cb
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
10 行增加
和
15 行删除
+10
-15
backup.spec.ts
e2e-tests/backup.spec.ts
+10
-15
没有找到文件。
e2e-tests/backup.spec.ts
浏览文件 @
9d69a6d6
...
...
@@ -4,6 +4,7 @@ import * as crypto from "crypto";
import
{
testWithConfig
,
test
,
PageObject
}
from
"./helpers/test_helper"
;
import
{
expect
}
from
"@playwright/test"
;
const
BACKUP_SETTINGS
=
{
testFixture
:
true
};
const
testWithLastVersion
=
testWithConfig
({
preLaunchHook
:
async
({
userDataDir
})
=>
{
fs
.
mkdirSync
(
path
.
join
(
userDataDir
),
{
recursive
:
true
});
...
...
@@ -12,6 +13,10 @@ const testWithLastVersion = testWithConfig({
path
.
join
(
__dirname
,
"fixtures"
,
"backups"
,
"empty-v0.12.0-beta.1.db"
),
path
.
join
(
userDataDir
,
"sqlite.db"
),
);
fs
.
writeFileSync
(
path
.
join
(
userDataDir
,
"user-settings.json"
),
JSON
.
stringify
(
BACKUP_SETTINGS
,
null
,
2
),
);
},
});
...
...
@@ -20,6 +25,10 @@ const testWithMultipleBackups = testWithConfig({
fs
.
mkdirSync
(
path
.
join
(
userDataDir
),
{
recursive
:
true
});
// Make sure there's a last version file so the version upgrade is detected.
fs
.
writeFileSync
(
path
.
join
(
userDataDir
,
".last_version"
),
"0.1.0"
);
fs
.
writeFileSync
(
path
.
join
(
userDataDir
,
"user-settings.json"
),
JSON
.
stringify
(
BACKUP_SETTINGS
,
null
,
2
),
);
// Create backups directory
const
backupsDir
=
path
.
join
(
userDataDir
,
"backups"
);
...
...
@@ -132,17 +141,11 @@ testWithLastVersion(
expect
(
backupMetadata
.
checksums
.
database
).
toBeDefined
();
// Compare the backup files to the original files
const
originalSettings
=
fs
.
readFileSync
(
path
.
join
(
po
.
userDataDir
,
"user-settings.json"
),
"utf8"
,
);
const
backupSettings
=
fs
.
readFileSync
(
path
.
join
(
backupDir
,
"user-settings.json"
),
"utf8"
,
);
expect
(
cleanSettings
(
backupSettings
)).
toEqual
(
cleanSettings
(
originalSettings
),
);
expect
(
backupSettings
).
toEqual
(
JSON
.
stringify
(
BACKUP_SETTINGS
,
null
,
2
));
// For database, verify the backup file exists and has correct checksum
const
backupDbPath
=
path
.
join
(
backupDir
,
"sqlite.db"
);
...
...
@@ -214,14 +217,6 @@ testWithMultipleBackups(
},
);
function
cleanSettings
(
settings
:
string
)
{
const
parsed
=
JSON
.
parse
(
settings
);
delete
parsed
.
hasRunBefore
;
delete
parsed
.
isTestMode
;
delete
parsed
.
lastShownReleaseNotesVersion
;
return
parsed
;
}
function
calculateChecksum
(
filePath
:
string
):
string
{
const
fileBuffer
=
fs
.
readFileSync
(
filePath
);
const
hash
=
crypto
.
createHash
(
"sha256"
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论