diff --git a/functionaltests/api/v2/test_recordset.py b/functionaltests/api/v2/test_recordset.py index 435486ffe..0b6be8277 100644 --- a/functionaltests/api/v2/test_recordset.py +++ b/functionaltests/api/v2/test_recordset.py @@ -44,25 +44,25 @@ RECORDSETS_DATASET = { } WILDCARD_RECORDSETS_DATASET = { - 'wildcard_A': dict(make_recordset=lambda z: + 'A': dict(make_recordset=lambda z: datagen.random_a_recordset(zone_name=z.name, name="*.{0}".format(z.name))), - 'wildcard_AAAA': dict(make_recordset=lambda z: + 'AAAA': dict(make_recordset=lambda z: datagen.random_aaaa_recordset(zone_name=z.name, name="*.{0}".format(z.name))), - 'wildcard_CNAME': dict(make_recordset=lambda z: + 'CNAME': dict(make_recordset=lambda z: datagen.random_cname_recordset(zone_name=z.name, name="*.{0}".format(z.name))), - 'wildcard_MX': dict(make_recordset=lambda z: + 'MX': dict(make_recordset=lambda z: datagen.random_mx_recordset(zone_name=z.name, name="*.{0}".format(z.name))), - 'wildcard_SPF': dict(make_recordset=lambda z: + 'SPF': dict(make_recordset=lambda z: datagen.random_spf_recordset(zone_name=z.name, name="*.{0}".format(z.name))), - 'wildcard_SSHFP': dict(make_recordset=lambda z: + 'SSHFP': dict(make_recordset=lambda z: datagen.random_sshfp_recordset(zone_name=z.name, name="*.{0}".format(z.name))), - 'wildcard_TXT': dict(make_recordset=lambda z: + 'TXT': dict(make_recordset=lambda z: datagen.random_txt_recordset(zone_name=z.name, name="*.{0}".format(z.name))), } @@ -106,9 +106,7 @@ class RecordsetTest(DesignateV2Test): self.assertEqual(model_data, data) - @utils.parameterized( - dict(RECORDSETS_DATASET.items() + WILDCARD_RECORDSETS_DATASET.items()) - ) + @utils.parameterized(RECORDSETS_DATASET) def test_crud_recordset(self, make_recordset): post_model = make_recordset(self.zone) @@ -183,6 +181,27 @@ class RecordsetTest(DesignateV2Test): exceptions.BadRequest, 'invalid_object', 400, client.put_recordset, self.zone.id, recordset_id, model) + @utils.parameterized(WILDCARD_RECORDSETS_DATASET) + def test_can_create_and_query_wildcard_recordset(self, make_recordset): + client = RecordsetClient.as_user('default') + post_model = make_recordset(self.zone) + + resp, post_resp_model = client.post_recordset(self.zone.id, post_model) + self.assertEqual(resp.status, 202) + + recordset_id = post_resp_model.id + client.wait_for_recordset(self.zone.id, recordset_id) + + verify_models = [ + post_model.from_dict(post_model.to_dict()) for x in range(3) + ] + verify_models[0].name = "abc.{0}".format(self.zone.name) + verify_models[1].name = "abc.def.{0}".format(self.zone.name) + verify_models[2].name = "abc.def.hij.{0}".format(self.zone.name) + + for m in verify_models: + self.assert_dns(m) + class RecordsetOwnershipTest(DesignateV2Test):