Is there a way in our test to define or mock the system timezone, date or time?
I have functions that format timestamps based on the difference between the server and UTC.
I am struggling to have assertions that can reliably match.
As an example I have a webservice that I interact with that requires timestamps to be in UTC with a custom format.
I have a method that properly converts and formats the source timestamp but since the result varies depending on the location
of machine running the test, I cannot reliably predict the result in an assertion.
If I am in Portugal and within the seven hour difference the day changes since it can be the 27th here while still the 26th in the MDT, so my test will fail.
If I could mock the system time for those calls I could say run this test at this specific day and time and get back a consistent result.
I can create test that always work in a specific timezone but If I then run the test form a different timezone or too close to midnight they will fail.