9
9
10
10
import pytest
11
11
12
- from deepdiff import DeepDiff
12
+ # from deepdiff import DeepDiff
13
13
14
14
from datadog_checks .sqlserver import SQLServer
15
15
#from deepdiff import DeepDiff - not clear how to add it to ddev
@@ -117,9 +117,11 @@ def test_collect_schemas(aggregator, dd_run_check, dbm_instance):
117
117
dd_run_check (check )
118
118
119
119
#extracting events.
120
- pdb . set_trace ()
120
+
121
121
dbm_metadata = aggregator .get_event_platform_events ("dbm-metadata" )
122
122
123
+ actual_payloads = {}
124
+
123
125
#TODO later modify kind
124
126
for schema_event in (e for e in dbm_metadata if e ['kind' ] == 'pg_databases' ):
125
127
if len (databases_to_find ) == 0 :
@@ -132,18 +134,31 @@ def test_collect_schemas(aggregator, dd_run_check, dbm_instance):
132
134
database_metadata = schema_event ['metadata' ]
133
135
assert len (database_metadata ) == 1
134
136
db_name = database_metadata [0 ]['name' ]
135
- assert delete_if_found (databases_to_find , db_name )
137
+
138
+ if db_name in actual_payloads :
139
+ actual_payloads [db_name ]['schemas' ] = actual_payloads [db_name ]['schemas' ] + database_metadata [0 ]['schemas' ]
140
+ else :
141
+ actual_payloads [db_name ] = database_metadata [0 ]
142
+
143
+ assert len (actual_payloads ) == len (expected_data_for_db )
144
+
145
+ for db_name , actual_payload in actual_payloads .items ():
146
+
147
+ #assert delete_if_found(databases_to_find, db_name)
148
+ assert db_name in databases_to_find
149
+ # we need to accumulate all data ... as payloads may differ
136
150
137
151
# TODO enable when we add the package
138
- difference = DeepDiff (database_metadata [ 0 ] , expected_data_for_db [db_name ], ignore_order = True )
139
- pdb . set_trace ()
140
- # difference = {}
152
+ # difference = DeepDiff(actual_payload , expected_data_for_db[db_name], ignore_order=True)
153
+
154
+ difference = {}
141
155
diff_keys = list (difference .keys ())
142
156
if len (diff_keys ) > 0 and list (diff_keys .keys ()) is not ['iterable_item_removed' ]:
143
157
logging .debug ("found the following diffs %s" , json .dumps (difference ))
144
158
assert False
145
159
146
160
# we need a special comparison as order of columns matter
147
- assert compare_coumns_in_tables (expected_data_for_db [db_name ], database_metadata [0 ])
148
-
149
- assert len (databases_to_find ) == 0
161
+ pdb .set_trace ()
162
+ assert compare_coumns_in_tables (expected_data_for_db [db_name ], actual_payload )
163
+ pdb .set_trace ()
164
+ print ("ok" )
0 commit comments