BARACK Obama has praised John McCain calling the Republican an ‘American hero’, after he was diagnosed with brain cancer.