From a68b57629a69b61c7eb9e3d5c630fe17d63da97d Mon Sep 17 00:00:00 2001 From: Zed Date: Sat, 22 Aug 2026 20:28:40 +0700 Subject: [PATCH] Skip TweetResultByRestId tests on CI (CF block) --- tests/test_card.py | 4 ++++ tests/test_embed.py | 6 ++++++ tests/test_tweet_media.py | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/tests/test_card.py b/tests/test_card.py index 16863ea..daee099 100644 --- a/tests/test_card.py +++ b/tests/test_card.py @@ -1,3 +1,5 @@ +import os +import unittest from base import BaseTestCase, Card, Conversation from parameterized import parameterized @@ -46,6 +48,8 @@ playable = [ class CardTest(BaseTestCase): @parameterized.expand(card) def test_card(self, tweet, title, description, destination, large): + if os.environ.get('GITHUB_ACTIONS') == 'true' and '2061872347477418301' in tweet: + self.skipTest('Card image unreliable from GitHub datacenter IPs') self.open_nitter(tweet) c = Card(Conversation.main + " ") self.assert_text(title, c.title) diff --git a/tests/test_embed.py b/tests/test_embed.py index a1ef3e7..cc7a28a 100644 --- a/tests/test_embed.py +++ b/tests/test_embed.py @@ -1,3 +1,5 @@ +import os +import unittest import requests from base import BaseTestCase, Media from parameterized import parameterized @@ -66,6 +68,8 @@ class TweetEmbedMediaTest(BaseTestCase): self.scroll_to(Media.container) self.assert_element_visible(Media.gif) + @unittest.skipIf(os.environ.get('GITHUB_ACTIONS') == 'true', + 'TweetResultByRestId is Cloudflare-blocked from GitHub datacenter IPs') def test_embed_with_video(self): self.open_nitter('d0m96/status/1078373829917974528/embed') self.assert_element_visible(Embed.container) @@ -257,6 +261,8 @@ class OEmbedDiscoveryTest(BaseTestCase): self.assertIn('html', data) +@unittest.skipIf(os.environ.get('GITHUB_ACTIONS') == 'true', + 'TweetResultByRestId is Cloudflare-blocked from GitHub datacenter IPs') class VideoEmbedTest(BaseTestCase): """Test video embed route (/i/videos/tweet/{id}).""" video_tweet_id = '1078373829917974528' diff --git a/tests/test_tweet_media.py b/tests/test_tweet_media.py index 7f81391..0f6c4c5 100644 --- a/tests/test_tweet_media.py +++ b/tests/test_tweet_media.py @@ -1,3 +1,5 @@ +import os +import unittest from base import BaseTestCase, Poll, Media from parameterized import parameterized from selenium.webdriver.common.by import By @@ -89,6 +91,8 @@ class MediaTest(BaseTestCase): @parameterized.expand(video_m3u8) def test_video_m3u8(self, tweet, thumb): + if os.environ.get('GITHUB_ACTIONS') == 'true' and '1078373829917974528' in tweet: + self.skipTest('TweetResultByRestId is Cloudflare-blocked from GitHub datacenter IPs') self.open_nitter(tweet) self.driver.delete_cookie("hlsPlayback") self.refresh()