Mercurial > repos > guerler > springsuite
diff planemo/lib/python3.7/site-packages/bioblend/_tests/TestCloudmanLaunch.py @ 0:d30785e31577 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author | guerler |
---|---|
date | Fri, 31 Jul 2020 00:18:57 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/planemo/lib/python3.7/site-packages/bioblend/_tests/TestCloudmanLaunch.py Fri Jul 31 00:18:57 2020 -0400 @@ -0,0 +1,44 @@ +""" +Tests the functionality of the Blend CloudMan API. These tests require working +credentials to supported cloud infrastructure. +""" +from bioblend.cloudman import CloudManConfig, CloudManInstance +from . import CloudmanTestBase, test_util + + +@test_util.skip_unless_cloudman() +class TestCloudmanLaunch(CloudmanTestBase.CloudmanTestBase): + + def setUp(self): + super().setUp() + + def test_validate_valid_config(self): + """ + Tests whether a valid config is validated properly. + """ + # cfg = CloudManConfig(self.access_key, self.secret_key, self.cluster_name, self.ami_id, self.instance_type, self.password, cloud_metadata=self.cloud_metadata) + cls = TestCloudmanLaunch + cfg = CloudManConfig(cls.access_key, cls.secret_key, cls.cluster_name, cls.ami_id, cls.instance_type, cls.password, cloud_metadata=cls.cloud_metadata) + result = cfg.validate() + self.assertIsNone(result, "Validation did not return null to indicate success!") + + def test_validate_invalid_config(self): + """ + Tests whether an invalid config is validated properly. + """ + cfg = CloudManConfig() + result = cfg.validate() + self.assertIsNotNone(result, "Validation should have returned a value since the configuration was invalid!") + + def test_launch_and_terminate(self): + cls = TestCloudmanLaunch + cfg = CloudManConfig(cls.access_key, cls.secret_key, cls.cluster_name, cls.ami_id, cls.instance_type, cls.password, cloud_metadata=cls.cloud_metadata) + cmi = CloudManInstance.launch_instance(cfg) + status = cmi.get_status() + self.assertNotEqual(status['cluster_status'], 'ERROR', "instance.get_status() returned ERROR. Should return a successful status!") + try: + # TODO: The terminate method is unpredictable! Needs fix. + result = cmi.terminate(delete_cluster=True) + self.assertEqual(result['cluster_status'], 'SHUTDOWN', "Cluster should be in status SHUTDOWN after call to terminate!") + except Exception: + pass