"a1.policy_type.20000",
"a1.policy_inst_metadata.1006001.qos",
}, nil)
- RMRclient = new(RMRClientMock)
+ rmrSenderInst = new(RmrSenderMock)
a1.Init()
- rh = createResthook(sdlInst, RMRclient)
+ rh = createResthook(sdlInst, rmrSenderInst)
code := m.Run()
os.Exit(code)
}
+func TestHealth(t *testing.T) {
+ resp := rh.GetA1Health()
+ if resp == true {
+ a1.Logger.Debug("A1 is healthy ")
+ assert.Equal(t, true, resp)
+ } else {
+ a1.Logger.Debug("A1 is unhealthy")
+ assert.Equal(t, false, resp)
+ }
+}
+
func TestGetAllPolicyType(t *testing.T) {
resp := rh.GetAllPolicyType()
assert.Equal(t, 2, len(resp))
a1.Logger.Debug("metadatainstancekey : %+v", metadatainstancekey)
metadatainstancearr := []interface{}{metadatainstancekey, string(metadata)}
sdlInst.On("Set", "A1m_ns", metadatainstancearr).Return(nil)
- rmrSenderInst.On("RmrSendToXapp", "httpBodyString").Return(true)
+ rmrSenderInst.On("RmrSendToXapp", "httpBodyString", 20010).Return(true)
errresp := rh.CreatePolicyInstance(policyTypeId, policyInstanceID, instancedata)
httpBodyString := `{"operation":"DELETE","payload":"","policy_instance_id":"123456","policy_type_id":"20001"}`
- rmrSenderInst.On("RmrSendToXapp", httpBodyString).Return(true)
+ rmrSenderInst.On("RmrSendToXapp", httpBodyString, 20010).Return(true)
errresp := rh.DeletePolicyInstance(policyTypeId, policyInstanceID)
assert.Nil(t, errresp)
sdlInst.AssertExpectations(t)
}
+func TestDataDelivery(t *testing.T) {
+
+ httpBody := `{
+ "job":"1",
+ "payload":"payload"
+ }
+ `
+ var instancedata interface{}
+
+ json.Unmarshal([]byte(httpBody), &instancedata)
+ a1.Logger.Debug("Marshaled data : %+v", (instancedata))
+ httpBodyString := `{"ei_job_id":"1","payload":"payload"}`
+ rmrSenderInst.On("RmrSendToXapp", httpBodyString, 20017).Return(true)
+ errresp := rh.DataDelivery(instancedata)
+
+ assert.Nil(t, errresp)
+ sdlInst.AssertExpectations(t)
+}
type SdlMock struct {
mock.Mock
return args.Bool(0), args.Error(1)
}
-func (rmr *RmrSenderMock) RmrSendToXapp(httpBodyString string) bool {
- args := rmr.MethodCalled("RmrSendToXapp", httpBodyString)
- return args.Bool(0)
+func (rmr *RmrSenderMock) RmrSendToXapp(httpBodyString string, mtype int) bool {
+ if httpBodyString == `{"blocking_rate":20,"enforce":true,"trigger_threshold":10,"window_length":20}` {
+ args := rmr.MethodCalled("RmrSendToXapp", httpBodyString, mtype)
+ return args.Bool(0)
+ } else if httpBodyString == `{"ei_job_id":"1","payload":"payload"}` {
+ args := rmr.MethodCalled("RmrSendToXapp", httpBodyString, mtype)
+ return args.Bool(0)
+ }
+ return true
}
func (s *SdlMock) Remove(ns string, keys []string) error {