You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2011/03/16 06:35:57 UTC

svn commit: r1082055 - /incubator/libcloud/trunk/test/compute/test_deployment.py

Author: tomaz
Date: Wed Mar 16 05:35:57 2011
New Revision: 1082055

URL: http://svn.apache.org/viewvc?rev=1082055&view=rev
Log:
Add tests for deployment.

Added:
    incubator/libcloud/trunk/test/compute/test_deployment.py

Added: incubator/libcloud/trunk/test/compute/test_deployment.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/test_deployment.py?rev=1082055&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/test_deployment.py (added)
+++ incubator/libcloud/trunk/test/compute/test_deployment.py Wed Mar 16 05:35:57 2011
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+# Licensed to the Apache Software Foundation (ASF) under one or more§
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+
+import sys
+import unittest
+
+from libcloud.compute.deployment import MultiStepDeployment, Deployment
+from libcloud.compute.base import Node
+from libcloud.compute.types import NodeState
+from libcloud.compute.drivers.ec2 import EC2NodeDriver
+
+class MockDeployment(Deployment):
+    def run(self, node, client):
+        return node
+
+class DeploymentTests(unittest.TestCase):
+
+    def test_multi_step_deployment(self):
+        msd = MultiStepDeployment()
+        self.assertEqual(len(msd.steps), 0)
+
+        msd.add(MockDeployment())
+        self.assertEqual(len(msd.steps), 1)
+
+        node = Node(id=1, name='test', state=NodeState.RUNNING,
+                   public_ip=['1.2.3.4'], private_ip='1.2.3.5',
+                   driver=EC2NodeDriver)
+        self.assertEqual(node, msd.run(node=node, client=None))
+
+if __name__ == '__main__':
+    sys.exit(unittest.main())