Perform one session resumption using TLS Session Tickets.

def _resume_with_session_ticket(
            self,
            server_info: ServerConnectivityInfo,
            ssl_version_to_use: OpenSslVersionEnum,
    ) -> TslSessionTicketSupportEnum:
        """Perform one session resumption using TLS Session Tickets.
        """
        # Connect to the server and keep the SSL session
        try:
            session1 = self._resume_ssl_session(server_info, ssl_version_to_use, should_enable_tls_ticket=True)
        except SslHandshakeRejected:
            if server_info.highest_ssl_version_supported >= OpenSslVersionEnum.TLSV1_3:
                return TslSessionTicketSupportEnum.FAILED_ONLY_TLS_1_3_SUPPORTED
            else:
                raise

        try:
            # Recover the TLS ticket
            session1_tls_ticket = self._extract_tls_session_ticket(session1)
        except IndexError:
            return TslSessionTicketSupportEnum.FAILED_TICKET_NOT_ASSIGNED

        # Try to resume that session using the TLS ticket
        session2 = self._resume_ssl_session(server_info, ssl_version_to_use, session1, should_enable_tls_ticket=True)
        try:
            # Recover the TLS ticket
            session2_tls_ticket = self._extract_tls_session_ticket(session2)
        except IndexError:
            return TslSessionTicketSupportEnum.FAILED_TICKET_NOT_ASSIGNED

        # Finally, compare the two TLS Tickets
        if session1_tls_ticket != session2_tls_ticket:
            return TslSessionTicketSupportEnum.FAILED_TICKED_IGNORED

        return TslSessionTicketSupportEnum.SUCCEEDED