'When calling L{sslverify.OpenSSLCertificateOptions} with
C{lowerMaximumSecurityTo} but no C{raiseMinimumTo} or
C{insecurelyLowerMinimumTo} set, and C{lowerMaximumSecurityTo} is
below the minimum default, the minimum will be made the new maximum.'

def test_tlsProtocolsreduceToMaxWithoutMin(self):

    opts = sslverify.OpenSSLCertificateOptions(privateKey=self.sKey, certificate=self.sCert, lowerMaximumSecurityTo=sslverify.TLSVersion.SSLv3)
    opts._contextFactory = FakeContext
    ctx = opts.getContext()
    options = ((((((SSL.OP_NO_SSLv2 | SSL.OP_NO_COMPRESSION) | SSL.OP_CIPHER_SERVER_PREFERENCE) | SSL.OP_NO_TLSv1) | SSL.OP_NO_TLSv1_1) | SSL.OP_NO_TLSv1_2) | opts._OP_NO_TLSv1_3)
    self.assertEqual(options, (ctx._options & options))
