import unittest
from olc.bean.match_wrapper import MatchWrapper
from olc.bean.tag_group import TagGroup
from olc.bean.olc_config_rule import FlowPolicy
class TestMatchWrapper(unittest.TestCase):
def test_initialization(self):
"""测试MatchWrapper的初始化"""
tag_group = TagGroup(domain="test_domain", name="test_group")
policy = FlowPolicy(
name="test_policy",
category="test_category",
enabled=True,
block_msg="test_block_msg",
policy_type="NODE",
time_unit="second",
time_interval=1,
rate_limit=100,
burst_limit=200,
flow_control_mode="qps",
max_wait_time_ms=500,
calculate_alg=None,
assign_alg=None
)
wrapper = MatchWrapper(tag_group, policy)
self.assertEqual(wrapper.tag_group, tag_group)
self.assertEqual(wrapper.policy, policy)
def test_get_policy(self):
"""测试get_policy方法"""
tag_group = TagGroup(domain="test_domain", name="test_group")
policy = FlowPolicy(
name="test_policy",
category="test_category",
enabled=True,
block_msg="test_block_msg",
policy_type="NODE",
time_unit="second",
time_interval=1,
rate_limit=100,
burst_limit=200,
flow_control_mode="qps",
max_wait_time_ms=500,
calculate_alg=None,
assign_alg=None
)
wrapper = MatchWrapper(tag_group, policy)
self.assertEqual(wrapper.get_policy(), policy)
def test_repr_method(self):
"""测试__repr__方法"""
tag_group = TagGroup(domain="test_domain", name="test_group")
policy = FlowPolicy(
name="test_policy",
category="test_category",
enabled=True,
block_msg="test_block_msg",
policy_type="NODE",
time_unit="second",
time_interval=1,
rate_limit=100,
burst_limit=200,
flow_control_mode="qps",
max_wait_time_ms=500,
calculate_alg=None,
assign_alg=None
)
wrapper = MatchWrapper(tag_group, policy)
repr_str = repr(wrapper)
self.assertIn("Matchwrapper", repr_str)
self.assertIn("test_group", repr_str)
self.assertIn("test_policy", repr_str)
def test_str_method(self):
"""测试__str__方法"""
tag_group = TagGroup(domain="test_domain", name="test_group")
policy = FlowPolicy(
name="test_policy",
category="test_category",
enabled=True,
block_msg="test_block_msg",
policy_type="NODE",
time_unit="second",
time_interval=1,
rate_limit=100,
burst_limit=200,
flow_control_mode="qps",
max_wait_time_ms=500,
calculate_alg=None,
assign_alg=None
)
wrapper = MatchWrapper(tag_group, policy)
str_str = str(wrapper)
self.assertIn("Matchwrapper", str_str)
self.assertIn("test_group", str_str)
self.assertIn("test_policy", str_str)
if __name__ == '__main__':
unittest.main()