summaryrefslogtreecommitdiffstats
path: root/helm/plugin/tests/test_plugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'helm/plugin/tests/test_plugin.py')
-rw-r--r--helm/plugin/tests/test_plugin.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/helm/plugin/tests/test_plugin.py b/helm/plugin/tests/test_plugin.py
new file mode 100644
index 0000000..be0882f
--- /dev/null
+++ b/helm/plugin/tests/test_plugin.py
@@ -0,0 +1,47 @@
+########
+# Copyright (c) 2014 GigaSpaces Technologies Ltd. All rights reserved
+#
+# 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.
+
+
+from os import path
+import unittest
+
+from cloudify.test_utils import workflow_test
+
+
+class TestPlugin(unittest.TestCase):
+
+ @workflow_test(path.join('blueprint', 'blueprint.yaml'),
+ resources_to_copy=[(path.join('blueprint', 'plugin',
+ 'test_plugin.yaml'),
+ 'plugin')],
+ inputs={'test_input': 'new_test_input'})
+ def test_my_task(self, cfy_local):
+ # execute install workflow
+ """
+
+ :param cfy_local:
+ """
+ cfy_local.execute('install', task_retries=0)
+
+ # extract single node instance
+ instance = cfy_local.storage.get_node_instances()[0]
+
+ # assert runtime properties is properly set in node instance
+ self.assertEqual(instance.runtime_properties['some_property'],
+ 'new_test_input')
+
+ # assert deployment outputs are ok
+ self.assertDictEqual(cfy_local.outputs(),
+ {'test_output': 'new_test_input'})