Skip to content

Commit b23c9b4

Browse files
authored
Merge pull request #31 from brightdata/dev
Dev
2 parents 73d8e7b + 972091f commit b23c9b4

File tree

2 files changed

+25
-26
lines changed

2 files changed

+25
-26
lines changed

tests/unit/test_linkedin.py

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ def test_search_posts_signature(self):
118118
search = LinkedInSearchScraper(bearer_token="test_token_123456789")
119119
sig = inspect.signature(search.posts)
120120

121-
# Required: profile_url
122-
assert "profile_url" in sig.parameters
121+
# Required: url (profile URL)
122+
assert "url" in sig.parameters
123123

124124
# Optional: start_date, end_date, timeout
125125
assert "start_date" in sig.parameters
@@ -133,11 +133,11 @@ def test_search_profiles_signature(self):
133133
search = LinkedInSearchScraper(bearer_token="test_token_123456789")
134134
sig = inspect.signature(search.profiles)
135135

136-
# Required: firstName
137-
assert "firstName" in sig.parameters
136+
# Required: first_name
137+
assert "first_name" in sig.parameters
138138

139-
# Optional: lastName, timeout
140-
assert "lastName" in sig.parameters
139+
# Optional: last_name, timeout
140+
assert "last_name" in sig.parameters
141141
assert "timeout" in sig.parameters
142142

143143
def test_search_jobs_signature(self):
@@ -195,11 +195,10 @@ def test_scrape_vs_search_distinction(self):
195195
assert "url" in scraper_sig.parameters
196196
assert "sync" not in scraper_sig.parameters # sync parameter was removed
197197

198-
# Search uses platform-specific parameters
198+
# Search uses url + date range parameters
199199
search_sig = inspect.signature(search.posts)
200-
assert "profile_url" in search_sig.parameters
200+
assert "url" in search_sig.parameters
201201
assert "start_date" in search_sig.parameters
202-
assert "url" not in search_sig.parameters # Different from scraper
203202

204203
def test_scrape_linkedin_methods_accept_url_list(self):
205204
"""Test scrape.linkedin methods accept url as str | list."""
@@ -289,26 +288,26 @@ def test_search_posts_api_spec(self):
289288
"""Test client.search.linkedin.posts matches API spec."""
290289
client = BrightDataClient(token="test_token_123456789")
291290

292-
# API Spec: posts(profile_url, start_date, end_date)
291+
# API Spec: posts(url, start_date, end_date)
293292
import inspect
294293

295294
sig = inspect.signature(client.search.linkedin.posts)
296295

297-
assert "profile_url" in sig.parameters
296+
assert "url" in sig.parameters
298297
assert "start_date" in sig.parameters
299298
assert "end_date" in sig.parameters
300299

301300
def test_search_profiles_api_spec(self):
302301
"""Test client.search.linkedin.profiles matches API spec."""
303302
client = BrightDataClient(token="test_token_123456789")
304303

305-
# API Spec: profiles(firstName, lastName, timeout)
304+
# API Spec: profiles(first_name, last_name, timeout)
306305
import inspect
307306

308307
sig = inspect.signature(client.search.linkedin.profiles)
309308

310-
assert "firstName" in sig.parameters
311-
assert "lastName" in sig.parameters
309+
assert "first_name" in sig.parameters
310+
assert "last_name" in sig.parameters
312311
assert "timeout" in sig.parameters
313312

314313
def test_search_jobs_api_spec(self):
@@ -393,15 +392,15 @@ def test_search_posts_interface(self):
393392
"""Test search.linkedin.posts interface."""
394393
client = BrightDataClient(token="test_token_123456789")
395394

396-
# Interface: posts(profile_url, start_date, end_date)
395+
# Interface: posts(url, start_date, end_date)
397396
linkedin_search = client.search.linkedin
398397

399398
assert callable(linkedin_search.posts)
400399

401400
import inspect
402401

403402
sig = inspect.signature(linkedin_search.posts)
404-
assert "profile_url" in sig.parameters
403+
assert "url" in sig.parameters
405404
assert "start_date" in sig.parameters
406405
assert "end_date" in sig.parameters
407406

@@ -452,15 +451,15 @@ def test_url_accepts_string(self):
452451
assert "Union" in url_annotation or "|" in url_annotation
453452
assert "str" in url_annotation
454453

455-
def test_profile_url_accepts_array(self):
456-
"""Test profile_url accepts arrays."""
454+
def test_url_accepts_array_in_search_posts(self):
455+
"""Test url accepts arrays in search posts."""
457456
import inspect
458457

459458
search = LinkedInSearchScraper(bearer_token="test_token_123456789")
460459
sig = inspect.signature(search.posts)
461460

462-
# profile_url should accept str | list
463-
annotation = str(sig.parameters["profile_url"].annotation)
461+
# url should accept str | list
462+
annotation = str(sig.parameters["url"].annotation)
464463
assert "Union" in annotation or "str" in annotation
465464

466465

@@ -504,9 +503,9 @@ def test_clear_scrape_vs_search_distinction(self):
504503
scraper_posts_sig = inspect.signature(scraper.posts)
505504
assert "url" in scraper_posts_sig.parameters
506505

507-
# Search is for discovery parameters
506+
# Search is for discovery parameters (url + date range)
508507
search_posts_sig = inspect.signature(search.posts)
509-
assert "profile_url" in search_posts_sig.parameters
508+
assert "url" in search_posts_sig.parameters
510509
assert "start_date" in search_posts_sig.parameters
511510

512511
def test_consistent_timeout_defaults(self):

tests/unit/test_scrapers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -305,13 +305,13 @@ def test_search_methods_are_parameter_based(self):
305305
jobs_sig = inspect.signature(linkedin_search.jobs)
306306
assert "keyword" in jobs_sig.parameters
307307

308-
# LinkedIn search profiles() should accept firstName (parameter-based discovery)
308+
# LinkedIn search profiles() should accept first_name (parameter-based discovery)
309309
profiles_sig = inspect.signature(linkedin_search.profiles)
310-
assert "firstName" in profiles_sig.parameters
310+
assert "first_name" in profiles_sig.parameters
311311

312-
# LinkedIn search posts() should accept profile_url (parameter-based discovery)
312+
# LinkedIn search posts() should accept url (parameter-based discovery)
313313
posts_sig = inspect.signature(linkedin_search.posts)
314-
assert "profile_url" in posts_sig.parameters
314+
assert "url" in posts_sig.parameters
315315

316316
def test_all_platform_scrapers_have_scrape(self):
317317
"""Test all platform scrapers have scrape() method."""

0 commit comments

Comments
 (0)