Browse Source

Test deletion of links via the web interface

Getty Ritter 4 years ago
parent
commit
745205f60d
1 changed files with 39 additions and 0 deletions
  1. 39 0
      tests/routes.py

+ 39 - 0
tests/routes.py

@@ -105,3 +105,42 @@ class TestRoutes:
             headers={"Authorization": f"Bearer {token}"},
         )
         assert result.status == "403 FORBIDDEN"
+
+    def test_successful_api_delete_link(self):
+        password = "foo"
+        u = self.mk_user(password=password)
+        result = self.app.post("/auth", json={"name": u.name, "password": password})
+        assert result.status == "200 OK"
+        token = result.json["token"]
+
+        sample_url = "http://example.com/"
+        result = self.app.post(
+            f"/u/{u.name}/l",
+            json={
+                "url": sample_url,
+                "name": "Example Dot Com",
+                "description": "Some Description",
+                "private": False,
+                "tags": ["website"],
+            },
+        )
+        link_id = result.json["id"]
+
+        # this should be fine
+        check_link = self.app.get(
+            f"/u/{u.name}/l/{link_id}", headers={"Content-Type": "application/json"},
+        )
+        assert check_link.status == "200 OK"
+        assert check_link.json["url"] == sample_url
+
+        # delete the link
+        delete_link = self.app.delete(
+            f"/u/{u.name}/l/{link_id}", headers={"Authorization": f"Bearer {token}"},
+        )
+        assert delete_link.status == "200 OK"
+
+        # make sure it is gone
+        bad_result = self.app.get(
+            f"/u/{u.name}/l/{link_id}", headers={"Content-Type": "application/json"},
+        )
+        assert bad_result.status == "404 NOT FOUND"