diff options
author | Sean Dague <sean@dague.net> | 2014-11-07 14:27:03 +0100 |
---|---|---|
committer | Sean Dague <sean@dague.net> | 2014-11-12 15:31:08 -0500 |
commit | 89cd6a0c493e26b5a9e017c99d731464292abbaf (patch) | |
tree | c2bf790d1684cd539b820247113492495123a163 /nova/tests/unit/objects/test_dns_domain.py | |
parent | 5c8bbaafef590e4d346a03051a0ba55c8be26c5c (diff) | |
download | nova-89cd6a0c493e26b5a9e017c99d731464292abbaf.tar.gz |
move all tests to nova/tests/unit
As part of the split of functional and unit tests we need to isolate
the unit tests into a separate directory for having multiple test
targets in a sane way.
Part of bp:functional-tests-for-nova
Change-Id: Id42ba373c1bda6a312b673ab2b489ca56da8c628
Diffstat (limited to 'nova/tests/unit/objects/test_dns_domain.py')
-rw-r--r-- | nova/tests/unit/objects/test_dns_domain.py | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/nova/tests/unit/objects/test_dns_domain.py b/nova/tests/unit/objects/test_dns_domain.py new file mode 100644 index 0000000000..45f42ff237 --- /dev/null +++ b/nova/tests/unit/objects/test_dns_domain.py @@ -0,0 +1,85 @@ +# Copyright (C) 2014, Red Hat, Inc. +# +# 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. + +import mock + +from nova import db +from nova.objects import dns_domain +from nova.tests.unit.objects import test_objects + + +fake_dnsd = { + 'created_at': None, + 'updated_at': None, + 'deleted_at': None, + 'deleted': 0, + 'domain': 'blah.example.com', + 'scope': 'private', + 'availability_zone': 'overthere', + 'project_id': '867530niner', +} + + +class _TestDNSDomain(object): + @staticmethod + def _compare(test, db, obj): + for field, value in db.items(): + test.assertEqual(db[field], obj[field]) + + def test_get_by_domain(self): + with mock.patch.object(db, 'dnsdomain_get') as get: + get.return_value = fake_dnsd + dnsd = dns_domain.DNSDomain.get_by_domain(self.context, 'domain') + self._compare(self, fake_dnsd, dnsd) + + def test_register_for_zone(self): + dns_domain.DNSDomain.register_for_zone(self.context.elevated(), + 'domain', 'zone') + dnsd = dns_domain.DNSDomain.get_by_domain(self.context, 'domain') + self.assertEqual('domain', dnsd.domain) + self.assertEqual('zone', dnsd.availability_zone) + + def test_register_for_project(self): + dns_domain.DNSDomain.register_for_project(self.context.elevated(), + 'domain', 'project') + dnsd = dns_domain.DNSDomain.get_by_domain(self.context, 'domain') + self.assertEqual('domain', dnsd.domain) + self.assertEqual('project', dnsd.project_id) + + def test_delete_by_domain(self): + dns_domain.DNSDomain.register_for_zone(self.context.elevated(), + 'domain', 'zone') + dnsd = dns_domain.DNSDomain.get_by_domain(self.context, 'domain') + self.assertEqual('domain', dnsd.domain) + self.assertEqual('zone', dnsd.availability_zone) + + dns_domain.DNSDomain.delete_by_domain(self.context.elevated(), + 'domain') + dnsd = dns_domain.DNSDomain.get_by_domain(self.context, 'domain') + self.assertIsNone(dnsd) + + def test_get_all(self): + with mock.patch.object(db, 'dnsdomain_get_all') as get: + get.return_value = [fake_dnsd] + dns_domain.DNSDomainList.get_all(self.context) + + +class TestDNSDomainObject(test_objects._LocalTest, + _TestDNSDomain): + pass + + +class TestRemoteDNSDomainObject(test_objects._RemoteTest, + _TestDNSDomain): + pass |