Add basic managed records coverage
Change-Id: If67bd7121b98fddce77b3ae116dee48bd6464c63
This commit is contained in:
parent
aacea51715
commit
a2bbd67e54
@ -4166,6 +4166,174 @@ class CentralServiceTest(designate.tests.TestCase):
|
|||||||
self.assertEqual(shared_zone.project_id,
|
self.assertEqual(shared_zone.project_id,
|
||||||
retrived_shared_zone.project_id)
|
retrived_shared_zone.project_id)
|
||||||
|
|
||||||
|
def test_create_managed_records(self):
|
||||||
|
zone = self.create_zone()
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
self.admin_context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
self.assertEqual(0, len(recordsets))
|
||||||
|
|
||||||
|
recordset_values = {
|
||||||
|
'zone_id': zone['id'],
|
||||||
|
'name': 'test.example.com.',
|
||||||
|
'type': 'A'
|
||||||
|
}
|
||||||
|
record_values = {
|
||||||
|
'data': '192.0.2.1',
|
||||||
|
'managed': True,
|
||||||
|
'managed_plugin_name': 'plugin',
|
||||||
|
'managed_plugin_type': 'plugin',
|
||||||
|
'managed_resource_type': 'instance',
|
||||||
|
'managed_resource_id': '521935cf-d5be-44a2-9f64-fb5a316a61d3'
|
||||||
|
}
|
||||||
|
self.central_service.create_managed_records(
|
||||||
|
self.admin_context, zone['id'],
|
||||||
|
records_values=[record_values],
|
||||||
|
recordset_values=recordset_values,
|
||||||
|
)
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
self.admin_context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
self.assertEqual(1, len(recordsets))
|
||||||
|
self.assertEqual('test.example.com.', recordsets[0].name)
|
||||||
|
self.assertEqual('A', recordsets[0].type)
|
||||||
|
|
||||||
|
def test_create_managed_records_without_managed_data(self):
|
||||||
|
zone = self.create_zone()
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
self.admin_context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
self.assertEqual(0, len(recordsets))
|
||||||
|
|
||||||
|
recordset_values = {
|
||||||
|
'zone_id': zone['id'],
|
||||||
|
'name': 'test.example.com.',
|
||||||
|
'type': 'A'
|
||||||
|
}
|
||||||
|
record_values = {
|
||||||
|
'data': '192.0.2.1',
|
||||||
|
}
|
||||||
|
self.central_service.create_managed_records(
|
||||||
|
self.admin_context, zone['id'],
|
||||||
|
records_values=[record_values],
|
||||||
|
recordset_values=recordset_values,
|
||||||
|
)
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
self.admin_context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
self.assertEqual(1, len(recordsets))
|
||||||
|
self.assertEqual('test.example.com.', recordsets[0].name)
|
||||||
|
self.assertEqual('A', recordsets[0].type)
|
||||||
|
|
||||||
|
def test_delete_managed_records(self):
|
||||||
|
context = self.get_admin_context()
|
||||||
|
zone = self.create_zone(context=context)
|
||||||
|
self.create_recordset(context=context, zone=zone)
|
||||||
|
|
||||||
|
recordset_values = {
|
||||||
|
'zone_id': zone['id'],
|
||||||
|
'name': 'test.example.com.',
|
||||||
|
'type': 'A'
|
||||||
|
}
|
||||||
|
record_values = {
|
||||||
|
'data': '192.0.2.1',
|
||||||
|
'managed': True,
|
||||||
|
'managed_plugin_name': 'plugin',
|
||||||
|
'managed_plugin_type': 'plugin',
|
||||||
|
'managed_resource_type': 'instance',
|
||||||
|
'managed_resource_id': '7c0b3445-f69d-417b-9938-82a87220332e'
|
||||||
|
}
|
||||||
|
self.central_service.create_managed_records(
|
||||||
|
context, zone['id'],
|
||||||
|
records_values=[record_values],
|
||||||
|
recordset_values=recordset_values,
|
||||||
|
)
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(2, len(recordsets))
|
||||||
|
|
||||||
|
criterion = {
|
||||||
|
'managed': True,
|
||||||
|
'managed_plugin_name': 'plugin',
|
||||||
|
'managed_plugin_type': 'plugin',
|
||||||
|
'managed_resource_id': '7c0b3445-f69d-417b-9938-82a87220332e',
|
||||||
|
'managed_resource_type': 'instance'
|
||||||
|
}
|
||||||
|
|
||||||
|
context.edit_managed_records = True
|
||||||
|
self.central_service.delete_managed_records(
|
||||||
|
context, zone['id'], criterion
|
||||||
|
)
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
self.assertEqual(1, len(recordsets))
|
||||||
|
|
||||||
|
def test_delete_managed_records_without_zone(self):
|
||||||
|
context = self.get_admin_context()
|
||||||
|
zone = self.create_zone(context=context)
|
||||||
|
self.create_recordset(context=context, zone=zone)
|
||||||
|
|
||||||
|
recordset_values = {
|
||||||
|
'zone_id': zone['id'],
|
||||||
|
'name': 'test.example.com.',
|
||||||
|
'type': 'A'
|
||||||
|
}
|
||||||
|
record_values = {
|
||||||
|
'data': '192.0.2.1',
|
||||||
|
'managed': True,
|
||||||
|
'managed_plugin_name': 'plugin',
|
||||||
|
'managed_plugin_type': 'plugin',
|
||||||
|
'managed_resource_type': 'instance',
|
||||||
|
'managed_resource_id': '7c0b3445-f69d-417b-9938-82a87220332e'
|
||||||
|
}
|
||||||
|
self.central_service.create_managed_records(
|
||||||
|
context, zone['id'],
|
||||||
|
records_values=[record_values],
|
||||||
|
recordset_values=recordset_values,
|
||||||
|
)
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(2, len(recordsets))
|
||||||
|
|
||||||
|
criterion = {
|
||||||
|
'managed': True,
|
||||||
|
'managed_plugin_name': 'plugin',
|
||||||
|
'managed_plugin_type': 'plugin',
|
||||||
|
'managed_resource_id': '7c0b3445-f69d-417b-9938-82a87220332e',
|
||||||
|
'managed_resource_type': 'instance'
|
||||||
|
}
|
||||||
|
|
||||||
|
context.edit_managed_records = True
|
||||||
|
self.central_service.delete_managed_records(
|
||||||
|
context, None, criterion
|
||||||
|
)
|
||||||
|
|
||||||
|
recordsets = self.central_service.find_recordsets(
|
||||||
|
context,
|
||||||
|
criterion={'zone_id': zone.id, 'type': 'A'}
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(1, len(recordsets))
|
||||||
|
|
||||||
def test_batch_increment_serial(self):
|
def test_batch_increment_serial(self):
|
||||||
zone = self.create_zone()
|
zone = self.create_zone()
|
||||||
zone_serial = zone.serial
|
zone_serial = zone.serial
|
||||||
|
Loading…
x
Reference in New Issue
Block a user