diff --git a/controller/northbound/server/pnd_test.go b/controller/northbound/server/pnd_test.go
index 9d5694ec575a17d5283c162240e248cc2fc7a7e5..cf6ddd0e26ce803d5ffca1672354d23ba2e0e398 100644
--- a/controller/northbound/server/pnd_test.go
+++ b/controller/northbound/server/pnd_test.go
@@ -231,6 +231,51 @@ func Test_Pnd_GetPndList(t *testing.T) {
 	}
 }
 
+func Test_Pnd_DeletePnd(t *testing.T) {
+	deleteUUID := uuid.NewString()
+
+	type args struct {
+		ctx     context.Context
+		request *ppb.DeletePndRequest
+	}
+	tests := []struct {
+		name    string
+		args    args
+		want    ppb.Status
+		wantErr bool
+	}{
+		{
+			name: "delete",
+			args: args{
+				ctx: context.Background(),
+				request: &ppb.DeletePndRequest{
+					Timestamp: time.Now().UnixNano(),
+					Pid:       deleteUUID,
+				},
+			},
+			want: ppb.Status_STATUS_OK,
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			s := getTestPndServer(t)
+			_ = s.pndService.Add(nucleus.NewPND(uuid.MustParse(deleteUUID), "toBeDeleted", "something something delete"))
+
+			resp, err := s.DeletePnd(tt.args.ctx, tt.args.request)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("pnd.GetPndList() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+
+			pnds, _ := s.pndService.GetAll()
+
+			if tt.want != resp.Status || len(pnds) != 1 {
+				t.Errorf("pnd.DeletePnd() = %v, %v, want %v, %v", resp.Status, len(pnds), tt.want, 1)
+			}
+		})
+	}
+}
+
 // func getTestPndServer(t *testing.T) *PndServer {
 // 	var err error
 // 	pndUUID, err = uuid.Parse(pndID)