Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-3762

Refactor SSLTest fixture such that MesosTest can use the same helpers.



    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.26.0
    • test
    • Mesosphere Sprint 21
    • 3


      In order to write tests that exercise SSL with other components of Mesos, such as the HTTP scheduler library, we need to use the setup/teardown logic found in the SSLTest fixture.

      Currently, the test fixtures have separate inheritance structures like this:

      SSLTest <- ::testing::Test
      MesosTest <- TemporaryDirectoryTest <- ::testing::Test

      where ::testing::Test is a gtest class.

      The plan is the following:

      1. Change SSLTest to inherit from TemporaryDirectoryTest. This will require moving the setup (generation of keys and certs) from SetUpTestCase to SetUp. At the same time, some of the cleanup logic in the SSLTest will not be needed.
      2. Move the logic of generating keys/certs into helpers, so that individual tests can call them when needed, much like MesosTest.
      3. Write a child class of SSLTest which has the same functionality as the existing SSLTest, for use by the existing tests that rely on SSLTest or the RegistryClientTest.
      4. Have MesosTest inherit from SSLTest (which might be renamed during the refactor). If Mesos is not compiled with --enable-ssl, then SSLTest could be #ifdef'd into any empty class.

      The resulting structure should be like:

      MesosTest <- SSLTest <- TemporaryDirectoryTest <- ::testing::Test
      ChildOfSSLTest /


        Issue Links



              kaysoky Joseph Wu
              kaysoky Joseph Wu
              Joris Van Remoortere Joris Van Remoortere
              0 Vote for this issue
              2 Start watching this issue