Skip to content

Commit

Permalink
fix(connector): fix kook connector fail with empty banner (#7006)
Browse files Browse the repository at this point in the history
  • Loading branch information
Misaka-L authored Feb 11, 2025
1 parent 99bd856 commit dd8cd13
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 6 deletions.
5 changes: 5 additions & 0 deletions .changeset/itchy-singers-allow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@logto/connector-kook": patch
---

fix kook connector fail with empty banner in user information endpoint response
55 changes: 50 additions & 5 deletions packages/connectors/connector-kook/src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ describe('Kook connector', () => {
online: false,
os: 'Websocket',
status: 0,
avatar: 'https://xxx.com/assets/bot.png/icon',
banner: 'https://xxx.com/assets/banner.png',
avatar: 'https://img.kookapp.cn/assets/bot.png/icon',
banner: 'https://img.kookapp.cn/assets/banner.png',
bot: false,
mobile_verified: true,
mobile_prefix: '86',
Expand All @@ -116,13 +116,58 @@ describe('Kook connector', () => {
expect(socialUserInfo).toStrictEqual({
id: '364862',
name: 'test',
avatar: 'https://xxx.com/assets/bot.png/icon',
avatar: 'https://img.kookapp.cn/assets/bot.png/icon',
rawData: {
id: '364862',
username: 'test',
identify_num: '1670',
avatar: 'https://xxx.com/assets/bot.png/icon',
banner: 'https://xxx.com/assets/banner.png',
avatar: 'https://img.kookapp.cn/assets/bot.png/icon',
banner: 'https://img.kookapp.cn/assets/banner.png',
mobile_verified: true,
},
});
});

it('should get valid SocialUserInfo when user have not banner', async () => {
nock(userInfoEndpoint)
.get('')
.reply(200, {
code: 0,
message: '操作成功',
data: {
id: '364862',
username: 'test',
identify_num: '1670',
online: false,
os: 'Websocket',
status: 0,
avatar: 'https://img.kookapp.cn/assets/bot.png/icon',
banner: '',
bot: false,
mobile_verified: true,
mobile_prefix: '86',
mobile: '110****2333',
invited_count: 0,
},
});
const connector = await createConnector({ getConfig });
const socialUserInfo = await connector.getUserInfo(
{
code: 'code',
redirectUri: 'dummyRedirectUri',
},
vi.fn()
);
expect(socialUserInfo).toStrictEqual({
id: '364862',
name: 'test',
avatar: 'https://img.kookapp.cn/assets/bot.png/icon',
rawData: {
id: '364862',
username: 'test',
identify_num: '1670',
avatar: 'https://img.kookapp.cn/assets/bot.png/icon',
banner: '',
mobile_verified: true,
},
});
Expand Down
2 changes: 1 addition & 1 deletion packages/connectors/connector-kook/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const userInfoResponseGuard = z.object({
username: z.string(),
identify_num: z.string(),
avatar: z.string().url(),
banner: z.string().url(),
banner: z.union([z.string().url().nullish(), z.literal('')]),
mobile_verified: z.boolean(),
}),
});
Expand Down

0 comments on commit dd8cd13

Please sign in to comment.