feat: 初始化 Gitea Action 发送钉钉机器人消息项目
This commit is contained in:
378
tests/fixtures/configs/valid-configs.js
vendored
Normal file
378
tests/fixtures/configs/valid-configs.js
vendored
Normal file
@@ -0,0 +1,378 @@
|
||||
/**
|
||||
* 有效配置数据夹具
|
||||
* 包含各种有效的配置组合用于测试
|
||||
*/
|
||||
|
||||
export const validConfigs = {
|
||||
// 环境变量格式的配置
|
||||
envVars: {
|
||||
text: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test123',
|
||||
INPUT_MESSAGE_TYPE: 'text',
|
||||
INPUT_CONTENT: 'Hello World',
|
||||
INPUT_TITLE: '',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
|
||||
markdown: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test456',
|
||||
INPUT_MESSAGE_TYPE: 'markdown',
|
||||
INPUT_CONTENT: '# Hello\n\nThis is **markdown** content.',
|
||||
INPUT_TITLE: 'Test Title',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
|
||||
link: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test789',
|
||||
INPUT_MESSAGE_TYPE: 'link',
|
||||
INPUT_CONTENT: 'This is a test link',
|
||||
INPUT_TITLE: 'Test Link',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: 'https://example.com',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
|
||||
actionCard: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test101',
|
||||
INPUT_MESSAGE_TYPE: 'actionCard',
|
||||
INPUT_CONTENT: 'Action card content',
|
||||
INPUT_TITLE: 'Action Card Title',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: JSON.stringify([{ title: 'Button 1', actionURL: 'https://example.com/1' }]),
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
|
||||
feedCard: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test103',
|
||||
INPUT_MESSAGE_TYPE: 'feedCard',
|
||||
INPUT_CONTENT: '',
|
||||
INPUT_TITLE: '',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: JSON.stringify([
|
||||
{
|
||||
title: '新闻1',
|
||||
messageURL: 'https://example.com/news1',
|
||||
picURL: 'https://example.com/pic1.jpg',
|
||||
},
|
||||
]),
|
||||
},
|
||||
},
|
||||
|
||||
// 基础文本消息配置
|
||||
basicText: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test123',
|
||||
message_type: 'text',
|
||||
content: 'Hello, World!',
|
||||
title: '',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// Markdown 消息配置
|
||||
markdown: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test456',
|
||||
message_type: 'markdown',
|
||||
content: '## 标题\n这是一个 **Markdown** 消息',
|
||||
title: 'Markdown 标题',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// 链接消息配置
|
||||
link: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test789',
|
||||
message_type: 'link',
|
||||
content: '这是一个链接消息的描述',
|
||||
title: '链接标题',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: 'https://example.com',
|
||||
pic_url: 'https://example.com/image.jpg',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// 单按钮 ActionCard 配置
|
||||
singleActionCard: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test101',
|
||||
message_type: 'actionCard',
|
||||
content: '这是一个单按钮 ActionCard',
|
||||
title: 'ActionCard 标题',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '查看详情',
|
||||
single_url: 'https://example.com/detail',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// 多按钮 ActionCard 配置
|
||||
multiActionCard: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test102',
|
||||
message_type: 'actionCard',
|
||||
content: '这是一个多按钮 ActionCard',
|
||||
title: 'ActionCard 标题',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '1',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: JSON.stringify([
|
||||
{ title: '按钮1', actionURL: 'https://example.com/action1' },
|
||||
{ title: '按钮2', actionURL: 'https://example.com/action2' },
|
||||
]),
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// FeedCard 配置
|
||||
feedCard: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test103',
|
||||
message_type: 'feedCard',
|
||||
content: '',
|
||||
title: '',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: JSON.stringify([
|
||||
{
|
||||
title: '新闻1',
|
||||
messageURL: 'https://example.com/news1',
|
||||
picURL: 'https://example.com/pic1.jpg',
|
||||
},
|
||||
{
|
||||
title: '新闻2',
|
||||
messageURL: 'https://example.com/news2',
|
||||
picURL: 'https://example.com/pic2.jpg',
|
||||
},
|
||||
]),
|
||||
},
|
||||
|
||||
// 带 @ 功能的文本消息
|
||||
textWithAt: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test104',
|
||||
message_type: 'text',
|
||||
content: '这是一个带 @ 功能的消息',
|
||||
title: '',
|
||||
at_mobiles: '13800138000,13900139000',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// @ 所有人的消息
|
||||
textWithAtAll: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test105',
|
||||
message_type: 'text',
|
||||
content: '这是一个 @ 所有人的消息',
|
||||
title: '',
|
||||
at_mobiles: '',
|
||||
at_all: true,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// 复杂的 Markdown 消息
|
||||
complexMarkdown: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test106',
|
||||
message_type: 'markdown',
|
||||
content: `# 构建报告
|
||||
## 构建状态: ✅ 成功
|
||||
- **项目**: dingtalk-bot
|
||||
- **分支**: main
|
||||
- **提交**: abc123
|
||||
- **时间**: 2024-01-01 12:00:00
|
||||
|
||||
### 测试结果
|
||||
- 单元测试: 100% 通过
|
||||
- 覆盖率: 95%
|
||||
|
||||
[查看详细报告](https://example.com/report)`,
|
||||
title: '构建报告',
|
||||
at_mobiles: '13800138000',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// 垂直排列的多按钮 ActionCard
|
||||
verticalActionCard: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test107',
|
||||
message_type: 'actionCard',
|
||||
content: '请选择操作',
|
||||
title: '操作选择',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '1',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: JSON.stringify([
|
||||
{ title: '同意', actionURL: 'https://example.com/approve' },
|
||||
{ title: '拒绝', actionURL: 'https://example.com/reject' },
|
||||
{ title: '查看详情', actionURL: 'https://example.com/detail' },
|
||||
]),
|
||||
feed_links: '',
|
||||
},
|
||||
|
||||
// 多链接 FeedCard
|
||||
multiFeedCard: {
|
||||
webhook_url: 'https://oapi.dingtalk.com/robot/send?access_token=test108',
|
||||
message_type: 'feedCard',
|
||||
content: '',
|
||||
title: '',
|
||||
at_mobiles: '',
|
||||
at_all: false,
|
||||
link_url: '',
|
||||
pic_url: '',
|
||||
btn_orientation: '0',
|
||||
single_title: '',
|
||||
single_url: '',
|
||||
buttons: '',
|
||||
feed_links: JSON.stringify([
|
||||
{
|
||||
title: '技术文档',
|
||||
messageURL: 'https://docs.example.com',
|
||||
picURL: 'https://example.com/doc.jpg',
|
||||
},
|
||||
{
|
||||
title: 'API 参考',
|
||||
messageURL: 'https://api.example.com',
|
||||
picURL: 'https://example.com/api.jpg',
|
||||
},
|
||||
{
|
||||
title: '示例代码',
|
||||
messageURL: 'https://github.com/example',
|
||||
picURL: 'https://example.com/code.jpg',
|
||||
},
|
||||
]),
|
||||
},
|
||||
};
|
||||
|
||||
// 环境变量格式的配置(用于测试 config.js)
|
||||
export const envConfigs = {
|
||||
basicText: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test123',
|
||||
INPUT_MESSAGE_TYPE: 'text',
|
||||
INPUT_CONTENT: 'Hello, World!',
|
||||
INPUT_TITLE: '',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
|
||||
markdown: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test456',
|
||||
INPUT_MESSAGE_TYPE: 'markdown',
|
||||
INPUT_CONTENT: '## 标题\n这是一个 **Markdown** 消息',
|
||||
INPUT_TITLE: 'Markdown 标题',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'false',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
|
||||
textWithAtAll: {
|
||||
INPUT_WEBHOOK_URL: 'https://oapi.dingtalk.com/robot/send?access_token=test105',
|
||||
INPUT_MESSAGE_TYPE: 'text',
|
||||
INPUT_CONTENT: '这是一个 @ 所有人的消息',
|
||||
INPUT_TITLE: '',
|
||||
INPUT_AT_MOBILES: '',
|
||||
INPUT_AT_ALL: 'true',
|
||||
INPUT_LINK_URL: '',
|
||||
INPUT_PIC_URL: '',
|
||||
INPUT_BTN_ORIENTATION: '0',
|
||||
INPUT_SINGLE_TITLE: '',
|
||||
INPUT_SINGLE_URL: '',
|
||||
INPUT_BUTTONS: '',
|
||||
INPUT_FEED_LINKS: '',
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user