Yes sandflee. I was also trying to mention the same, sorry for lack of clarity earlier. Two node heartbeats caused the issue. And as you suggested, we can remove the first one from test case, as its been invoked from launchAM internally also.
I am not seeing any point in sending heartbeat explicitly from test case. As Rohith Sharma K S and me explained in
YARN-4478 summary, we have seen many cases where contributers used apis from MockRM without knowing nodeHeartBeat is sent internally. And this is good example for same.