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

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

    XMLWordPrintableJSON

Details

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

    Description

      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 /
      

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: