Skip to content

Commit 2181222

Browse files
committed
simplify setup and expand coverage
1 parent e8b83a9 commit 2181222

File tree

1 file changed

+61
-18
lines changed

1 file changed

+61
-18
lines changed

scripts/tests/test_asciidoc_fields.py

Lines changed: 61 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,10 @@
1313

1414
class TestGeneratorsAsciiFields(unittest.TestCase):
1515

16-
@classmethod
17-
def setUpClass(cls):
18-
fields = loader.load_schemas()
19-
cleaner.clean(fields)
20-
finalizer.finalize(fields)
21-
cls.nested = intermediate_files.generate_nested_fields(fields)
22-
2316
def setUp(self):
24-
self.fieldsets = TestGeneratorsAsciiFields.nested
25-
self.event_fieldset = self.fieldsets['event']
2617
self.foo_fieldset = self.dummy_fieldset()
2718

19+
2820
def dummy_fieldset(self):
2921
return {
3022
'description': 'foo',
@@ -63,6 +55,38 @@ def dummy_fieldset(self):
6355
'type': 'keyword'
6456
}
6557
},
58+
'reusable': {
59+
'expected': [
60+
{
61+
'as': 'foo',
62+
'at': 'server',
63+
'full': 'server.foo'
64+
},
65+
{
66+
'as': 'foo',
67+
'at': 'source',
68+
'full': 'source.foo'
69+
},
70+
{
71+
'as': 'foo',
72+
'at': 'client',
73+
'full': 'client.foo',
74+
},
75+
{
76+
'as': 'foo',
77+
'at': 'destination',
78+
'full': 'destination.foo'
79+
}
80+
],
81+
'top_level': False,
82+
},
83+
'reused_here': [
84+
{
85+
'full': 'foo.as',
86+
'schema_name': 'as',
87+
'short': 'Fields describing an AS'
88+
}
89+
],
6690
'group': 2,
6791
'name': 'foo',
6892
'prefix': 'foo.',
@@ -71,23 +95,42 @@ def dummy_fieldset(self):
7195
'type': 'group'
7296
}
7397

74-
def test_validate_sort_event_fieldset(self):
75-
sorted_event_fields = asciidoc_fields.sort_fields(self.event_fieldset)
76-
# Is a list
77-
self.assertIsInstance(sorted_event_fields, list)
7898

79-
# `allowed_value_names` key and list value is present
80-
for field in sorted_event_fields:
81-
self.assertIsInstance(field.get('allowed_value_names'), list)
82-
83-
def test_validate_sort_dummy_fieldset(self):
99+
def test_validate_sort_fieldset(self):
84100
sorted_foo_fields = asciidoc_fields.sort_fields(self.foo_fieldset)
85101
#import pdb;pdb.set_trace()
86102
self.assertIsInstance(sorted_foo_fields, list)
103+
104+
# `allowed_value_names` always present
105+
for field in sorted_foo_fields:
106+
self.assertIsInstance(field.get('allowed_value_names'), list)
107+
108+
self.assertFalse(sorted_foo_fields[0]['allowed_value_names'])
87109
self.assertEqual('id', sorted_foo_fields[0]['name'])
88110
self.assertEqual('type', sorted_foo_fields[1]['name'])
89111
self.assertIn('fluffy', sorted_foo_fields[1]['allowed_value_names'])
90112
self.assertIn('coarse', sorted_foo_fields[1]['allowed_value_names'])
91113

114+
115+
def test_rendering_fieldset_reuse(self):
116+
foo_reuse_fields = asciidoc_fields.render_fieldset_reuse_text(self.foo_fieldset)
117+
expected_sorted_reuse_fields = (
118+
'client.foo',
119+
'destination.foo',
120+
'server.foo',
121+
'source.foo'
122+
)
123+
124+
self.assertEqual(expected_sorted_reuse_fields, tuple(foo_reuse_fields))
125+
126+
127+
def test_rendering_fieldset_nesting(self):
128+
foo_nesting_fields = asciidoc_fields.render_nestings_reuse_section(self.foo_fieldset)
129+
self.assertIsInstance(foo_nesting_fields, list)
130+
self.assertEqual('foo.as.*', foo_nesting_fields[0]['flat_nesting'])
131+
self.assertEqual('as', foo_nesting_fields[0]['name'])
132+
self.assertEqual('Fields describing an AS', foo_nesting_fields[0]['short'])
133+
134+
92135
if __name__ == '__main__':
93136
unittest.main()

0 commit comments

Comments
 (0)