def test_no_create_subdomain_by_alt_user(self): zone = datagen.random_zone_data() subzone = datagen.random_zone_data(name="sub." + zone.name) subsubzone = datagen.random_zone_data(name="sub.sub." + zone.name) self._create_zone(zone, user="******") self.assertRaises(Forbidden, lambda: self._create_zone(subzone, user="******")) self.assertRaises(Forbidden, lambda: self._create_zone(subsubzone, user="******"))
def test_no_create_subdomain_by_alt_user(self): zone = self.useFixture(ZoneFixture(user='******')).post_model subzone = datagen.random_zone_data(name='sub.' + zone.name) subsubzone = datagen.random_zone_data(name='sub.sub.' + zone.name) self.assertRaises(Forbidden, lambda: ZoneClient.as_user('alt').post_zone(subzone)) self.assertRaises( Forbidden, lambda: ZoneClient.as_user('alt').post_zone(subsubzone))
def test_no_create_subdomain_by_alt_user(self): zone = self.useFixture(ZoneFixture(user='******')).post_model subzone = datagen.random_zone_data(name='sub.' + zone.name) subsubzone = datagen.random_zone_data(name='sub.sub.' + zone.name) self.assertRaises(Forbidden, lambda: ZoneClient.as_user('alt').post_zone(subzone)) self.assertRaises(Forbidden, lambda: ZoneClient.as_user('alt').post_zone(subsubzone))
def test_no_create_subdomain_by_alt_user(self): zone = datagen.random_zone_data() subzone = datagen.random_zone_data(name='sub.' + zone.name) subsubzone = datagen.random_zone_data(name='sub.sub.' + zone.name) self._create_zone(zone, user='******') self.assertRaises(Forbidden, lambda: self._create_zone(subzone, user='******')) self.assertRaises(Forbidden, lambda: self._create_zone(subsubzone, user='******'))
def test_no_create_recordset_via_alt_domain(self): resp, zone = ZoneClient.as_user("default").post_zone(datagen.random_zone_data()) resp, alt_zone = ZoneClient.as_user("alt").post_zone(datagen.random_zone_data()) # alt attempts to create record with name A12345.{zone} recordset = datagen.random_a_recordset(zone_name=zone.name) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user("alt").post_recordset(zone.id, recordset) ) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user("alt").post_recordset(alt_zone.id, recordset) )
def test_no_create_duplicate_domain(self): zone = datagen.random_zone_data() self._create_zone(zone, user='******') self.assertRaises(Conflict, lambda: self._create_zone(zone, user='******')) self.assertRaises(Conflict, lambda: self._create_zone(zone, user='******'))
def test_import_domain(self): user = '******' resp, zone = ZoneClient.as_user(user).post_zone( datagen.random_zone_data()) ZoneClient.as_user(user).wait_for_zone(zone.id) export_client = ZoneExportClient.as_user(user) resp, model = export_client.post_zone_export(zone.id) export_id = model.id self.assertEqual(resp.status, 202) self.assertEqual(model.status, 'PENDING') export_client.wait_for_zone_export(export_id) resp, model = export_client.get_zone_export(export_id) self.assertEqual(resp.status, 200) self.assertEqual(model.status, 'COMPLETE') resp, body = export_client.get_exported_zone(export_id) self.assertEqual(resp.status, 200) export_client.delete_zone_export(export_id) self.assertRaises(NotFound, lambda: export_client.get_zone_export(model.id))
def setUp(self): super(RecordsetTest, self).setUp() self.increase_quotas(user='******') resp, self.zone = ZoneClient.as_user('default').post_zone( datagen.random_zone_data()) ZoneClient.as_user('default').wait_for_zone(self.zone.id) self.client = RecordsetClient.as_user('default', with_token=False)
def test_update_zone(self): post_model = datagen.random_zone_data() resp, old_model = self._create_zone(post_model) patch_model = datagen.random_zone_data() del patch_model.name # don't try to override the zone name resp, new_model = ZoneClient.as_user("default").patch_zone(old_model.id, patch_model) self.assertEqual(resp.status, 202) ZoneClient.as_user("default").wait_for_zone(new_model.id) resp, model = ZoneClient.as_user("default").get_zone(new_model.id) self.assertEqual(resp.status, 200) self.assertEqual(new_model.id, old_model.id) self.assertEqual(new_model.name, old_model.name) self.assertEqual(new_model.ttl, patch_model.ttl) self.assertEqual(new_model.email, patch_model.email)
def test_no_create_recordset_via_alt_domain(self): resp, zone = ZoneClient.as_user('default').post_zone( datagen.random_zone_data()) resp, alt_zone = ZoneClient.as_user('alt').post_zone( datagen.random_zone_data()) # alt attempts to create record with name A12345.{zone} recordset = datagen.random_a_recordset(zone_name=zone.name) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user('alt').post_recordset( zone.id, recordset)) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user('alt').post_recordset( alt_zone.id, recordset))
def setUp(self): super(TransferZoneOwnerShipTest, self).setUp() self.increase_quotas(user='******') self.increase_quotas(user='******') resp, self.zone = ZoneClient.as_user('default').post_zone( datagen.random_zone_data()) ZoneClient.as_user('default').wait_for_zone(self.zone.id)
def setUp(self): super(RecordsetFuzzTest, self).setUp() # self.increase_quotas(user='******') resp, self.zone = ZoneClient.as_user('default').post_zone( datagen.random_zone_data()) # ZoneClient.as_user('default').wait_for_zone(self.zone.id) self.client = RecordsetClient.as_user('default')
def test_update_zone(self): post_model = datagen.random_zone_data() resp, old_model = self._create_zone(post_model) patch_model = datagen.random_zone_data() del patch_model.zone.name # don't try to override the zone name resp, new_model = self.client.patch_zone(old_model.zone.id, patch_model) self.assertEqual(resp.status, 202) self.wait_for_zone(new_model.zone.id) resp, model = self.client.get_zone(new_model.zone.id) self.assertEqual(resp.status, 200) self.assertEqual(new_model.zone.id, old_model.zone.id) self.assertEqual(new_model.zone.name, old_model.zone.name) self.assertEqual(new_model.zone.ttl, patch_model.zone.ttl) self.assertEqual(new_model.zone.email, patch_model.zone.email)
def test_update_existing_zone(self): """ resp, self.zone = self.authed_client.post_zone( datagen.random_zone_data()) """ self.assertRaises( exceptions.Unauthorized, self.client.patch_zone, self.fixture.created_zone.id, datagen.random_zone_data())
def test_get_zone_fuzz_header(self, fuzz_type, payload): if isinstance(payload, string_types): payload = quote_plus(payload.encode('utf-8')) test_resp, test_model = self._create_zone( datagen.random_zone_data()) headers = {"Accept": payload} result = fuzzer.verify_tempest_exception( self.client.get_zone, fuzz_type, test_model.id, headers=headers) self.assertTrue(result['status']) self.assertNotIn(result['resp'].status, range(500, 600))
def test_fuzzed_zone_header(self, parameter, fuzz_type, payload): model = datagen.random_zone_data() headers = { 'content-type': 'application/json', 'accept': '' } headers[parameter] = payload.encode('utf-8') result = fuzzer.verify_tempest_exception( self.client.post_zone, fuzz_type, model, headers=headers) self.assertTrue(result['status']) self.assertNotIn(result['resp'].status, range(500, 600))
def test_no_create_super_recordsets(self): # default creates zone a.b.c.example.com. # alt fails to create record with name b.c.example.com zone_data = datagen.random_zone_data() recordset = datagen.random_a_recordset(zone_name=zone_data.name) recordset.name = 'b.c.' + zone_data.name zone_data.name = 'a.b.c.' + zone_data.name fixture = self.useFixture(ZoneFixture(zone_data, user='******')) self.assertRaises(exceptions.RestClientException, lambda: RecordsetClient.as_user('alt') .post_recordset(fixture.created_zone.id, recordset))
def test_no_create_super_recordsets(self): # default creates zone a.b.c.example.com. # alt fails to create record with name b.c.example.com zone_data = datagen.random_zone_data() recordset = datagen.random_a_recordset(zone_name=zone_data.name) recordset.name = 'b.c.' + zone_data.name zone_data.name = 'a.b.c.' + zone_data.name resp, zone = ZoneClient.as_user('default').post_zone(zone_data) self.assertRaises(exceptions.RestClientException, lambda: RecordsetClient.as_user('alt') .post_recordset(zone.id, recordset))
def test_no_create_super_recordsets(self): # default creates zone a.b.c.example.com. # alt fails to create record with name b.c.example.com zone_data = datagen.random_zone_data() recordset = datagen.random_a_recordset(zone_name=zone_data.name) recordset.name = 'b.c.' + zone_data.name zone_data.name = 'a.b.c.' + zone_data.name resp, zone = ZoneClient.as_user('default').post_zone(zone_data) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user('alt').post_recordset( zone.id, recordset))
def test_update_zone_fuzz_param(self, parameter, fuzz_type, payload): if isinstance(payload, string_types): payload = quote_plus(payload.encode('utf-8')) resp, old_model = self._create_zone(datagen.random_zone_data()) patch_model = old_model if parameter == 'masters': old_model.__dict__[parameter] = [payload] else: old_model.__dict__[parameter] = payload result = fuzzer.verify_tempest_exception( self.client.patch_zone, fuzz_type, old_model.id, patch_model) self.assertTrue(result['status']) self.assertNotIn(result['resp'].status, range(500, 600))
def test_no_create_recordset_by_alt_tenant(self): resp, zone = ZoneClient.as_user("default").post_zone(datagen.random_zone_data()) # try with name=A123456.zone.com. recordset = datagen.random_a_recordset(zone_name=zone.name) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user("alt").post_recordset(zone.id, recordset) ) # try with name=zone.com. recordset.name = zone.name self.assertRaises( RestClientException, lambda: RecordsetClient.as_user("alt").post_recordset(zone.id, recordset) )
def test_update_zone(self): old_model = self.fixture.created_zone patch_model = datagen.random_zone_data() del patch_model.name # don't try to override the zone name resp, new_model = ZoneClient.as_user('default').patch_zone( old_model.id, patch_model) self.assertEqual(202, resp.status) ZoneClient.as_user('default').wait_for_zone(new_model.id) resp, model = ZoneClient.as_user('default').get_zone(new_model.id) self.assertEqual(200, resp.status) self.assertEqual(old_model.id, new_model.id) self.assertEqual(old_model.name, new_model.name) self.assertEqual(patch_model.ttl, new_model.ttl) self.assertEqual(patch_model.email, new_model.email)
def test_no_create_recordset_by_alt_tenant(self): resp, zone = ZoneClient.as_user('default').post_zone( datagen.random_zone_data()) # try with name=A123456.zone.com. recordset = datagen.random_a_recordset(zone_name=zone.name) self.assertRaises( RestClientException, lambda: RecordsetClient.as_user('alt').post_recordset( zone.id, recordset)) # try with name=zone.com. recordset.name = zone.name self.assertRaises( RestClientException, lambda: RecordsetClient.as_user('alt').post_recordset( zone.id, recordset))
def test_no_create_superdomain_by_alt_user(self): superzone = datagen.random_zone_data() zone = datagen.random_zone_data(name="a.b." + superzone.name) self.useFixture(ZoneFixture(zone, user='******')) self.assertRaises( Forbidden, lambda: ZoneClient.as_user('alt').post_zone(superzone))
def test_delete_zone(self): resp, model = self._create_zone(datagen.random_zone_data()) resp, model = ZoneClient.as_user('default').delete_zone(model.id) self.assertEqual(resp.status, 202) ZoneClient.as_user('default').wait_for_zone_404(model.id)
def test_update_existing_zone(self): self.assertRaises(exceptions.Unauthorized, self.client.patch_zone, self.fixture.created_zone.id, datagen.random_zone_data())
def test_no_create_superdomain_by_alt_user(self): superzone = datagen.random_zone_data() zone = datagen.random_zone_data(name="a.b." + superzone.name) self._create_zone(zone, user='******') self.assertRaises(Forbidden, lambda: self._create_zone(superzone, user='******'))
def test_list_zones(self): self._create_zone(datagen.random_zone_data()) resp, model = self.zone_client.list_zones() self.assertEqual(resp.status, 200) self.assertGreater(len(model.zones), 0)
def test_create_zone(self): self._create_zone(datagen.random_zone_data(), user='******')
def __init__(self, post_model=None, user='******'): super(ZoneFixture, self).__init__() self.post_model = post_model or datagen.random_zone_data() self.user = user
def test_update_fake_zone(self): self.assertRaises( exceptions.Unauthorized, self.client.patch_zone, 'junk', datagen.random_zone_data())
def test_create_zone(self): self.assertRaises( exceptions.Unauthorized, self.client.post_zone, datagen.random_zone_data())
def test_list_zones(self): self._create_zone(datagen.random_zone_data()) resp, model = self.client.list_zones() self.assertEqual(resp.status, 200) self.assertGreater(len(model.zones), 0)
def test_create_zone(self): self._create_zone(datagen.random_zone_data())
def test_delete_zone(self): resp, model = self._create_zone(datagen.random_zone_data()) resp, model = self.zone_client.delete_zone(model.id) self.assertEqual(resp.status, 202) self.wait_for_zone_404(model.id)
def test_delete_zone(self): resp, model = self._create_zone(datagen.random_zone_data()) resp, model = self.client.delete_zone(model.zone.id) self.assertEqual(resp.status, 202) self.wait_for_404(model.zone.id)
def setUp(self): super(RecordsetTest, self).setUp() self.increase_quotas(user="******") resp, self.zone = ZoneClient.as_user("default").post_zone(datagen.random_zone_data()) ZoneClient.as_user("default").wait_for_zone(self.zone.id)
def test_create_zone(self): self.assertRaises(exceptions.Unauthorized, self.client.post_zone, datagen.random_zone_data())
def setUp(self): super(RecordsetTest, self).setUp() self.increase_quotas() resp, self.zone = self.zone_client.post_zone( datagen.random_zone_data()) self.wait_for_zone(self.zone.id)
def test_no_create_superdomain_by_alt_user(self): superzone = datagen.random_zone_data() zone = datagen.random_zone_data(name="a.b." + superzone.name) self.useFixture(ZoneFixture(zone, user='******')) self.assertRaises(Forbidden, lambda: ZoneClient.as_user('alt').post_zone(superzone))
def test_update_fake_zone(self): self.assertRaises(exceptions.Unauthorized, self.client.patch_zone, 'junk', datagen.random_zone_data())