1
mirror of https://github.com/public-apis/public-apis synced 2025-03-21 02:44:23 +01:00
public-apis/scripts/tests/test_validate_links.py
2022-01-11 22:19:54 -03:00

45 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
import unittest
from validate.links import find_links_in_text
class TestValidateLinks(unittest.TestCase):
def test_find_link_in_text(self):
text = """
# this is valid
http://example.com?param1=1&param2=2#anchor
https://www.example.com?param1=1&param2=2#anchor
https://www.example.com.br
https://www.example.com.gov.br
[Example](https://www.example.com?param1=1&param2=2#anchor)
lorem ipsum https://www.example.com?param1=1&param2=2#anchor
https://www.example.com?param1=1&param2=2#anchor lorem ipsum
# this not is valid
example.com
https:example.com
https:/example.com
https//example.com
https//.com
"""
links = find_links_in_text(text)
self.assertIsInstance(links, list)
self.assertEqual(len(links), 7)
for link in links:
with self.subTest():
self.assertIsInstance(link, str)
def test_find_link_in_text_with_invalid_argument(self):
with self.assertRaises(TypeError):
find_links_in_text()
find_links_in_text(1)
find_links_in_text(True)