import os
import unittest
from unittest.mock import patch, MagicMock
from ms_serviceparam_optimizer.sitecustomize import dispatch, MODEL_EVAL_STATE_SIMULATE, MODEL_EVAL_STATE_ALL
class TestDispatch(unittest.TestCase):
@patch('ms_serviceparam_optimizer.sitecustomize.logger')
@patch('ms_serviceparam_optimizer.patch.enable_patch')
def test_dispatch_simulate_true(self, mock_enable_patch, mock_logger):
os.environ[MODEL_EVAL_STATE_SIMULATE] = 'True'
dispatch(MODEL_EVAL_STATE_SIMULATE)
mock_logger.info.assert_called_with(f"The collected patch is successfully installed.")
mock_enable_patch.assert_called_with(MODEL_EVAL_STATE_SIMULATE)
@patch('ms_serviceparam_optimizer.sitecustomize.logger')
@patch('ms_serviceparam_optimizer.patch.enable_patch')
def test_dispatch_all_true(self, mock_enable_patch, mock_logger):
os.environ[MODEL_EVAL_STATE_ALL] = 'true'
dispatch(MODEL_EVAL_STATE_ALL)
mock_logger.info.assert_called_with(f"The collected patch is successfully installed.")
mock_enable_patch.assert_called_with(MODEL_EVAL_STATE_ALL)
@patch('ms_serviceparam_optimizer.sitecustomize.logger')
def test_dispatch_simulate_false(self, mock_logger):
os.environ[MODEL_EVAL_STATE_SIMULATE] = 'False'
dispatch(MODEL_EVAL_STATE_SIMULATE)
mock_logger.debug.assert_called_with(f"{MODEL_EVAL_STATE_SIMULATE}: False")
@patch('ms_serviceparam_optimizer.sitecustomize.logger')
def test_dispatch_all_false(self, mock_logger):
os.environ[MODEL_EVAL_STATE_ALL] = 'false'
dispatch(MODEL_EVAL_STATE_ALL)
mock_logger.debug.assert_called_with(f"{MODEL_EVAL_STATE_ALL}: false")
@patch('ms_serviceparam_optimizer.sitecustomize.logger')
def test_dispatch_simulate_not_set(self, mock_logger):
if MODEL_EVAL_STATE_SIMULATE in os.environ:
del os.environ[MODEL_EVAL_STATE_SIMULATE]
dispatch(MODEL_EVAL_STATE_SIMULATE)
mock_logger.debug.assert_called_with(f"{MODEL_EVAL_STATE_SIMULATE}: None")
@patch('ms_serviceparam_optimizer.sitecustomize.logger')
def test_dispatch_all_not_set(self, mock_logger):
if MODEL_EVAL_STATE_ALL in os.environ:
del os.environ[MODEL_EVAL_STATE_ALL]
dispatch(MODEL_EVAL_STATE_ALL)
mock_logger.debug.assert_called_with(f"{MODEL_EVAL_STATE_ALL}: None")