Esempio n. 1
0
    def test_update_zone(self):
        zone = backends.create_dnspy_zone(self.zone_name)

        self.backend.update_zone(zone)

        self.backend._dnsutils.zone_update.assert_called_once_with(
            self.zone_name)
Esempio n. 2
0
    def test_update_zone(self):
        zone = backends.create_dnspy_zone('example.org')

        self.backend.update_zone(zone)

        self.backend._execute_knotc.assert_called_once_with(
            'zone-refresh', 'example.org')
    def test_create_zone(self, mock_execute):
        zone = backends.create_dnspy_zone('example.org.')
        self.backend.create_zone(zone)

        # Ensure denominator called for each record (except SOA)
        # plus one to update zone data
        self.assertEqual(mock_execute.call_count,
                         len(list(zone.iterate_rdatas())))
Esempio n. 4
0
    def test_create_zone_already_existing_diff(self):
        zone = backends.create_dnspy_zone(self.zone_name)
        self.backend._dnsutils.zone_create.side_effect = (
            os_win_exc.DNSZoneAlreadyExists(zone_name=self.zone_name))

        self.assertRaises(os_win_exc.DNSZoneAlreadyExists,
                          self.backend.create_zone, zone)

        self.backend._dnsutils.get_zone_properties.assert_called_once_with(
            self.zone_name)
Esempio n. 5
0
    def test_create_zone(self):
        zone = backends.create_dnspy_zone(self.zone_name)

        self.backend.create_zone(zone)

        self.backend._dnsutils.zone_create.assert_called_once_with(
            zone_name=self.zone_name,
            zone_type=constants.DNS_ZONE_TYPE_SECONDARY,
            ds_integrated=False,
            ip_addrs=self.backend._masters)
Esempio n. 6
0
    def test_sync_zone(self, mock_to_file, mock_execute):
        zone = backends.create_dnspy_zone('example.org')

        self.backend._sync_zone(zone)

        mock_to_file.assert_called_once_with(
            '/var/lib/designate/zones/example.org.zone', relativize=False)

        mock_execute.assert_called_once_with('rndc', '-s', '127.0.0.1', '-p',
                                             '953', 'reload', 'example.org')
Esempio n. 7
0
    def test_sync_zone_with_new_zone(self, mock_to_file, mock_execute):
        zone = backends.create_dnspy_zone('example.org')

        self.backend._sync_zone(zone, new_zone_flag=True)

        mock_to_file.assert_called_once_with(
            '/var/lib/designate/zones/example.org.zone', relativize=False)

        mock_execute.assert_called_once_with(
            'rndc', '-s', '127.0.0.1', '-p', '953', 'addzone',
            'example.org { type master; '
            'file "/var/lib/designate/zones/example.org.zone"; };')
Esempio n. 8
0
    def test_create_zone(self):
        zone = backends.create_dnspy_zone('example.org')

        self.backend.create_zone(zone)

        self.backend._execute_knotc.assert_has_calls([
            call('conf-begin'),
            call('conf-set',
                 'zone[example.org]',
                 expected_error='duplicate identifier'),
            call('conf-commit'),
            call('zone-refresh', 'example.org')
        ])
Esempio n. 9
0
    def test_create_zone_already_existing_identical(self):
        zone = backends.create_dnspy_zone(self.zone_name)
        self.backend._dnsutils.zone_create.side_effect = (
            os_win_exc.DNSZoneAlreadyExists(zone_name=self.zone_name))

        mock_zone_properties = {
            'zone_type': constants.DNS_ZONE_TYPE_SECONDARY,
            'ds_integrated': False,
            'master_servers': self.backend._masters
        }
        self.backend._dnsutils.get_zone_properties.return_value = (
            mock_zone_properties)

        self.backend.create_zone(zone)

        self.backend._dnsutils.get_zone_properties.assert_called_once_with(
            self.zone_name)
    def test_update_zone(self, mock_execute):
        # Output from 'designate record list' command
        records = ('example.org SOA 86400 ns1.designate.com. '
                   '[email protected]. 475 3600 600 604800 1800\n'
                   'example.org NS 86400 ns1.designator.net.\n'
                   'example.org NS 86400 ns2.designator.net.\n'
                   'example.org MX 86400 10 mx1.designator.net.')

        # That should force update_zone to delete A and AAAA records
        # from the zone and create a new MX record.
        mock_execute.return_value = (records, None)

        zone = backends.create_dnspy_zone('example.org.')
        self.backend.update_zone(zone)

        # Ensure denominator called to:
        # *update zone info
        # *fetch list of zone records
        # *delete one MX record
        # *replace one NS record
        # *create 0 records
        # total: 4 calls

        self.assertEqual(4, mock_execute.call_count)

        methods = [
            'update_zone', 'get_records', 'create_record', 'update_record',
            'delete_record'
        ]
        for method in methods:
            setattr(self.backend.denominator, method,
                    mock.Mock(return_value=records))

        self.backend.update_zone(zone)
        self.assertEqual(1, self.backend.denominator.update_zone.call_count)
        self.assertEqual(1, self.backend.denominator.get_records.call_count)
        self.assertEqual(0, self.backend.denominator.create_record.call_count)
        self.assertEqual(1, self.backend.denominator.update_record.call_count)
        self.assertEqual(1, self.backend.denominator.delete_record.call_count)
Esempio n. 11
0
 def test_update_zone(self, mock_execute, mock_sync_zone):
     zone = backends.create_dnspy_zone('example.org')
     self.backend.update_zone(zone)
Esempio n. 12
0
 def test_update_zone(self):
     self.backend._perform_axfr_from_minidns = mock.Mock()
     self.backend._rebuild_data_cdb = mock.Mock()
     zone = backends.create_dnspy_zone('example.org')
     self.backend.update_zone(zone)
Esempio n. 13
0
 def test_update_zone(self):
     zone = backends.create_dnspy_zone('example.org')
     self.backend.update_zone(zone)