Due to the nature of integration tests, we want to use production or production-like settings and environment.
But starting our application or service for each test will be quite cumbersome, so we should provide a base class for our tests. In this class, we will start our service, migrate our database, and provide an opportunity to shut it down properly after testing.
Because we do not want to get into trouble when running an Akka-HTTP on the same port, we first create a helper function that will determine a free port number.