[CORD-1538] Hiding model/fields from xProto

Change-Id: I25ecfe1ce860e561ea2f9c7ce8eeecdcd9e8e3c4
diff --git a/lib/xos-genx/tests/translator_test.py b/lib/xos-genx/tests/translator_test.py
index a8212f4..40e1b50 100644
--- a/lib/xos-genx/tests/translator_test.py
+++ b/lib/xos-genx/tests/translator_test.py
@@ -111,6 +111,48 @@
         yaml_ir = yaml.load(output)
         self.assertEqual(len(yaml_ir['items']), 4)
 
+    def test_gui_hidden_models(self):
+        xproto = \
+"""
+option app_label = "test";
+
+message Foo {
+    option gui_hidden = "True";
+    required string name = 1 [ null = "False", blank="False"];
+}
+
+message Bar {
+    option gui_hidden = "False";
+    required string name = 1 [ null = "False", blank="False"];
+}
+"""
+        args = FakeArgs()
+        args.inputs = xproto
+        args.target = 'modeldefs.xtarget'
+        output = XOSGenerator.generate(args)
+        yaml_ir = yaml.load(output)
+        self.assertEqual(len(yaml_ir['items']), 1)
+        self.assertIn('Bar', output)
+        self.assertNotIn('Foo', output)
+
+    def test_gui_hidden_model_fields(self):
+        xproto = \
+"""
+option app_label = "test";
+
+message Foo {
+    required string name = 1 [ null = "False", blank="False"];
+    required string secret = 1 [ null = "False", blank="False", gui_hidden = "True"];
+}
+"""
+        args = FakeArgs()
+        args.inputs = xproto
+        args.target = 'modeldefs.xtarget'
+        output = XOSGenerator.generate(args)
+        yaml_ir = yaml.load(output)
+        self.assertEqual(len(yaml_ir['items']), 1)
+        self.assertIn('name', output)
+        self.assertNotIn('secret', output)
 if __name__ == '__main__':
     unittest.main()