Skip to content

Commit e8b83a9

Browse files
committed
adding asciidoc generator tests
1 parent 5864081 commit e8b83a9

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
import os
2+
import sys
3+
import unittest
4+
5+
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
6+
7+
from scripts.generators import asciidoc_fields
8+
from scripts.generators import intermediate_files
9+
from scripts.schema import cleaner
10+
from scripts.schema import loader
11+
from scripts.schema import finalizer
12+
13+
14+
class TestGeneratorsAsciiFields(unittest.TestCase):
15+
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+
23+
def setUp(self):
24+
self.fieldsets = TestGeneratorsAsciiFields.nested
25+
self.event_fieldset = self.fieldsets['event']
26+
self.foo_fieldset = self.dummy_fieldset()
27+
28+
def dummy_fieldset(self):
29+
return {
30+
'description': 'foo',
31+
'fields': {
32+
'foo.type': {
33+
'dashed_name': 'foo-type',
34+
'description': 'describes the foo',
35+
'example': '2016-05-23T08:05:34.853Z',
36+
'flat_name': 'foo.type',
37+
'level': 'core',
38+
'name': 'type',
39+
'normalize': ['array'],
40+
'short': 'describes the foo',
41+
'ignore_above': 1024,
42+
'type': 'keyword',
43+
'allowed_values': [{
44+
'description': 'fluffy foo',
45+
'name': 'fluffy',
46+
},
47+
{
48+
'description': 'coarse foo',
49+
'name': 'coarse',
50+
}
51+
]
52+
},
53+
'foo.id': {
54+
'dashed_name': 'foo-id',
55+
'description': 'Unique ID of the foo.',
56+
'example': 'foo123',
57+
'flat_name': 'foo.id',
58+
'ignore_above': 1024,
59+
'level': 'core',
60+
'name': 'id',
61+
'normalize': [],
62+
'short': 'Unique ID of the foo.',
63+
'type': 'keyword'
64+
}
65+
},
66+
'group': 2,
67+
'name': 'foo',
68+
'prefix': 'foo.',
69+
'short': 'Foo fields',
70+
'title': 'Foo',
71+
'type': 'group'
72+
}
73+
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)
78+
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):
84+
sorted_foo_fields = asciidoc_fields.sort_fields(self.foo_fieldset)
85+
#import pdb;pdb.set_trace()
86+
self.assertIsInstance(sorted_foo_fields, list)
87+
self.assertEqual('id', sorted_foo_fields[0]['name'])
88+
self.assertEqual('type', sorted_foo_fields[1]['name'])
89+
self.assertIn('fluffy', sorted_foo_fields[1]['allowed_value_names'])
90+
self.assertIn('coarse', sorted_foo_fields[1]['allowed_value_names'])
91+
92+
if __name__ == '__main__':
93+
unittest.main()

0 commit comments

Comments
 (0)