Towards a1 1.0.0: rmr improvements
[ric-plt/a1.git] / integration_tests / receiver.py
index 0dc5e4a..d73dcd9 100644 (file)
@@ -27,16 +27,15 @@ PORT = os.environ.get("TEST_RCV_PORT", "4560")
 DELAY = int(os.environ.get("TEST_RCV_SEC_DELAY", 0))
 HANDLER_ID = os.environ.get("HANDLER_ID", "test_receiver")
 
-# TODO: should these be made constants?
-mrc = rmr.rmr_init(PORT.encode("utf-8"), rmr.RMR_MAX_RCV_BYTES, 0x00)
+mrc = rmr.rmr_init(PORT.encode("utf-8"), rmr.RMR_MAX_RCV_BYTES, rmr.RMRFL_MTCALL)
 
 while rmr.rmr_ready(mrc) == 0:
     time.sleep(1)
     print("not yet ready")
 
 print("listening ON {}".format(PORT))
-sbuf = None
 while True:
+    sbuf = rmr.rmr_alloc_msg(mrc, 4096)
     sbuf = rmr.rmr_torcv_msg(mrc, sbuf, 1000)
     summary = rmr.message_summary(sbuf)
     if summary["message state"] == 12 and summary["message status"] == "RMR_ERR_TIMEOUT":
@@ -47,11 +46,18 @@ while True:
 
         received_payload = json.loads(summary["payload"])
 
+        op = received_payload["operation"]
+        send_payload_status = "ERROR"
+        if op == "CREATE":
+            send_payload_status = "OK"
+        elif op == "DELETE":
+            send_payload_status = "DELETED"
+
         payload = {
             "policy_type_id": received_payload["policy_type_id"],
             "policy_instance_id": received_payload["policy_instance_id"],
             "handler_id": HANDLER_ID,
-            "status": "OK",
+            "status": send_payload_status,
         }
 
         val = json.dumps(payload).encode("utf-8")