diff --git a/lyrebird/mock/dm/__init__.py b/lyrebird/mock/dm/__init__.py index 25ee04d1..376f4af4 100644 --- a/lyrebird/mock/dm/__init__.py +++ b/lyrebird/mock/dm/__init__.py @@ -3,6 +3,7 @@ import json import time import codecs +from copy import deepcopy import shutil import traceback from pathlib import Path @@ -502,7 +503,7 @@ def get_matched_data(self, flow): for _data_id in self.activated_data: _data = self.activated_data[_data_id] if self._is_match_rule(decode_flow, _data.get('rule')): - _matched_data.append(_data) + _matched_data.append(deepcopy(_data)) break for response_data in _matched_data: diff --git a/lyrebird/mock/dm/temp_mock.py b/lyrebird/mock/dm/temp_mock.py index e97b2b8b..80c8eb92 100644 --- a/lyrebird/mock/dm/temp_mock.py +++ b/lyrebird/mock/dm/temp_mock.py @@ -3,8 +3,8 @@ from datetime import datetime from urllib.parse import urlparse from collections import OrderedDict +from copy import deepcopy -from lyrebird import application from lyrebird.log import get_logger from lyrebird.mock.dm.match import MatchRules from lyrebird.utils import flow_data_2_str, render @@ -31,7 +31,7 @@ def get_matched_data(self, flow): _matched_data = [] for data in self.activated_data.values(): if MatchRules.match(flow, data.get('rule')): - _matched_data.append(data) + _matched_data.append(deepcopy(data)) break for response_data in _matched_data: