Use twitter safe relay
CI / test (pull_request) Has been cancelled

This commit is contained in:
2026-06-24 03:39:34 +09:00
parent b771e827aa
commit 1f6e228272
66 changed files with 597 additions and 1720 deletions
+17 -17
View File
@@ -1,6 +1,6 @@
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { TwitterClient } from '../src/lib/twitter-client.js';
import { validCookies } from './twitter-client-fixtures.js';
import { testRelayBaseUrl } from './twitter-client-fixtures.js';
const originalFetch = global.fetch;
@@ -69,7 +69,7 @@ describe('TwitterClient search', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.search('needle', 1);
expect(result.success).toBe(true);
@@ -109,7 +109,7 @@ describe('TwitterClient search', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.search('hello', 5);
expect(result.success).toBe(true);
@@ -117,7 +117,7 @@ describe('TwitterClient search', () => {
});
it('returns an unknown error when no query IDs are available', async () => {
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
(client as unknown as { getSearchTimelineQueryIds: () => Promise<string[]> }).getSearchTimelineQueryIds =
async () => [];
@@ -185,7 +185,7 @@ describe('TwitterClient search', () => {
json: async () => makeResponse(['2', '3']),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.search('needle', 3);
expect(result.success).toBe(true);
@@ -260,7 +260,7 @@ describe('TwitterClient search', () => {
json: async () => makeResponse(['3'], 'same-cursor'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.search('needle', 4);
expect(result.success).toBe(true);
@@ -334,7 +334,7 @@ describe('TwitterClient search', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.search('needle', 3);
expect(result.success).toBe(true);
@@ -411,7 +411,7 @@ describe('TwitterClient search', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllSearchResults('query', { maxPages: 1 });
expect(result.success).toBe(true);
@@ -466,7 +466,7 @@ describe('TwitterClient search', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllSearchResults('query', { cursor: 'old-cursor' });
expect(result.success).toBe(true);
@@ -533,7 +533,7 @@ describe('TwitterClient bookmarks', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getBookmarks(2);
expect(result.success).toBe(true);
@@ -648,7 +648,7 @@ describe('TwitterClient bookmarks', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllBookmarks();
expect(result.success).toBe(true);
@@ -760,7 +760,7 @@ describe('TwitterClient bookmarks', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllBookmarks({ maxPages: 1 });
expect(result.success).toBe(true);
@@ -816,7 +816,7 @@ describe('TwitterClient bookmarks', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllBookmarks({ cursor: 'cursor-1' });
expect(result.success).toBe(true);
@@ -931,7 +931,7 @@ describe('TwitterClient bookmarks', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllBookmarks();
expect(result.success).toBe(true);
@@ -988,7 +988,7 @@ describe('TwitterClient bookmarks', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getAllBookmarks({ maxPages: 1 });
expect(result.success).toBe(true);
@@ -1051,7 +1051,7 @@ describe('TwitterClient bookmark folders', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getBookmarkFolderTimeline('123', 2);
expect(result.success).toBe(true);
@@ -1123,7 +1123,7 @@ describe('TwitterClient bookmark folders', () => {
}),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const clientPrivate = client as TwitterClient & { getBookmarkFolderQueryIds: () => Promise<string[]> };
clientPrivate.getBookmarkFolderQueryIds = async () => ['test'];