Пример #1
0
 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="******"))
Пример #2
0
 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))
Пример #3
0
 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))
Пример #4
0
 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='******'))
Пример #5
0
    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)
        )
Пример #6
0
 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='******'))
Пример #7
0
    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)
Пример #9
0
    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)
Пример #10
0
 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='******'))
Пример #11
0
    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(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 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')
Пример #16
0
    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)
Пример #17
0
 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())
Пример #18
0
 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))
Пример #19
0
 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))
Пример #20
0
    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))
Пример #21
0
    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))
Пример #22
0
    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))
Пример #23
0
    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))
Пример #24
0
    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)
        )
Пример #25
0
    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)
Пример #26
0
    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)
Пример #27
0
    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))
Пример #28
0
 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))
Пример #29
0
 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)
Пример #30
0
 def test_update_existing_zone(self):
     self.assertRaises(exceptions.Unauthorized, self.client.patch_zone,
                       self.fixture.created_zone.id,
                       datagen.random_zone_data())
Пример #31
0
 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='******'))
Пример #32
0
 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)
Пример #33
0
 def test_create_zone(self):
     self._create_zone(datagen.random_zone_data(), user='******')
Пример #34
0
 def test_create_zone(self):
     self._create_zone(datagen.random_zone_data(), user='******')
Пример #35
0
 def __init__(self, post_model=None, user='******'):
     super(ZoneFixture, self).__init__()
     self.post_model = post_model or datagen.random_zone_data()
     self.user = user
Пример #36
0
 def test_update_fake_zone(self):
     self.assertRaises(
         exceptions.Unauthorized, self.client.patch_zone, 'junk',
         datagen.random_zone_data())
Пример #37
0
 def test_create_zone(self):
     self.assertRaises(
         exceptions.Unauthorized, self.client.post_zone,
         datagen.random_zone_data())
Пример #38
0
 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)
Пример #39
0
 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)
Пример #40
0
 def test_create_zone(self):
     self._create_zone(datagen.random_zone_data())
Пример #41
0
 def test_create_zone(self):
     self._create_zone(datagen.random_zone_data())
Пример #42
0
 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)
Пример #43
0
 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)
Пример #44
0
 def __init__(self, post_model=None, user='******'):
     super(ZoneFixture, self).__init__()
     self.post_model = post_model or datagen.random_zone_data()
     self.user = user
Пример #45
0
 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)
Пример #46
0
 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='******'))
Пример #47
0
 def test_create_zone(self):
     self.assertRaises(exceptions.Unauthorized, self.client.post_zone,
                       datagen.random_zone_data())
Пример #48
0
 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)
Пример #49
0
 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))
Пример #50
0
 def test_update_fake_zone(self):
     self.assertRaises(exceptions.Unauthorized, self.client.patch_zone,
                       'junk', datagen.random_zone_data())