From 2d7624e4f06cb053487059989def7b8b647b57a0 Mon Sep 17 00:00:00 2001
From: Kenny Woodson <kwoodson@redhat.com>
Date: Thu, 18 Dec 2014 12:52:30 -0500
Subject: unittest for merge_destructively. More to come

Added a readme so its obvious how to run tests

Leaving this alone.  Getting cleaned up in next PR

Fixing space
---
 test/env-setup               |  8 ++++++
 test/units/README.md         |  7 +++++
 test/units/mutli_ec2_test.py | 67 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 82 insertions(+)
 create mode 100644 test/env-setup
 create mode 100644 test/units/README.md
 create mode 100755 test/units/mutli_ec2_test.py

(limited to 'test')

diff --git a/test/env-setup b/test/env-setup
new file mode 100644
index 000000000..156593571
--- /dev/null
+++ b/test/env-setup
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+CUR_PATH=$(pwd)
+
+PREFIX_PYTHONPATH=$CUR_PATH/inventory/
+
+
+export PYTHONPATH=$PREFIX_PYTHONPATH:$PYTHONPATH
diff --git a/test/units/README.md b/test/units/README.md
new file mode 100644
index 000000000..3bed227eb
--- /dev/null
+++ b/test/units/README.md
@@ -0,0 +1,7 @@
+Location for python unittests.
+
+These should be run by sourcing the env-setup:
+$ source test/env-setup
+
+Then navigate to the test/units/ directory.
+$ python -m unittest multi_ec2_test
diff --git a/test/units/mutli_ec2_test.py b/test/units/mutli_ec2_test.py
new file mode 100755
index 000000000..4e6fe61c5
--- /dev/null
+++ b/test/units/mutli_ec2_test.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+import unittest
+import sys
+import os
+import sys
+import multi_ec2
+
+class MultiEc2Test(unittest.TestCase):
+
+    def setUp(self):
+        pass
+
+    def test_merge_simple_1(self):
+        a = {"key1" : 1}
+        b = {"key1" : 2}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"key1": [1,2]})
+
+    def test_merge_b_empty(self):
+        a = {"key1" : 1}
+        b = {}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"key1": 1})
+
+    def test_merge_a_empty(self):
+        b = {"key1" : 1}
+        a = {}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"key1": 1})
+
+    def test_merge_hash_array(self):
+        a = {"key1" : {"hasha": 1}}
+        b = {"key1" : [1,2]}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"key1": [{"hasha": 1}, 1,2]})
+
+    def test_merge_array_hash(self):
+        a = {"key1" : [1,2]}
+        b = {"key1" : {"hasha": 1}}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"key1": [1,2, {"hasha": 1}]})
+
+    def test_merge_keys_1(self):
+        a = {"key1" : [1,2], "key2" : {"hasha": 2}}
+        b = {"key2" : {"hashb": 1}}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"key1": [1,2], "key2": {"hasha": 2, "hashb": 1}})
+
+    def test_merge_recursive_1(self):
+        a = {"a" : {"b": {"c": 1}}}
+        b = {"a" : {"b": {"c": 2}}}
+        result = {}
+        [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
+        self.assertEqual(result, {"a": {"b": {"c": [1,2]}}})
+
+    def tearDown(self):
+        pass
+
+if __name__ == "__main__":
+  unittest.main()
-- 
cgit v1.2.3