[VOL-3107] Add DeleteGroup API to OpenOLT Agent

- DeleteGroup proto API method implemented.
- Unit tests added.

Change-Id: If196a92f7a717fc4cc6c2f0e0bb6ca74fc3683d2
diff --git a/agent/common/core.h b/agent/common/core.h
index f4a440e..c68fdf3 100644
--- a/agent/common/core.h
+++ b/agent/common/core.h
@@ -229,6 +229,7 @@
 Status CreateTrafficQueues_(const tech_profile::TrafficQueues *traffic_queues);
 Status RemoveTrafficQueues_(const tech_profile::TrafficQueues *traffic_queues);
 Status PerformGroupOperation_(const openolt::Group *group_cfg);
+Status DeleteGroup_(uint32_t group_id);
 Status OnuItuPonAlarmSet_(const openolt::OnuItuPonAlarm* request);
 uint32_t GetPortNum_(uint32_t flow_id);
 int get_status_bcm_cli_quit(void);
diff --git a/agent/common/server.cc b/agent/common/server.cc
index 17b804e..baeb590 100644
--- a/agent/common/server.cc
+++ b/agent/common/server.cc
@@ -309,6 +309,13 @@
         return PerformGroupOperation_(request);
     };
 
+    Status DeleteGroup(
+            ServerContext* context,
+            const openolt::Group* request,
+            openolt::Empty* response) override {
+        return DeleteGroup_(request->group_id());
+    };
+
     Status OnuItuPonAlarmSet(
             ServerContext* context,
             const openolt::OnuItuPonAlarm* request,