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
+13 -13
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;
@@ -75,7 +75,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['2', '3'], undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1');
expect(result.success).toBe(true);
@@ -98,7 +98,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['4', '5'], undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1', { pageDelayMs: 0 });
expect(result.success).toBe(true);
@@ -121,7 +121,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['4', '5'], 'cursor-page-3', '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1', { maxPages: 2, pageDelayMs: 0 });
expect(result.success).toBe(true);
@@ -137,7 +137,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['4', '5'], undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1', { cursor: 'resume-cursor', pageDelayMs: 0 });
expect(result.success).toBe(true);
@@ -161,7 +161,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['3', '4'], undefined, '1'), // '3' is duplicate
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1', { pageDelayMs: 0 });
expect(result.success).toBe(true);
@@ -182,7 +182,7 @@ describe('TwitterClient pagination for thread and replies', () => {
text: async () => 'Internal Server Error',
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1', { pageDelayMs: 0 });
expect(result.success).toBe(false);
@@ -209,7 +209,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['3'], undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getRepliesPaged('1', { pageDelayMs: 0 });
expect(result.success).toBe(true);
@@ -227,7 +227,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['1', '2', '3'], undefined, undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getThreadPaged('1');
expect(result.success).toBe(true);
@@ -248,7 +248,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['3', '4'], undefined, undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getThreadPaged('1', { pageDelayMs: 0 });
expect(result.success).toBe(true);
@@ -320,7 +320,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => payload,
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getThreadPaged('1');
expect(result.success).toBe(true);
@@ -391,7 +391,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => payload,
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getThreadPaged('1');
expect(result.success).toBe(true);
@@ -412,7 +412,7 @@ describe('TwitterClient pagination for thread and replies', () => {
json: async () => makeConversationPayload(['3', '4'], 'cursor-page-3', undefined, '1'),
});
const client = new TwitterClient({ cookies: validCookies });
const client = new TwitterClient({ relayBaseUrl: testRelayBaseUrl });
const result = await client.getThreadPaged('1', { maxPages: 2, pageDelayMs: 0 });
expect(result.success).toBe(true);