Unit tests for valid IP, public IP & CF API requests

This commit is contained in:
2024-02-12 12:27:50 +01:00
parent 8bb7f2e1ae
commit c4d4755eeb
5 changed files with 174 additions and 1 deletions

40
tests/test_public_ip.py Normal file
View File

@@ -0,0 +1,40 @@
import unittest
import responses
from src.main import publicAddress
MOCK_IP = '44.208.147.61'
MOCK_TIMEOUT = 'upstream connect error or disconnect/reset before headers. reset reason: connection timeout.'
class TestPublicAddress(unittest.TestCase):
@responses.activate
def test_successfull_response(self):
responses.add(responses.GET, 'https://ifconfig.me',
body=MOCK_IP, status=200)
ip = publicAddress()
self.assertEqual(MOCK_IP, ip)
@responses.activate
def test_timeout_response(self):
responses.add(responses.GET, 'https://ifconfig.me',
body=MOCK_TIMEOUT, status=500)
ip = publicAddress()
self.assertIsNone(ip)
@responses.activate
def test_mangled_response(self):
responses.add(responses.GET, 'https://ifconfig.me',
body='123.22', status=200)
ip = publicAddress()
self.assertIsNone(ip)
if __name__ == '__main__':
unittest.main()