|
4 | 4 | require OctocatalogDiff::Spec.require_path('/catalog-diff/filter/yaml') |
5 | 5 |
|
6 | 6 | describe OctocatalogDiff::CatalogDiff::Filter::YAML do |
| 7 | + let(:subject) { described_class.new } |
| 8 | + |
7 | 9 | describe '#filtered?' do |
8 | 10 | let(:str1a) { "---\n foo: bar" } |
9 | 11 | let(:str1b) { "---\nfoo: bar" } |
10 | 12 | let(:str2) { "---\n foo: baz" } |
11 | 13 |
|
12 | 14 | it 'should not filter out an added resource' do |
13 | 15 | diff = ['+', "File\ffoobar.yaml", { 'parameters' => { 'content' => str1a } }] |
14 | | - result = described_class.filtered?(diff) |
| 16 | + result = subject.filtered?(diff) |
15 | 17 | expect(result).to eq(false) |
16 | 18 | end |
17 | 19 |
|
18 | 20 | it 'should not filter out a removed resource' do |
19 | 21 | diff = ['-', "File\ffoobar.yaml", { 'parameters' => { 'content' => str1a } }] |
20 | | - result = described_class.filtered?(diff) |
| 22 | + result = subject.filtered?(diff) |
21 | 23 | expect(result).to eq(false) |
22 | 24 | end |
23 | 25 |
|
24 | 26 | it 'should not filter out a non-file resource' do |
25 | 27 | diff = ['~', "Exec\ffoobar.yaml\fparameters\fcontent", str1a, str1b] |
26 | | - result = described_class.filtered?(diff) |
| 28 | + result = subject.filtered?(diff) |
27 | 29 | expect(result).to eq(false) |
28 | 30 | end |
29 | 31 |
|
30 | 32 | it 'should not filter out a file whose extension is not .yaml / .yml' do |
31 | 33 | diff = ['~', "File\ffoobar.json\fparameters\fcontent", str1a, str1b] |
32 | | - result = described_class.filtered?(diff) |
| 34 | + result = subject.filtered?(diff) |
33 | 35 | expect(result).to eq(false) |
34 | 36 | end |
35 | 37 |
|
36 | 38 | it 'should not filter out a change with no content change' do |
37 | 39 | diff = ['~', "File\ffoobar.json\fparameters\fowner", 'root', 'nobody'] |
38 | | - result = described_class.filtered?(diff) |
| 40 | + result = subject.filtered?(diff) |
39 | 41 | expect(result).to eq(false) |
40 | 42 | end |
41 | 43 |
|
42 | 44 | it 'should not filter out a change where YAML objects are dissimilar' do |
43 | 45 | diff = ['~', "File\ffoobar.yaml\fparameters\fcontent", str1a, str2] |
44 | | - result = described_class.filtered?(diff) |
| 46 | + result = subject.filtered?(diff) |
45 | 47 | expect(result).to eq(false) |
46 | 48 | end |
47 | 49 |
|
48 | 50 | it 'should not filter out a change where YAML is invalid' do |
49 | 51 | x_str = '---{ "blah": "foo" }' |
50 | 52 | diff = ['~', "File\ffoobar.yaml\fparameters\fcontent", x_str, x_str] |
51 | | - result = described_class.filtered?(diff) |
| 53 | + result = subject.filtered?(diff) |
52 | 54 | expect(result).to eq(false) |
53 | 55 | end |
54 | 56 |
|
55 | 57 | it 'should not filter out a change where YAML is unparseable' do |
56 | 58 | x_str = "--- !ruby/object:This::Does::Not::Exist\n foo: bar" |
57 | 59 | diff = ['~', "File\ffoobar.yaml\fparameters\fcontent", x_str, x_str] |
58 | | - result = described_class.filtered?(diff) |
| 60 | + result = subject.filtered?(diff) |
59 | 61 | expect(result).to eq(false) |
60 | 62 | end |
61 | 63 |
|
62 | 64 | it 'should filter out a whitespace-only change to a .yaml file' do |
63 | 65 | diff = ['~', "File\ffoobar.yaml\fparameters\fcontent", str1a, str1b] |
64 | | - result = described_class.filtered?(diff) |
| 66 | + result = subject.filtered?(diff) |
65 | 67 | expect(result).to eq(true) |
66 | 68 | end |
67 | 69 |
|
68 | 70 | it 'should filter out a whitespace-only change to a .yml file' do |
69 | 71 | diff = ['~', "File\ffoobar.yml\fparameters\fcontent", str1a, str1b] |
70 | | - result = described_class.filtered?(diff) |
| 72 | + result = subject.filtered?(diff) |
71 | 73 | expect(result).to eq(true) |
72 | 74 | end |
73 | 75 | end |
|
0 commit comments