Joseph Wu created MESOS-3762:
--------------------------------

             Summary: Refactor SSLTest fixture such that MesosTest can use the 
same helpers.
                 Key: MESOS-3762
                 URL: https://issues.apache.org/jira/browse/MESOS-3762
             Project: Mesos
          Issue Type: Task
          Components: test
            Reporter: Joseph Wu
            Assignee: Joseph Wu


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:
{code}
SSLTest <- ::testing::Test
MesosTest <- TemporaryDirectoryTest <- ::testing::Test
{code}
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) 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.
4) 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}}.

The resulting structure should be like:
{code}
MesosTest <- SSLTest <- TemporaryDirectoryTest <- ::testing::Test
ChildOfSSLTest /
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to