예제 #1
0
    def test_generate_rndc_base_call_without_key_file(self):
        self.target['options'] = [
            {
                'key': 'rndc_host',
                'value': '192.168.3.4'
            },
            {
                'key': 'rndc_port',
                'value': '953'
            },
            {
                'key': 'rndc_bin_path',
                'value': '/usr/sbin/rndc'
            },
            {
                'key': 'rndc_config_file',
                'value': '/etc/rndc.conf'
            },
        ]

        backend = impl_bind9.Bind9Backend(
            objects.PoolTarget.from_dict(self.target))

        self.assertEqual([
            '/usr/sbin/rndc', '-s', '192.168.3.4', '-p', '953', '-c',
            '/etc/rndc.conf'
        ], backend._generate_rndc_base_call())
예제 #2
0
    def test_delete_zone_without_clean_zonefile(self, mock_execute):
        self.target['options'] = [{'key': 'clean_zonefile', 'value': 'false'}]

        backend = impl_bind9.Bind9Backend(
            objects.PoolTarget.from_dict(self.target))

        backend.delete_zone(self.admin_context, self.zone)

        mock_execute.assert_called_with(['delzone', 'example.com '])
예제 #3
0
    def test_delete_zone_with_view(self, mock_execute):
        self.target['options'].append({'key': 'view', 'value': 'guest'}, )

        backend = impl_bind9.Bind9Backend(
            objects.PoolTarget.from_dict(self.target))

        backend.delete_zone(self.admin_context, self.zone)

        mock_execute.assert_called_with(
            ['delzone', '-clean', 'example.com in guest'])
예제 #4
0
    def test_create_zone_with_view(self, mock_execute):
        self.target['options'].append({'key': 'view', 'value': 'guest'}, )

        backend = impl_bind9.Bind9Backend(
            objects.PoolTarget.from_dict(self.target))

        with fixtures.random_seed(1):
            backend.create_zone(self.admin_context, self.zone)

        mock_execute.assert_called_with([
            'addzone',
            'example.com in guest { type slave; masters { 192.168.1.2 port 35; 192.168.1.1 port 53;}; file "slave.example.com.cca7908b-dad4-4c50-adba-fb67d4c556e8"; };'  # noqa
        ])
예제 #5
0
    def setUp(self):
        super(Bind9BackendTestCase, self).setUp()
        self.zone = objects.Zone(id='cca7908b-dad4-4c50-adba-fb67d4c556e8',
                                 name='example.com.',
                                 email='*****@*****.**')

        self.target = {
            'id':
            '4588652b-50e7-46b9-b688-a9bad40a873e',
            'type':
            'bind9',
            'masters': [{
                'host': '192.168.1.1',
                'port': 53
            }, {
                'host': '192.168.1.2',
                'port': 35
            }],
            'options': [{
                'key': 'host',
                'value': '192.168.2.3'
            }, {
                'key': 'port',
                'value': '53'
            }, {
                'key': 'rndc_host',
                'value': '192.168.2.4'
            }, {
                'key': 'rndc_port',
                'value': '953'
            }, {
                'key': 'rndc_bin_path',
                'value': '/usr/sbin/rndc'
            }, {
                'key': 'rndc_config_file',
                'value': '/etc/rndc.conf'
            }, {
                'key': 'rndc_key_file',
                'value': '/etc/rndc.key'
            }, {
                'key': 'clean_zonefile',
                'value': 'true'
            }],
        }

        self.backend = impl_bind9.Bind9Backend(
            objects.PoolTarget.from_dict(self.target))