aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/tools/build/scripts/action_library_client/test/test_action_library_client.py
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/tools/build/scripts/action_library_client/test/test_action_library_client.py')
-rw-r--r--openecomp-be/tools/build/scripts/action_library_client/test/test_action_library_client.py154
1 files changed, 154 insertions, 0 deletions
diff --git a/openecomp-be/tools/build/scripts/action_library_client/test/test_action_library_client.py b/openecomp-be/tools/build/scripts/action_library_client/test/test_action_library_client.py
new file mode 100644
index 0000000000..dc1161c184
--- /dev/null
+++ b/openecomp-be/tools/build/scripts/action_library_client/test/test_action_library_client.py
@@ -0,0 +1,154 @@
+import unittest
+import os
+import tempfile
+import ConfigParser
+import action_library_client as ALC
+
+
+class D(dict):
+
+ def __init__(self, *args, **kwargs):
+ super(D, self).__init__(*args, **kwargs)
+ self.__dict__ = self
+
+
+class UnitTest(unittest.TestCase):
+
+ def __write_config_file(self, map):
+ with tempfile.NamedTemporaryFile(mode="w", delete=False) as tmp:
+ config = ConfigParser.ConfigParser()
+ config.add_section("action_library_client")
+ for k, v in map.items():
+ section = config.set("action_library_client", k, v)
+ config.write(tmp)
+ tmp.flush()
+ return tmp.name
+
+ def test_argument_parser(self):
+ # nothing = ALC.ArgumentParser().parse_args([])
+ # self.assertEquals(nothing.help, None)
+ # self.assertEquals(nothing.version, None)
+ # self.assertEquals(nothing.verbose, None)
+ #
+ # help = ALC.ArgumentParser().parse_args(["--help"])
+ # self.assertEquals(help.help, True)
+
+ uuidx = ALC.ArgumentParser().parse_args(["--uuid", "abc"])
+ self.assertEquals(uuidx.uuid, "abc")
+
+
+ def test_settings_get(self):
+
+ os.environ["a"] = "aa"
+ os.environ["b"] = "WILL_BE_OVERRIDDEN"
+
+ section = dict()
+ section['ALC_HTTP_USER'] = "batman"
+ section['ECOMP_INSTANCE_ID'] = "acdc"
+ section['b'] = "bb"
+ filename = self.__write_config_file(section)
+
+ # with tempfile.NamedTemporaryFile(mode="w", delete=False) as tmp:
+ # config = configparser.ConfigParser()
+ # config.add_section("action_library_client")
+ # section = config["action_library_client"]
+ # config.write(tmp)
+ # tmp.flush()
+
+ settings = ALC.Settings(ALC.Runner.parse_args(["--config", filename]))
+ self.assertEquals("aa", settings.get("a"))
+ self.assertEquals("bb", settings.get("b"))
+ self.assertEquals("batman", settings.get("ALC_HTTP_USER"))
+ self.assertEquals("batman", settings.get(ALC.Constants.ENV_HTTP_USER))
+ self.assertEquals("ALC_ECOMP_INSTANCE_ID", settings.get("c", ALC.Constants.ENV_ECOMP_INSTANCE_ID))
+
+ os.remove(filename)
+
+ def test_parse_args(self):
+ c1 = ALC.Runner.parse_args(["--version"])
+ with tempfile.NamedTemporaryFile(mode="w", delete=False) as tmp:
+ config = ConfigParser.ConfigParser()
+ config.add_section("action_library_client")
+ config.set("action_library_client", "ALC_HTTP_USER", "batman")
+ config.write(tmp)
+ tmp.flush()
+ self.assertEquals(c1.version, True)
+
+ def test_get_http_insecure(self):
+ c = ALC.DryRunRESTClient(ALC.Runner.parse_args([]))
+ self.assertEquals(False, c.get_http_insecure())
+
+ def test_get_http_cafile(self):
+ c1 = ALC.DryRunRESTClient(ALC.Runner.parse_args([]))
+ self.assertEquals(False, c1.get_http_insecure())
+ self.assertIsNone(c1.get_http_cafile())
+
+ filename = self.__write_config_file({"ALC_HTTP_CAFILE": "/tmp/x"})
+ c2 = ALC.DryRunRESTClient(ALC.Runner.parse_args(["--config", filename]))
+ self.assertEquals(False, c2.get_http_insecure())
+ self.assertEquals("/tmp/x", c2.get_http_cafile())
+
+ def test_get_timeout_seconds(self):
+ args = ALC.Runner.parse_args(["--version"])
+ self.assertEquals(30, ALC.DryRunRESTClient(args).get_timeout_seconds())
+
+ def test_get_basic_credentials(self):
+ try:
+ saved_user = os.environ["ALC_HTTP_USER"]
+ saved_pass = os.environ["ALC_HTTP_PASS"]
+ except KeyError:
+ saved_user = ""
+ saved_pass = ""
+ try:
+ os.environ["ALC_HTTP_USER"] = "AUTH-DELETE"
+ os.environ["ALC_HTTP_PASS"] = "test"
+ c = ALC.DryRunRESTClient(ALC.Runner.parse_args([]))
+ c1 = c.get_basic_credentials()
+ self.assertEqual(c1, "QVVUSC1ERUxFVEU6dGVzdA==")
+ os.environ["ALC_HTTP_USER"] = "AUTH-DELETE"
+ os.environ["ALC_HTTP_PASS"] = "death"
+ c2 = c.get_basic_credentials()
+ self.assertNotEqual(c2, "QVVUSC1ERUxFVEU6dGVzdA==")
+ finally:
+ os.environ["ALC_HTTP_USER"] = saved_user
+ os.environ["ALC_HTTP_PASS"] = saved_pass
+
+ def test_get_rest_client(self):
+ uuid = ALC.IRESTClient.new_uuid()
+ c1 = ALC.Runner.get_rest_client(ALC.Runner.parse_args(["--dryrun"]))
+ self.assertTrue(isinstance(c1, ALC.DryRunRESTClient))
+ c2 = ALC.Runner.get_rest_client(ALC.Runner.parse_args(["--curl"]))
+ self.assertTrue(isinstance(c2, ALC.CURLRESTClient))
+ c3 = ALC.Runner.get_rest_client(ALC.Runner.parse_args(["--uuid", uuid]))
+ self.assertTrue(isinstance(c3, ALC.NativeRESTClient))
+
+ def test_get_logger(self):
+ logger = ALC.Runner.get_logger()
+ logger.info("idotlogger")
+
+ def test_new_uuid(self):
+ uuid = ALC.IRESTClient.new_uuid()
+ self.assertEqual(len(uuid), 36)
+
+ def test_make_service_url(self):
+ uuid = ALC.IRESTClient.new_uuid()
+
+ args1 = ALC.Runner.parse_args(["--url", "http://banana"])
+ client1 = ALC.DryRunRESTClient(args1)
+ self.assertEqual(client1.make_service_url(),
+ "http://banana/onboarding-api/workflow/v1.0/actions")
+
+ args2 = ALC.Runner.parse_args(["--url", "http://banana/"])
+ client2 = ALC.DryRunRESTClient(args2)
+ self.assertEqual(client2.make_service_url(),
+ "http://banana/onboarding-api/workflow/v1.0/actions")
+
+ args3 = ["--url", "http://banana/onboarding-api/workflow/v1.1/actions", "--uuid", uuid]
+ client3 = ALC.DryRunRESTClient(ALC.Runner.parse_args(args3))
+ self.assertEqual(client3.make_service_url(),
+ "http://banana/onboarding-api/workflow/v1.1/actions/{}".format(uuid))
+
+ def test_debug_curl_cmd(self):
+ cmd = ["curl", "--header", "banana", "http://something/somewhere"]
+ debug = ALC.CURLRESTClient.debug_curl_cmd(cmd)
+ self.assertEqual("curl --header \"banana\" \"http://something/somewhere\" ", debug) \ No newline at end of file