about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/test_commands.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/unit/test_commands.py b/tests/unit/test_commands.py
new file mode 100644
index 0000000..a319332
--- /dev/null
+++ b/tests/unit/test_commands.py
@@ -0,0 +1,29 @@
+"""Test cases for procedures defined in commands.py"""
+import os
+import unittest
+
+from unittest import mock
+from gn3.commands import compose_gemma_cmd
+
+
+class TestCommands(unittest.TestCase):
+    """Test cases for commands.py"""
+
+    @mock.patch("gn3.commands.lookup_file")
+    def test_compose_gemma_cmd_no_extra_args(self, mock_lookup_file):
+        """Test that thhe gemma cmd is composed correctly"""
+        metadata_file = os.path.join(os.path.dirname(__file__),
+                                     "test_data/metadata.json")
+        mock_lookup_file.side_effect = [metadata_file,
+                                        "/tmp/genofile.txt",
+                                        "/tmp/gf13Ad0tRX/phenofile.txt"]
+        self.assertEqual(compose_gemma_cmd("gf13Ad0t",
+                                           "metadata.json",
+                                           gemma_wrapper_cmd="gemma-wrapper",
+                                           gemma_wrapper_kwargs=None,
+                                           gemma_kwargs=None,
+                                           gemma_args=["-gk"]),
+                         ("gemma-wrapper --json -- "
+                          "-g /tmp/genofile.txt "
+                          "-p /tmp/gf13Ad0tRX/phenofile.txt"
+                          " -gk"))