54 lines
2.0 KiB
Python
54 lines
2.0 KiB
Python
import unittest
|
|
from src.core import core
|
|
|
|
class TestBaseMiddleware(unittest.TestCase):
|
|
def test_process_base_func1(self):
|
|
middleware = core.Middleware(lambda x: x + 1)
|
|
self.assertEqual(middleware.process(1), 2)
|
|
self.assertEqual(middleware.get_next(), [])
|
|
|
|
def test_process_base_func2(self):
|
|
mid = [core.Middleware(lambda x: x + 2)]
|
|
middleware = core.Middleware(lambda x: x + 1, next_middleware=mid)
|
|
self.assertEqual(middleware.process(1), 2)
|
|
self.assertEqual(middleware._data, 4)
|
|
self.assertIs(middleware.get_next(), mid)
|
|
|
|
class TestBaseEngine(unittest.TestCase):
|
|
pass
|
|
|
|
class TestExecutePipeline(unittest.TestCase):
|
|
def test_base(self):
|
|
middleware = core.Middleware(lambda x: x + 1)
|
|
pipeline = core.ExecutePipeline(middleware)
|
|
self.assertEqual(pipeline.execute(1), 2)
|
|
|
|
def test_add(self):
|
|
middleware = core.Middleware(lambda x: x + 1)
|
|
pipeline = core.ExecutePipeline(middleware)
|
|
pipeline.add(core.Middleware(lambda x: x + 2))
|
|
self.assertEqual(pipeline.execute(1), 4)
|
|
|
|
def test_reorder(self):
|
|
middleware = core.Middleware(lambda x: x + 1)
|
|
pipeline = core.ExecutePipeline(middleware)
|
|
pipeline.reorder([])
|
|
pipeline.execute(1)
|
|
|
|
def test_reorder1(self):
|
|
middleware_p1 = core.Middleware(lambda x: x + 1)
|
|
middleware_p2 = core.Middleware(lambda x: x + 2)
|
|
middleware_p3 = core.Middleware(lambda x: x + 3)
|
|
pipeline = core.ExecutePipeline(middleware_p1, middleware_p2, middleware_p3)
|
|
self.assertEqual(pipeline.execute(1), 7)
|
|
pipeline.reorder([1, 0, 2])
|
|
self.assertEqual(pipeline.execute(1), 7)
|
|
pipeline.reorder([0, 2])
|
|
self.assertEqual(pipeline.execute(1), 6)
|
|
pipeline.reorder([1])
|
|
self.assertEqual(pipeline.execute(1), 4)
|
|
|
|
def test_execute_none(self):
|
|
middleware = core.Middleware(lambda x: x + 1)
|
|
pipeline = core.ExecutePipeline(middleware)
|
|
self.assertIsNone(pipeline.execute(None)) |