diff --git a/lib/xos-genx/xos-genx-tests/test_jinja2_base.py b/lib/xos-genx/xos-genx-tests/test_jinja2_base.py
new file mode 100644
index 0000000..0e7a2d4
--- /dev/null
+++ b/lib/xos-genx/xos-genx-tests/test_jinja2_base.py
@@ -0,0 +1,35 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+import unittest
+from xosgenx.jinja2_extensions.base import *
+from helpers import FakeArgs, XProtoTestHelpers
+
+class Jinja2BaseTests(unittest.TestCase):
+    def test_xproto_is_true(self):
+        self.assertTrue(xproto_is_true(True))
+        self.assertTrue(xproto_is_true("True"))
+        self.assertTrue(xproto_is_true('"True"'))
+        self.assertFalse(xproto_is_true(False))
+        self.assertFalse(xproto_is_true("False"))
+        self.assertFalse(xproto_is_true('"False"'))
+        self.assertFalse(xproto_is_true(None))
+        self.assertFalse(xproto_is_true("something else"))
+
+if __name__ == '__main__':
+    unittest.main()
+
+
