aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests
diff options
context:
space:
mode:
Diffstat (limited to 'host/tests')
-rw-r--r--host/tests/CMakeLists.txt1
-rw-r--r--host/tests/uhd_image_downloader_test.py45
2 files changed, 46 insertions, 0 deletions
diff --git a/host/tests/CMakeLists.txt b/host/tests/CMakeLists.txt
index 19d6bd23c..99f4e5eaf 100644
--- a/host/tests/CMakeLists.txt
+++ b/host/tests/CMakeLists.txt
@@ -72,6 +72,7 @@ set(pytest_sources
pyranges_test.py
verify_fbs_test.py
pychdr_parse_test.py
+ uhd_image_downloader_test.py
)
#turn each test cpp file into an executable with an int main() function
diff --git a/host/tests/uhd_image_downloader_test.py b/host/tests/uhd_image_downloader_test.py
new file mode 100644
index 000000000..ef5c0b5a3
--- /dev/null
+++ b/host/tests/uhd_image_downloader_test.py
@@ -0,0 +1,45 @@
+#
+# Copyright 2020 Ettus Research, a National Instruments Brand
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+"""
+Unit test for uhd_images_downloader
+"""
+
+import unittest
+import uhd_images_downloader
+
+def mk_env(username, password):
+ env = {}
+ if username is not None:
+ env[uhd_images_downloader._USERNAME_VARIABLE] = username
+ if password is not None:
+ env[uhd_images_downloader._PASSWORD_VARIABLE] = password
+ return env
+
+class PyImageDownloaderTest(unittest.TestCase):
+ """ Test Python image downloader functionality """
+ def test_parse_auth_works(self):
+ self.assertEqual(
+ uhd_images_downloader.parse_auth(mk_env("bbrother", "2+2=5")),
+ ("bbrother", "2+2=5")
+ )
+
+ def test_parse_auth_empty_on_empty(self):
+ self.assertEqual(
+ uhd_images_downloader.parse_auth(mk_env(None, None)),
+ None
+ )
+ self.assertEqual(
+ uhd_images_downloader.parse_auth(mk_env("", None)),
+ None
+ )
+
+ def test_throws_on_empty_pw(self):
+ with self.assertRaises(RuntimeError):
+ uhd_images_downloader.parse_auth(mk_env("username", None))
+
+ def test_throws_on_empty_username(self):
+ with self.assertRaises(RuntimeError):
+ uhd_images_downloader.parse_auth(mk_env(None, "password"))