it’s all fine with your setup, but in your mesh you have only one linear element through the thickness, thus you can have constant stresses.
The von Mises stress is by definition positive, if you want to distinguish compression from tension you need to compute the signed von Mises stress (you can add it as a solution field in the result control section).
For an accurate result you should create a more refined mesh in the thickness direction, or use a second order mesh where 1 element would be ok for a linear stress distribution.
I copied your project and created a new simulation with a much shorter pipe and two second order meshes - a coarse one and one with layer refinements for a (potentially) more accurate stress distribution through the pipe thickness. As expected both result in the same stress distribution through the thickness and have almost the exact same range:
Coarse mesh (37K nodes) signed von Mises stress
Fine mesh (313K nodes) signed von Mises stress
You can review the setup here: https://www.simscale.com/projects/rszoeke/test_tube/
For more validation projects of the thermo-mechanical solver you can have a look at the validation cases in our documentation.