Skip to content

Commit 93dd8de

Browse files
Domain.clone() returns a new Domain object (#286)
## πŸ“ Description `Domain.clone()` returns a new `Domain` object. ## βœ”οΈ How to Test `pytest test` Ticket: TPT-2019
1 parent 1fe8c7b commit 93dd8de

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

β€Žlinode_api4/objects/domain.pyβ€Ž

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,12 @@ def clone(self, domain: str):
128128
"""
129129
params = {"domain": domain}
130130

131-
self._client.post(
131+
result = self._client.post(
132132
"{}/clone".format(self.api_endpoint), model=self, data=params
133133
)
134134

135+
return Domain(self, result["id"], result)
136+
135137
def domain_import(self, domain, remote_nameserver):
136138
"""
137139
Imports a domain zone from a remote nameserver. Your nameserver must

β€Žtest/fixtures/domains_12345_clone.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"domain": "example.org",
55
"expire_sec": 300,
66
"group": null,
7-
"id": 1234,
7+
"id": 12345,
88
"master_ips": [],
99
"refresh_sec": 300,
1010
"retry_sec": 300,

β€Žtest/objects/domain_test.pyβ€Ž

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ def test_clone(self):
3535
domain = Domain(self.client, 12345)
3636

3737
with self.mock_post("/domains/12345/clone") as m:
38-
domain.clone("example.org")
38+
clone = domain.clone("example.org")
3939
self.assertEqual(m.call_url, "/domains/12345/clone")
4040
self.assertEqual(m.call_data["domain"], "example.org")
41+
self.assertEqual(clone.id, 12345)
4142

4243
def test_import(self):
4344
domain = Domain(self.client, 12345)

0 commit comments

Comments
Β (0)