mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-10 23:32:45 +00:00
fix: Deepcopy fail for allOf schemas (#13130)
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
if self.get("_spec_property_naming", False):
|
if self.get("_spec_property_naming", False):
|
||||||
new_inst = cls._new_from_openapi_data()
|
new_inst = cls._new_from_openapi_data()
|
||||||
else:
|
else:
|
||||||
new_inst = cls.__new__(cls)
|
new_inst = cls.__new__(cls, **self.__dict__)
|
||||||
|
|
||||||
for k, v in self.__dict__.items():
|
for k, v in self.__dict__.items():
|
||||||
setattr(new_inst, k, deepcopy(v, memo))
|
setattr(new_inst, k, deepcopy(v, memo))
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ class OpenApiModel(object):
|
|||||||
if self.get("_spec_property_naming", False):
|
if self.get("_spec_property_naming", False):
|
||||||
new_inst = cls._new_from_openapi_data()
|
new_inst = cls._new_from_openapi_data()
|
||||||
else:
|
else:
|
||||||
new_inst = cls.__new__(cls)
|
new_inst = cls.__new__(cls, **self.__dict__)
|
||||||
|
|
||||||
for k, v in self.__dict__.items():
|
for k, v in self.__dict__.items():
|
||||||
setattr(new_inst, k, deepcopy(v, memo))
|
setattr(new_inst, k, deepcopy(v, memo))
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ class OpenApiModel(object):
|
|||||||
if self.get("_spec_property_naming", False):
|
if self.get("_spec_property_naming", False):
|
||||||
new_inst = cls._new_from_openapi_data()
|
new_inst = cls._new_from_openapi_data()
|
||||||
else:
|
else:
|
||||||
new_inst = cls.__new__(cls)
|
new_inst = cls.__new__(cls, **self.__dict__)
|
||||||
|
|
||||||
for k, v in self.__dict__.items():
|
for k, v in self.__dict__.items():
|
||||||
setattr(new_inst, k, deepcopy(v, memo))
|
setattr(new_inst, k, deepcopy(v, memo))
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ class OpenApiModel(object):
|
|||||||
if self.get("_spec_property_naming", False):
|
if self.get("_spec_property_naming", False):
|
||||||
new_inst = cls._new_from_openapi_data()
|
new_inst = cls._new_from_openapi_data()
|
||||||
else:
|
else:
|
||||||
new_inst = cls.__new__(cls)
|
new_inst = cls.__new__(cls, **self.__dict__)
|
||||||
|
|
||||||
for k, v in self.__dict__.items():
|
for k, v in self.__dict__.items():
|
||||||
setattr(new_inst, k, deepcopy(v, memo))
|
setattr(new_inst, k, deepcopy(v, memo))
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ class OpenApiModel(object):
|
|||||||
if self.get("_spec_property_naming", False):
|
if self.get("_spec_property_naming", False):
|
||||||
new_inst = cls._new_from_openapi_data()
|
new_inst = cls._new_from_openapi_data()
|
||||||
else:
|
else:
|
||||||
new_inst = cls.__new__(cls)
|
new_inst = cls.__new__(cls, **self.__dict__)
|
||||||
|
|
||||||
for k, v in self.__dict__.items():
|
for k, v in self.__dict__.items():
|
||||||
setattr(new_inst, k, deepcopy(v, memo))
|
setattr(new_inst, k, deepcopy(v, memo))
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ class OpenApiModel(object):
|
|||||||
if self.get("_spec_property_naming", False):
|
if self.get("_spec_property_naming", False):
|
||||||
new_inst = cls._new_from_openapi_data()
|
new_inst = cls._new_from_openapi_data()
|
||||||
else:
|
else:
|
||||||
new_inst = cls.__new__(cls)
|
new_inst = cls.__new__(cls, **self.__dict__)
|
||||||
|
|
||||||
for k, v in self.__dict__.items():
|
for k, v in self.__dict__.items():
|
||||||
setattr(new_inst, k, deepcopy(v, memo))
|
setattr(new_inst, k, deepcopy(v, memo))
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from copy import deepcopy
|
|||||||
import unittest
|
import unittest
|
||||||
from petstore_api.model.mammal import Mammal
|
from petstore_api.model.mammal import Mammal
|
||||||
from petstore_api.model.triangle import Triangle
|
from petstore_api.model.triangle import Triangle
|
||||||
|
from petstore_api.model.dog import Dog
|
||||||
|
|
||||||
class TestCopy(unittest.TestCase):
|
class TestCopy(unittest.TestCase):
|
||||||
"""TestCopy unit test stubs"""
|
"""TestCopy unit test stubs"""
|
||||||
@@ -29,6 +29,14 @@ class TestCopy(unittest.TestCase):
|
|||||||
assert id(deepcopy(obj)) != id(obj)
|
assert id(deepcopy(obj)) != id(obj)
|
||||||
assert deepcopy(obj) == obj
|
assert deepcopy(obj) == obj
|
||||||
|
|
||||||
|
obj = Dog._new_from_openapi_data(class_name='Dog', color='white', breed='Jack Russel Terrier')
|
||||||
|
assert id(deepcopy(obj)) != id(obj)
|
||||||
|
assert deepcopy(obj) == obj
|
||||||
|
|
||||||
|
obj = Dog(class_name='Dog', color='white', breed='Jack Russel Terrier')
|
||||||
|
assert id(deepcopy(obj)) != id(obj)
|
||||||
|
assert deepcopy(obj) == obj
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user