@@ -81,27 +81,41 @@ def test_get_tables_metas_data(self, connect):
81
81
mock_cursor = Mock ()
82
82
connect .return_value = mock_conn
83
83
mock_conn .cursor .return_value = mock_cursor
84
-
85
- # 模拟查询结果
86
- tables_result = [
87
- {"TABLE_SCHEMA" : "test_db" , "TABLE_NAME" : "test_table" }
88
- ]
89
-
84
+
85
+ # 模拟查询结果
86
+ tables_result = [{"TABLE_SCHEMA" : "test_db" , "TABLE_NAME" : "test_table" }]
87
+
90
88
columns_result = [
91
- {"COLUMN_NAME" : "id" , "COLUMN_TYPE" : "int" , "COLUMN_DEFAULT" : None , "IS_NULLABLE" : "NO" , "EXTRA" : "auto_increment" , "COLUMN_KEY" : "PRI" , "COLUMN_COMMENT" : "" },
92
- {"COLUMN_NAME" : "name" , "COLUMN_TYPE" : "varchar(255)" , "COLUMN_DEFAULT" : None , "IS_NULLABLE" : "YES" , "EXTRA" : "" , "COLUMN_KEY" : "" , "COLUMN_COMMENT" : "" }
89
+ {
90
+ "COLUMN_NAME" : "id" ,
91
+ "COLUMN_TYPE" : "int" ,
92
+ "COLUMN_DEFAULT" : None ,
93
+ "IS_NULLABLE" : "NO" ,
94
+ "EXTRA" : "auto_increment" ,
95
+ "COLUMN_KEY" : "PRI" ,
96
+ "COLUMN_COMMENT" : "" ,
97
+ },
98
+ {
99
+ "COLUMN_NAME" : "name" ,
100
+ "COLUMN_TYPE" : "varchar(255)" ,
101
+ "COLUMN_DEFAULT" : None ,
102
+ "IS_NULLABLE" : "YES" ,
103
+ "EXTRA" : "" ,
104
+ "COLUMN_KEY" : "" ,
105
+ "COLUMN_COMMENT" : "" ,
106
+ },
93
107
]
94
108
# 创建要测试的类的实例
95
109
new_engine = MysqlEngine (instance = self .ins1 )
96
110
# Mock self.query 方法
97
111
new_engine .query = Mock ()
98
112
new_engine .query .side_effect = [
99
113
Mock (rows = tables_result ), # 模拟 tbs 结果
100
- Mock (rows = columns_result ) # 模拟 columns 结果
114
+ Mock (rows = columns_result ), # 模拟 columns 结果
101
115
]
102
116
# 调用要测试的方法
103
117
result = new_engine .get_tables_metas_data (db_name = "test_db" )
104
-
118
+
105
119
# 断言返回结果是否符合预期
106
120
expected_result = [
107
121
{
@@ -116,12 +130,28 @@ def test_get_tables_metas_data(self, connect):
116
130
],
117
131
"TABLE_INFO" : {"TABLE_SCHEMA" : "test_db" , "TABLE_NAME" : "test_table" },
118
132
"COLUMNS" : [
119
- {"COLUMN_NAME" : "id" , "COLUMN_TYPE" : "int" , "COLUMN_DEFAULT" : None , "IS_NULLABLE" : "NO" , "EXTRA" : "auto_increment" , "COLUMN_KEY" : "PRI" , "COLUMN_COMMENT" : "" },
120
- {"COLUMN_NAME" : "name" , "COLUMN_TYPE" : "varchar(255)" , "COLUMN_DEFAULT" : None , "IS_NULLABLE" : "YES" , "EXTRA" : "" , "COLUMN_KEY" : "" , "COLUMN_COMMENT" : "" }
121
- ]
133
+ {
134
+ "COLUMN_NAME" : "id" ,
135
+ "COLUMN_TYPE" : "int" ,
136
+ "COLUMN_DEFAULT" : None ,
137
+ "IS_NULLABLE" : "NO" ,
138
+ "EXTRA" : "auto_increment" ,
139
+ "COLUMN_KEY" : "PRI" ,
140
+ "COLUMN_COMMENT" : "" ,
141
+ },
142
+ {
143
+ "COLUMN_NAME" : "name" ,
144
+ "COLUMN_TYPE" : "varchar(255)" ,
145
+ "COLUMN_DEFAULT" : None ,
146
+ "IS_NULLABLE" : "YES" ,
147
+ "EXTRA" : "" ,
148
+ "COLUMN_KEY" : "" ,
149
+ "COLUMN_COMMENT" : "" ,
150
+ },
151
+ ],
122
152
}
123
153
]
124
-
154
+
125
155
self .assertEqual (result , expected_result )
126
156
127
157
@patch .object (MysqlEngine , "query" )
0 commit comments