Skip to content

Commit e935ee7

Browse files
author
Kevin Paulisse
committed
Add test and stub documentation for catalog object
1 parent 14f5d31 commit e935ee7

3 files changed

Lines changed: 63 additions & 7 deletions

File tree

doc/dev/api/v1/objects/catalog.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,25 @@ This object is the return value from the [`catalog`](/doc/dev/api/v1/calls/catal
1010

1111
## Methods
1212

13-
## Exceptions
13+
#### `#builder` (String)
14+
15+
#### `#compilation_dir` (String)
16+
17+
#### `#error_message` (String)
18+
19+
#### `#puppet_version` (String)
20+
21+
#### `#resource(<Hash>)` (Object)
22+
23+
#### `#resources` (Array&lt;Object&gt;)
24+
25+
#### `#to_json` (String)
26+
27+
#### `#valid?` (Boolean)
28+
29+
## Other methods
30+
31+
These methods are available for debugging or development purposes but are not guaranteed to remain consistent between versions:
32+
33+
- `#to_h` (Hash): Returns hash representation of parsed JSON catalog
34+
- `#raw` (OctocatalogDiff::Catalog): Returns underlying internal catalog object

lib/octocatalog-diff/api/v1/catalog.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def builder
3030

3131
# Public: Get the JSON for the catalog
3232
# @return [String] Catalog JSON
33-
def catalog_json
33+
def to_json
3434
@raw.catalog_json
3535
end
3636

@@ -72,6 +72,12 @@ def resources
7272
def valid?
7373
@raw.valid?
7474
end
75+
76+
# Public: Return catalog as hash.
77+
# @return [Hash] Catalog as hash
78+
def to_h
79+
@raw.catalog
80+
end
7581
end
7682
end
7783
end

spec/octocatalog-diff/tests/api/v1/catalog_spec.rb

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,30 +29,50 @@
2929
describe '#builder' do
3030
it 'should wrap catalog method' do
3131
expect(@testobj.builder).to eq(@catalog.builder)
32+
expect(@testobj.builder).to be_a_kind_of(String)
3233
end
3334
end
3435

35-
describe '#catalog_json' do
36+
describe '#to_json' do
3637
it 'should wrap catalog method' do
37-
expect(@testobj.catalog_json).to eq(@catalog.catalog_json)
38+
expect(@testobj.to_json).to eq(@catalog.catalog_json)
39+
expect(@testobj.to_json).to be_a_kind_of(String)
3840
end
3941
end
4042

4143
describe '#compilation_dir' do
42-
it 'should wrap catalog method' do
44+
it 'should wrap catalog method if nil' do
4345
expect(@testobj.compilation_dir).to eq(@catalog.compilation_dir)
46+
expect(@testobj.compilation_dir).to be_nil
47+
end
48+
49+
it 'should wrap catalog method if not nil' do
50+
expect(@catalog).to receive(:compilation_dir).and_return('foo')
51+
expect(@testobj.compilation_dir).to eq('foo')
4452
end
4553
end
4654

4755
describe '#error_message' do
48-
it 'should wrap catalog method' do
56+
it 'should wrap catalog method if nil' do
4957
expect(@testobj.error_message).to eq(@catalog.error_message)
58+
expect(@testobj.error_message).to be_nil
59+
end
60+
61+
it 'should wrap catalog method if not nil' do
62+
expect(@catalog).to receive(:error_message).and_return('foo')
63+
expect(@testobj.error_message).to eq('foo')
5064
end
5165
end
5266

5367
describe '#puppet_version' do
54-
it 'should wrap catalog method' do
68+
it 'should wrap catalog method if nil' do
5569
expect(@testobj.puppet_version).to eq(@catalog.puppet_version)
70+
expect(@testobj.puppet_version).to be_nil
71+
end
72+
73+
it 'should wrap catalog method if not nil' do
74+
expect(@catalog).to receive(:puppet_version).and_return('foo')
75+
expect(@testobj.puppet_version).to eq('foo')
5676
end
5777
end
5878

@@ -66,12 +86,21 @@
6686
describe '#resources' do
6787
it 'should wrap catalog method' do
6888
expect(@testobj.resources).to eq(@catalog.resources)
89+
expect(@testobj.resources).to be_a_kind_of(Array)
6990
end
7091
end
7192

7293
describe '#valid?' do
7394
it 'should wrap catalog method' do
7495
expect(@testobj.valid?).to eq(@catalog.valid?)
96+
expect(@testobj.valid?).to be_a_kind_of(TrueClass)
97+
end
98+
end
99+
100+
describe '#to_h' do
101+
it 'should wrap catalog method' do
102+
expect(@testobj.to_h).to eq(@catalog.catalog)
103+
expect(@testobj.to_h).to be_a_kind_of(Hash)
75104
end
76105
end
77106
end

0 commit comments

Comments
 (0)