+import pytest
+
+
 def update_pdp(pdp_id, value):
     from python_moondb.core import PDPManager
     return PDPManager.update_pdp("", pdp_id, value)
     assert pdp
 
 
+def test_update_pdp_with_invalid_id(db):
+    pdp_id = "pdp_id1"
+    value = {
+        "name": "test_pdp",
+        "security_pipeline": ["policy_id_1", "policy_id_2"],
+        "keystone_project_id": "keystone_project_id1",
+        "description": "...",
+    }
+    with pytest.raises(Exception) as exception_info:
+        update_pdp(pdp_id, value)
+    assert str(exception_info.value) == '400: Pdp Unknown'
+
+
 def test_delete_pdp(db):
     pdp_id = "pdp_id1"
     value = {
     assert len(get_pdp(pdp_id)) == 0
 
 
+def test_delete_pdp_with_invalid_id(db):
+    pdp_id = "pdp_id1"
+    with pytest.raises(Exception) as exception_info:
+        delete_pdp(pdp_id)
+    assert str(exception_info.value) == '400: Pdp Unknown'
+
+
 def test_add_pdp(db):
     pdp_id = "pdp_id1"
     value = {
     assert pdp
 
 
+def test_add_pdp_twice_with_same_id(db):
+    pdp_id = "pdp_id1"
+    value = {
+        "name": "test_pdp",
+        "security_pipeline": ["policy_id_1", "policy_id_2"],
+        "keystone_project_id": "keystone_project_id1",
+        "description": "...",
+    }
+    add_pdp(pdp_id, value)
+    with pytest.raises(Exception) as exception_info:
+        add_pdp(pdp_id, value)
+    assert str(exception_info.value) == '409: Pdp Error'
+
+
 def test_get_pdp(db):
     pdp_id = "pdp_id1"
     value = {
     add_pdp(pdp_id, value)
     pdp = get_pdp(pdp_id)
     assert len(pdp) == 1
+
+
+def test_get_pdp_with_invalid_id(db):
+    pdp_id = "invalid"
+    pdp = get_pdp(pdp_id)
+    assert len(pdp) == 0