From 1169dcc5f18fd9a5adbf353bec87e48d563550a5 Mon Sep 17 00:00:00 2001
From: Joshua Harlow <harlowja@yahoo-inc.com>
Date: Fri, 9 Nov 2012 15:28:35 -0800
Subject: Fix the merging of group configuration when that group configuration
 is a dict => members.

LP: #1077245
---
 .../test_distros/test_user_data_normalize.py       | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

(limited to 'tests')

diff --git a/tests/unittests/test_distros/test_user_data_normalize.py b/tests/unittests/test_distros/test_user_data_normalize.py
index 8f0d8896..50400c8a 100644
--- a/tests/unittests/test_distros/test_user_data_normalize.py
+++ b/tests/unittests/test_distros/test_user_data_normalize.py
@@ -30,6 +30,28 @@ class TestUGNormalize(MockerTestCase):
     def _norm(self, cfg, distro):
         return distros.normalize_users_groups(cfg, distro)
 
+    def test_group_dict(self):
+        distro = self._make_distro('ubuntu')
+        g = {'groups': [
+                {
+                    'ubuntu': ['foo', 'bar'],
+                    'bob': 'users',
+                },
+                'cloud-users',
+                {
+                    'bob': 'users2',
+                },
+            ]
+        }
+        (users, groups) = self._norm(g, distro)
+        self.assertIn('ubuntu', groups)
+        ub_members = groups['ubuntu']
+        self.assertEquals(sorted(['foo', 'bar']), sorted(ub_members))
+        self.assertIn('bob', groups)
+        b_members = groups['bob']
+        self.assertEquals(sorted(['users', 'users2']), 
+                          sorted(b_members))
+
     def test_basic_groups(self):
         distro = self._make_distro('ubuntu')
         ug_cfg = {
-- 
cgit v1.2.3