1313
1414class 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+
92135if __name__ == '__main__' :
93136 unittest .main ()
0 commit comments