diff --git a/.gitreview b/.gitreview
index 2959281..b940c88 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,4 +1,5 @@
 [gerrit]
-host=review.openstack.org
+host=gerrit.mcp.mirantis.com
 port=29418
-project=openstack/designate-tempest-plugin.git
+project=packaging/sources/designate-tempest-plugin.git
+defaultbranch=mcp/stein
diff --git a/designate_tempest_plugin/tests/api/v2/test_tld.py b/designate_tempest_plugin/tests/api/v2/test_tld.py
index 380d224..36e7b72 100644
--- a/designate_tempest_plugin/tests/api/v2/test_tld.py
+++ b/designate_tempest_plugin/tests/api/v2/test_tld.py
@@ -40,12 +40,6 @@
         super(TldAdminTest, cls).setup_clients()
         cls.admin_client = cls.os_admin.tld_client
 
-    @classmethod
-    def resource_setup(cls):
-        super(TldAdminTest, cls).resource_setup()
-        cls.tld = cls.admin_client.create_tld(tld_name='com',
-                      ignore_errors=lib_exc.Conflict)
-
     @decorators.idempotent_id('52a4bb4b-4eff-4591-9dd3-ad98316806c3')
     def test_create_tld(self):
         tld_data = {
@@ -91,10 +85,20 @@
 
     @decorators.idempotent_id('95b13759-c85c-4791-829b-9591ca15779d')
     def test_list_tlds(self):
+        tld_data = {
+            "name": "org",
+            "description": "sample tld"}
+
+        LOG.info('Create a tld')
+        _, tld = self.admin_client.create_tld(tld_data['name'],
+                                              tld_data['description'])
+        self.addCleanup(self.admin_client.delete_tld, tld['id'])
+
         LOG.info('List tlds')
         _, body = self.admin_client.list_tlds()
 
         self.assertGreater(len(body['tlds']), 0)
+        self.assertIn(tld['id'], [item['id'] for item in body['tlds']])
 
     @decorators.idempotent_id('1a233812-48d9-4d15-af5e-9961744286ff')
     def test_update_tld(self):
