UT-Part 6 with overall coverage upto 45%

Change-Id: I4960bae8429ae34d88a2f98f288f72d582f9e788
diff --git a/internal/pkg/application/application.go b/internal/pkg/application/application.go
index 3ddb29c..51c13ea 100644
--- a/internal/pkg/application/application.go
+++ b/internal/pkg/application/application.go
@@ -37,6 +37,7 @@
 	"voltha-go-controller/internal/pkg/intf"
 	"voltha-go-controller/internal/pkg/of"
 	"voltha-go-controller/internal/pkg/tasks"
+	common "voltha-go-controller/internal/pkg/types"
 	"voltha-go-controller/internal/pkg/util"
 	"voltha-go-controller/log"
 )
@@ -216,6 +217,11 @@
 	NniDhcpTrapVid               of.VlanType
 	GlobalDhcpFlowAdded          bool
 	icmpv6GroupAdded             bool
+	VoltDeviceIntr               VoltDevInterface
+}
+
+type VoltDevInterface interface {
+	GetPortNameFromPortID(portID uint32) string
 }
 
 // NewVoltDevice : Constructor for the device
@@ -399,6 +405,33 @@
 // The declaration of the singleton object
 var vapplication *VoltApplication
 
+type VoltAppInterface interface {
+	AddVnet(cntx context.Context, cfg VnetConfig, oper *VnetOper) error
+	AddService(cntx context.Context, cfg VoltServiceCfg, oper *VoltServiceOper) error
+	AddDeviceConfig(cntx context.Context, serialNum, hardwareIdentifier, nasID, ipAddress, uplinkPort string, nniDhcpTrapID int) error
+	GetFlowProvisionStatus(portNo string) FlowProvisionStatus
+	DelServiceWithPrefix(cntx context.Context, prefix string) error
+	GetDevice(device string) *VoltDevice
+	GetTaskList(device string) map[int]*TaskInfo
+	AddMeterProf(cntx context.Context, cfg VoltMeter)
+	AddMvlanProfile(cntx context.Context, name string, mvlan of.VlanType, ponVlan of.VlanType, groups map[string][]string, isChannelBasedGroup bool, OLTSerialNum []string, activeChannelsPerPon int, proxy map[string]common.MulticastGroupProxy) error
+	DelMvlanProfile(cntx context.Context, name string) error
+	GetMvlanProfileByTag(vlan of.VlanType) *MvlanProfile
+	AddMcastConfig(cntx context.Context, MvlanProfileID string, IgmpProfileID string, IgmpProxyIP string, OltSerialNum string) error
+	DelMeterProf(cntx context.Context, name string) error
+	GetMeterByName(name string) (*VoltMeter, bool)
+	UpdateDeviceConfig(cntx context.Context, deviceConfig *DeviceConfig)
+	GetDeviceConfig(serNum string) *DeviceConfig
+	GetAllocations(cntx context.Context, deviceID string) ([]DhcpAllocation, error)
+	GetAllMacLearnerInfo() ([]MacLearnerInfo, error)
+	GetMacLearnerInfo(cntx context.Context, deviceID, portNumber, vlanID string) (MacLearnerInfo, error)
+	ActivateService(cntx context.Context, deviceID, portNo string, sVlan, cVlan of.VlanType, tpID uint16) error
+	DeactivateService(cntx context.Context, deviceID, portNo string, sVlan, cVlan of.VlanType, tpID uint16) error
+	GetProgrammedSubscribers(cntx context.Context, deviceID, portNo string) ([]*VoltService, error)
+	UpdateOltFlowService(cntx context.Context, oltFlowService OltFlowService)
+	GetIgnoredPorts() (map[string][]string, error)
+}
+
 // VoltApplication fields :
 // ServiceByName - Stores the services by the name as key
 // A record of NB configuration.
@@ -669,6 +702,7 @@
 	go va.Start(context.Background(), TimerCfg{tick: time.Duration(GroupExpiryTime) * time.Minute}, pendingPoolTimer)
 	InitEventFuncMapper()
 	db = database.GetDatabase()
+
 	return &va
 }