test proxy

This commit is contained in:
James Woglom
2022-07-19 23:57:49 -04:00
parent ae2bf9a3a6
commit d7cc6f957f
3 changed files with 46 additions and 28 deletions
+20
View File
@@ -0,0 +1,20 @@
import unittest
from unittest.mock import patch
from tconnectsync.api.common import base_session
class TestRequestsProxy(unittest.TestCase):
def test_proxy_used_in_base_session(self):
with patch("tconnectsync.api.common.secret") as mock_secret, \
patch("requests.Session.request") as mock_request:
s = base_session()
s.request('sentinel')
mock_request.assert_called_once_with('sentinel', proxies={
'http': mock_secret.REQUESTS_PROXY,
'https': mock_secret.REQUESTS_PROXY
})
+15
View File
@@ -0,0 +1,15 @@
import importlib
def build_secrets(**kwargs):
secret = importlib.reload(importlib.import_module("tconnectsync.secret"))
class FakeSecret(object):
pass
fake = FakeSecret()
for k in dir(secret):
setattr(fake, k, getattr(secret, k))
for k, v in kwargs.items():
setattr(fake, k, v)
return fake
+11 -28
View File
@@ -1,20 +1,17 @@
#!/usr/bin/env python3
import os
import logging
import time
import unittest
import datetime
import importlib
import contextlib
from unittest.mock import patch
from tconnectsync.autoupdate import Autoupdate, AutoupdateFailureError, AutoupdateFailureWarning, AutoupdateNoEventIndexesDetectedError, AutoupdateNoIndexChangeWarning
from tconnectsync.secret import AUTOUPDATE_FAILURE_MINUTES, AUTOUPDATE_NO_DATA_FAILURE_MINUTES, AUTOUPDATE_RESTART_ON_FAILURE, TCONNECT_PASSWORD
from .api.fake import TConnectApi
from .nightscout_fake import NightscoutApi
from .secrets import build_secrets
logger = logging.getLogger(__name__)
@@ -69,20 +66,6 @@ class TestAutoupdate(unittest.TestCase):
return fake
def build_secrets(self, **kwargs):
secret = importlib.reload(importlib.import_module("tconnectsync.secret"))
class FakeSecret(object):
pass
fake = FakeSecret()
for k in dir(secret):
setattr(fake, k, getattr(secret, k))
for k, v in kwargs.items():
setattr(fake, k, v)
return fake
"""process_time_range should always be invoked the first time"""
def test_process_time_range_called_on_start(self):
tconnect = TConnectApi()
@@ -90,7 +73,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=1,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0
@@ -116,7 +99,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=1,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0
@@ -144,7 +127,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=2,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0,
@@ -174,7 +157,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=1,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0
@@ -204,7 +187,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=2,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0,
@@ -236,7 +219,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=3,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0,
@@ -265,7 +248,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=1,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0
@@ -292,7 +275,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
sleep_length = 3 # sentinel
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=1,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=sleep_length
@@ -324,7 +307,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=100,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0.1,
@@ -356,7 +339,7 @@ class TestAutoupdate(unittest.TestCase):
nightscout = NightscoutApi()
secret = self.build_secrets(
secret = build_secrets(
AUTOUPDATE_MAX_LOOP_INVOCATIONS=5,
AUTOUPDATE_USE_FIXED_SLEEP=True,
AUTOUPDATE_DEFAULT_SLEEP_SECONDS=0.1,