feat(proxy): rewrite the meta module to support hot spares
This commit is contained in:
parent
9f726731c6
commit
8115966aca
4 changed files with 327 additions and 99 deletions
|
@ -1,7 +1,11 @@
|
|||
import unittest
|
||||
from unittest.mock import MagicMock, patch
|
||||
from app.terraform.proxy import ProxyAutomation, update_smart_proxy_instance
|
||||
|
||||
import pytest
|
||||
|
||||
from app import app
|
||||
from app.terraform.proxy import update_smart_proxy_instance
|
||||
from app.terraform.proxy.meta import random_slug, next_subgroup, Proxy
|
||||
|
||||
|
||||
class TestUpdateSmartProxyInstance(unittest.TestCase):
|
||||
|
@ -40,17 +44,35 @@ class TestUpdateSmartProxyInstance(unittest.TestCase):
|
|||
self.assertEqual(mock_instance.instance_id, self.instance_id)
|
||||
|
||||
|
||||
class TestProxyAutomation(unittest.TestCase):
|
||||
def setUp(self):
|
||||
app.config['TESTING'] = True
|
||||
self.app = app.test_client()
|
||||
|
||||
def test_proxy_automation_abstract_methods(self):
|
||||
# Test NotImplementedError for import_state
|
||||
with self.assertRaises(NotImplementedError):
|
||||
proxy_automation = ProxyAutomation()
|
||||
proxy_automation.import_state(None)
|
||||
@pytest.fixture
|
||||
def active_proxies():
|
||||
proxies = [MagicMock(spec=Proxy) for _ in range(5)]
|
||||
for proxy in proxies:
|
||||
proxy.deprecated = None
|
||||
proxy.destroyed = None
|
||||
return proxies
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
def test_random_slug():
|
||||
slug = random_slug("example.com")
|
||||
assert slug[:5] == "examp"
|
||||
assert len(slug) == 17
|
||||
|
||||
|
||||
def test_next_subgroup():
|
||||
subgroup_count = {
|
||||
'provider1': {
|
||||
1: {
|
||||
1: 3
|
||||
},
|
||||
2: {
|
||||
1: 2,
|
||||
2: 5
|
||||
},
|
||||
3: {}
|
||||
}
|
||||
}
|
||||
assert next_subgroup(subgroup_count, 'provider1', 1, 3, 5) == 1
|
||||
assert next_subgroup(subgroup_count, 'provider1', 1, 5, 3) == 2
|
||||
assert next_subgroup(subgroup_count, 'provider1', 2, 3, 2) == 3
|
||||
assert next_subgroup(subgroup_count, 'provider1', 3, 3, 5) == 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue