def test_dump_accounts_existing_file(self):
     self.useFixture(fixtures.MockPatch('os.path.exists',
                                        return_value=True))
     rename_mock = self.useFixture(fixtures.MockPatch('os.rename')).mock
     backup_file = '.'.join((self.opts.accounts, 'bak'))
     mocked_open = mock.mock_open()
     with mock.patch('{}.open'.format(account_generator.__name__),
                     mocked_open, create=True):
         with mock.patch('yaml.safe_dump') as yaml_dump_mock:
             account_generator.setup_logging()
             account_generator.dump_accounts(self.resources,
                                             self.opts.identity_version,
                                             self.opts.accounts)
     rename_mock.assert_called_once_with(self.opts.accounts, backup_file)
     mocked_open.assert_called_once_with(self.opts.accounts, 'w')
     handle = mocked_open()
     # Ordered args in [0], keyword args in [1]
     accounts, f = yaml_dump_mock.call_args[0]
     self.assertEqual(handle, f)
     self.assertEqual(6, len(accounts))
     if self.domain_is_in:
         self.assertIn('domain_name', accounts[0].keys())
     else:
         self.assertNotIn('domain_name', accounts[0].keys())
     self.assertEqual(1, len([x for x in accounts if
                              x.get('types') == ['admin']]))
     self.assertEqual(3, len([x for x in accounts if 'roles' in x]))
     for account in accounts:
         self.assertIn('resources', account)
         self.assertIn('network', account.get('resources'))
Exemple #2
0
 def test_dump_accounts_existing_file(self):
     self.useFixture(fixtures.MockPatch('os.path.exists',
                                        return_value=True))
     rename_mock = self.useFixture(fixtures.MockPatch('os.rename')).mock
     backup_file = '.'.join((self.opts.accounts, 'bak'))
     mocked_open = mock.mock_open()
     with mock.patch('{}.open'.format(account_generator.__name__),
                     mocked_open, create=True):
         with mock.patch('yaml.safe_dump') as yaml_dump_mock:
             account_generator.setup_logging()
             account_generator.dump_accounts(self.resources,
                                             self.opts.identity_version,
                                             self.opts.accounts)
     rename_mock.assert_called_once_with(self.opts.accounts, backup_file)
     mocked_open.assert_called_once_with(self.opts.accounts, 'w')
     handle = mocked_open()
     # Ordered args in [0], keyword args in [1]
     accounts, f = yaml_dump_mock.call_args[0]
     self.assertEqual(handle, f)
     self.assertEqual(6, len(accounts))
     if self.domain_is_in:
         self.assertIn('domain_name', accounts[0].keys())
     else:
         self.assertNotIn('domain_name', accounts[0].keys())
     self.assertEqual(1, len([x for x in accounts if
                              x.get('types') == ['admin']]))
     self.assertEqual(3, len([x for x in accounts if 'roles' in x]))
     for account in accounts:
         self.assertIn('resources', account)
         self.assertIn('network', account.get('resources'))
 def test_dump_accounts_existing_file(self):
     self.useFixture(fixtures.MockPatch("os.path.exists", return_value=True))
     rename_mock = self.useFixture(fixtures.MockPatch("os.rename")).mock
     backup_file = ".".join((self.opts.accounts, "bak"))
     mocked_open = mock.mock_open()
     with mock.patch("{}.open".format(account_generator.__name__), mocked_open, create=True):
         with mock.patch("yaml.safe_dump") as yaml_dump_mock:
             account_generator.setup_logging()
             account_generator.dump_accounts(self.resources, self.opts.identity_version, self.opts.accounts)
     rename_mock.assert_called_once_with(self.opts.accounts, backup_file)
     mocked_open.assert_called_once_with(self.opts.accounts, "w")
     handle = mocked_open()
     # Ordered args in [0], keyword args in [1]
     accounts, f = yaml_dump_mock.call_args[0]
     self.assertEqual(handle, f)
     self.assertEqual(6, len(accounts))
     if self.domain_is_in:
         self.assertIn("domain_name", accounts[0].keys())
     else:
         self.assertNotIn("domain_name", accounts[0].keys())
     self.assertEqual(1, len([x for x in accounts if x.get("types") == ["admin"]]))
     self.assertEqual(3, len([x for x in accounts if "roles" in x]))
     for account in accounts:
         self.assertIn("resources", account)
         self.assertIn("network", account.get("resources"))