|
1287 | 1287 | end |
1288 | 1288 | end |
1289 | 1289 |
|
| 1290 | + describe '#ignore_tags' do |
| 1291 | + let(:catalog_1) { OctocatalogDiff::Catalog.new(json: OctocatalogDiff::Spec.fixture_read('catalogs/ignore-tags-old.json')) } |
| 1292 | + let(:catalog_2) { OctocatalogDiff::Catalog.new(json: OctocatalogDiff::Spec.fixture_read('catalogs/ignore-tags-new.json')) } |
| 1293 | + let(:opts) { { ignore_tags: ['ignored_catalog_diff'] } } |
| 1294 | + let(:answer) { JSON.parse(OctocatalogDiff::Spec.fixture_read('diffs/ignore-tags-partial.json')) } |
| 1295 | + |
| 1296 | + it 'should remove tagged-for-ignore resources' do |
| 1297 | + logger, logger_str = OctocatalogDiff::Spec.setup_logger |
| 1298 | + subject = described_class.new(opts.merge(logger: logger), catalog_1, catalog_2) |
| 1299 | + subject.ignore_tags |
| 1300 | + |
| 1301 | + ignore_answer = [ |
| 1302 | + { type: 'Mymodule::Resource1', title: 'one', attr: '*' }, |
| 1303 | + { type: 'Mymodule::Resource1', title: 'two', attr: '*' }, |
| 1304 | + { type: 'Mymodule::Resource1', title: 'three', attr: '*' }, |
| 1305 | + { type: 'Mymodule::Resource1', title: 'four', attr: '*' }, |
| 1306 | + { type: 'Mymodule::Resource2', title: 'five', attr: '*' }, |
| 1307 | + { type: 'File', title: '/tmp/ignored/one', attr: '*' }, |
| 1308 | + { type: 'File', title: '/tmp/new-file/ignored/one', attr: '*' }, |
| 1309 | + { type: 'File', title: '/tmp/ignored/two', attr: '*' }, |
| 1310 | + { type: 'File', title: '/tmp/new-file/ignored/two', attr: '*' }, |
| 1311 | + { type: 'File', title: '/tmp/ignored/three', attr: '*' }, |
| 1312 | + { type: 'File', title: '/tmp/new-file/ignored/three', attr: '*' }, |
| 1313 | + { type: 'File', title: '/tmp/ignored/four', attr: '*' }, |
| 1314 | + { type: 'File', title: '/tmp/new-file/ignored/four', attr: '*' }, |
| 1315 | + { type: 'File', title: '/tmp/resource2/five', attr: '*' }, |
| 1316 | + { type: 'File', title: '/tmp/ignored/five', attr: '*' }, |
| 1317 | + { type: 'File', title: '/tmp/new-file/ignored/five', attr: '*' }, |
| 1318 | + { type: 'File', title: '/tmp/old-file/ignored/one', attr: '*' }, |
| 1319 | + { type: 'File', title: '/tmp/old-file/ignored/two', attr: '*' }, |
| 1320 | + { type: 'File', title: '/tmp/old-file/ignored/three', attr: '*' }, |
| 1321 | + { type: 'File', title: '/tmp/old-file/ignored/four', attr: '*' }, |
| 1322 | + { type: 'File', title: '/tmp/old-file/ignored/five', attr: '*' } |
| 1323 | + ] |
| 1324 | + |
| 1325 | + ignores = subject.instance_variable_get('@ignore') |
| 1326 | + expect(ignores.size).to eq(ignore_answer.size) |
| 1327 | + ignore_answer.each { |answer| expect(ignores).to include(answer) } |
| 1328 | + |
| 1329 | + expect(logger_str.string).to match(/Ignoring type='Mymodule::Resource1', title='one' based on tag in to-catalog/) |
| 1330 | + r = %r{Ignoring type='File', title='/tmp/old-file/ignored/one' based on tag in from-catalog} |
| 1331 | + expect(logger_str.string).to match(r) |
| 1332 | + end |
| 1333 | + end |
| 1334 | + |
1290 | 1335 | describe '#hashdiff_nested_changes' do |
1291 | 1336 | it 'should return array with proper results' do |
1292 | 1337 | hashdiff_add_remove = [ |
|
0 commit comments