CVE-2023-2106 (published 2023-04-15T14:15Z)

Weak Password Requirements in GitHub repository janeczku/calibre-web prior to 0.6.20.

CVSS v3 base score: 9.8, CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

Weakness information:
cwe_id: CWE-521
cwe_name: Weak Password Requirements
description: The product does not require that users should have strong passwords, which makes it easier for attackers to compromise user accounts.
extended_description: Authentication mechanisms often rely on a memorized secret (also known as a password) to provide an assertion of identity for a user of a system. It is therefore important that this password be of sufficient complexity and impractical for an adversary to guess. The specific requirements around how complex a password needs to be depends on the type of system being protected. Selecting the correct password requirements and enforcing them through implementation are critical to the overall success of the authentication mechanism.
         

Fix information:
repo_url: https://github.com/janeczku/calibre-web
commit_details: repo_url: https://github.com/janeczku/calibre-web
author: Ozzie Isaacs
author_date: 2023-03-04 10:37:05+01:00
msg: ** Be careful, after updating, there is no way back **
** Please install flask-limiter after updating **

Update Teststatus
Bugfix after merge
Bugfix generate Metadata backup
repository: repo_url: https://github.com/janeczku/calibre-web
repo_name: janeczku/calibre-web
description: :books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
repo_language: Fluent
owner: janeczku
file_changes: filename: Calibre-Web TestSummary_Linux.html
change_type: ModificationType.MODIFY
diff: @@ -37,20 +37,20 @@
       <div class="row">
         <div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;">
             
-            <p class='text-justify attribute'><strong>Start Time: </strong>2023-02-28 19:53:13</p>
+            <p class='text-justify attribute'><strong>Start Time: </strong>2023-03-03 20:00:16</p>
             
         </div>
       </div>
       <div class="row">
         <div class="col-xs-6 col-md-6 col-sm-offset-3">
             
-            <p class='text-justify attribute'><strong>Stop Time: </strong>2023-03-01 02:13:56</p>
+            <p class='text-justify attribute'><strong>Stop Time: </strong>2023-03-04 02:33:04</p>
             
         </div>
       </div>
       <div class="row">
         <div class="col-xs-6 col-md-6 col-sm-offset-3">
-           <p class='text-justify attribute'><strong>Duration: </strong>5h 28 min</p>
+           <p class='text-justify attribute'><strong>Duration: </strong>5h 37 min</p>
         </div>
       </div>
       </div>
@@ -234,120 +234,6 @@
     
 
 
-    <tr id="su" class="passClass">
-        <td>TestBackupMetadata</td>
-        <td class="text-center">11</td>
-        <td class="text-center">11</td>
-        <td class="text-center">0</td>
-        <td class="text-center">0</td>
-        <td class="text-center">0</td>
-        <td class="text-center">
-            <a onclick="showClassDetail('c2', 11)">Detail</a>
-        </td>
-    </tr>
-
-    
-    
-        <tr id='pt2.1' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_all</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.2' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_author</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.3' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_custom_bool</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.4' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_publisher</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.5' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_publishing_date</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.6' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_read_status</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.7' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_series</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.8' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_seriesindex</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.9' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_tags</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.10' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_backup_change_book_title</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-    
-        <tr id='pt2.11' class='hiddenRow bg-success'>
-            <td>
-                <div class='testcase'>TestBackupMetadata - test_grdive</div>
-            </td>
-            <td colspan='6' align='center'>PASS</td>
-        </tr>
-    
-    
-
-
     <tr id="su" class="passClass">
         <td>TestCli</td>
         <td class="text-center">12</td>
@@ -356,13 +242,13 @@
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c3', 12)">Detail</a>
+            <a onclick="showClassDetail('c2', 12)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt3.1' class='hiddenRow bg-success'>
+        <tr id='pt2.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_already_started</div>
             </td>
@@ -371,7 +257,7 @@
     
     
     
-        <tr id='pt3.2' class='hiddenRow bg-success'>
+        <tr id='pt2.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_bind_to_single_interface</div>
             </td>
@@ -380,7 +266,7 @@
     
     
     
-        <tr id='pt3.3' class='hiddenRow bg-success'>
+        <tr id='pt2.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_change_password</div>
             </td>
@@ -389,7 +275,7 @@
     
     
     
-        <tr id='pt3.4' class='hiddenRow bg-success'>
+        <tr id='pt2.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_cli_SSL_files</div>
             </td>
@@ -398,7 +284,7 @@
     
     
     
-        <tr id='pt3.5' class='hiddenRow bg-success'>
+        <tr id='pt2.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_cli_different_folder</div>
             </td>
@@ -407,7 +293,7 @@
     
     
     
-        <tr id='pt3.6' class='hiddenRow bg-success'>
+        <tr id='pt2.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_cli_different_settings_database</div>
             </td>
@@ -416,7 +302,7 @@
     
     
     
-        <tr id='pt3.7' class='hiddenRow bg-success'>
+        <tr id='pt2.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_dryrun_update</div>
             </td>
@@ -425,7 +311,7 @@
     
     
     
-        <tr id='pt3.8' class='hiddenRow bg-success'>
+        <tr id='pt2.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_enable_reconnect</div>
             </td>
@@ -434,7 +320,7 @@
     
     
     
-        <tr id='pt3.9' class='hiddenRow bg-success'>
+        <tr id='pt2.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_environ_port_setting</div>
             </td>
@@ -443,7 +329,7 @@
     
     
     
-        <tr id='pt3.10' class='hiddenRow bg-success'>
+        <tr id='pt2.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_no_database</div>
             </td>
@@ -452,7 +338,7 @@
     
     
     
-        <tr id='pt3.11' class='hiddenRow bg-success'>
+        <tr id='pt2.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_settingsdb_not_writeable</div>
             </td>
@@ -461,7 +347,7 @@
     
     
     
-        <tr id='pt3.12' class='hiddenRow bg-success'>
+        <tr id='pt2.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCli - test_writeonly_static_files</div>
             </td>
@@ -479,13 +365,13 @@
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c4', 4)">Detail</a>
+            <a onclick="showClassDetail('c3', 4)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt4.1' class='hiddenRow bg-success'>
+        <tr id='pt3.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCliGdrivedb - test_cli_gdrive_folder</div>
             </td>
@@ -494,7 +380,7 @@
     
     
     
-        <tr id='pt4.2' class='hiddenRow bg-success'>
+        <tr id='pt3.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCliGdrivedb - test_cli_gdrive_location</div>
             </td>
@@ -503,7 +389,7 @@
     
     
     
-        <tr id='pt4.3' class='hiddenRow bg-success'>
+        <tr id='pt3.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCliGdrivedb - test_gdrive_db_nonwrite</div>
             </td>
@@ -512,7 +398,7 @@
     
     
     
-        <tr id='pt4.4' class='hiddenRow bg-success'>
+        <tr id='pt3.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCliGdrivedb - test_no_database</div>
             </td>
@@ -530,13 +416,13 @@
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c5', 2)">Detail</a>
+            <a onclick="showClassDetail('c4', 2)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt5.1' class='hiddenRow bg-success'>
+        <tr id='pt4.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCoverEditBooks - test_invalid_jpg_hdd</div>
             </td>
@@ -545,7 +431,7 @@
     
     
     
-        <tr id='pt5.2' class='hiddenRow bg-success'>
+        <tr id='pt4.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCoverEditBooks - test_upload_jpg</div>
             </td>
@@ -563,13 +449,13 @@
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c6', 1)">Detail</a>
+            <a onclick="showClassDetail('c5', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt6.1' class='hiddenRow bg-success'>
+        <tr id='pt5.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestDeleteDatabase - test_delete_books_in_database</div>
             </td>
@@ -587,13 +473,13 @@
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c7', 15)">Detail</a>
+            <a onclick="showClassDetail('c6', 15)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt7.1' class='hiddenRow bg-success'>
+        <tr id='pt6.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_calibre_log</div>
             </td>
@@ -602,7 +488,7 @@
     
     
     
-        <tr id='pt7.2' class='hiddenRow bg-success'>
+        <tr id='pt6.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_deactivate</div>
             </td>
@@ -611,7 +497,7 @@
     
     
     
-        <tr id='pt7.3' class='hiddenRow bg-success'>
+        <tr id='pt6.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_email</div>
             </td>
@@ -620,7 +506,7 @@
     
     
     
-        <tr id='pt7.4' class='hiddenRow bg-success'>
+        <tr id='pt6.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_failed_and_email</div>
             </td>
@@ -629,7 +515,7 @@
     
     
     
-        <tr id='pt7.5' class='hiddenRow bg-success'>
+        <tr id='pt6.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_only</div>
             </td>
@@ -638,7 +524,7 @@
     
     
     
-        <tr id='pt7.6' class='hiddenRow bg-success'>
+        <tr id='pt6.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_options</div>
             </td>
@@ -647,7 +533,7 @@
     
     
     
-        <tr id='pt7.7' class='hiddenRow bg-success'>
+        <tr id='pt6.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_parameter</div>
             </td>
@@ -656,7 +542,7 @@
     
     
     
-        <tr id='pt7.8' class='hiddenRow bg-success'>
+        <tr id='pt6.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_wrong_excecutable</div>
             </td>
@@ -665,7 +551,7 @@
     
     
     
-        <tr id='pt7.9' class='hiddenRow bg-success'>
+        <tr id='pt6.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_convert_xss</div>
             </td>
@@ -674,7 +560,7 @@
     
     
     
-        <tr id='pt7.10' class='hiddenRow bg-success'>
+        <tr id='pt6.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_email_failed</div>
             </td>
@@ -683,7 +569,7 @@
     
     
     
-        <tr id='pt7.11' class='hiddenRow bg-success'>
+        <tr id='pt6.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_email_only</div>
             </td>
@@ -692,7 +578,7 @@
     
     
     
-        <tr id='pt7.12' class='hiddenRow bg-success'>
+        <tr id='pt6.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_kindle_send_not_configured</div>
             </td>
@@ -701,7 +587,7 @@
     
     
     
-        <tr id='pt7.13' class='hiddenRow bg-success'>
+        <tr id='pt6.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_ssl_smtp_setup_error</div>
             </td>
@@ -710,7 +596,7 @@
     
     
     
-        <tr id='pt7.14' class='hiddenRow bg-success'>
+        <tr id='pt6.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_starttls_smtp_setup_error</div>
             </td>
@@ -719,7 +605,7 @@
     
     
     
-        <tr id='pt7.15' class='hiddenRow bg-success'>
+        <tr id='pt6.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertCalibre - test_user_convert_xss</div>
             </td>
@@ -729,1247 +615,70 @@
     
 
 
-    <tr id="su" class="errorClass">
+    <tr id="su" class="passClass">
         <td>TestEbookConvertCalibreGDrive</td>
-        <td class="text-center">13</td>
+        <td class="text-center">6</td>
+        <td class="text-center">6</td>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
-        <td class="text-center">13</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c8', 13)">Detail</a>
+            <a onclick="showClassDetail('c7', 6)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id="et8.1" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_email</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.1')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.1" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.1').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45bd330&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 189, in test_convert_email
-    self.setup_server(True, {&#39;mail_password_e&#39;: &#39;10234&#39;, &#39;mail_use_ssl&#39;: &#39;None&#39;})
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 733, in setup_server
-    select = Select(cls.driver.find_element(By.ID, key))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45bd330&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.2" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_email</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.2')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.2" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.2').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45be9b0&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45be9b0&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.3" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_failed_and_email</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.3')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.3" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.3').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45d7c40&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 240, in test_convert_failed_and_email
-    vals = self.get_convert_book(1)
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 2041, in get_convert_book
-    cls.driver.get(root_url + &#34;/admin/book/&#34;+str(id))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 449, in get
-    self.execute(Command.GET, {&#34;url&#34;: url})
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/url (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45d7c40&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.4" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_failed_and_email</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.4')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.4" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.4').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45d7e80&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45d7e80&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.5" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_only</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.5')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.5" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.5').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45d7580&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 311, in test_convert_only
-    vals = self.get_convert_book(7)
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 2041, in get_convert_book
-    cls.driver.get(root_url + &#34;/admin/book/&#34;+str(id))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 449, in get
-    self.execute(Command.GET, {&#34;url&#34;: url})
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/url (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45d7580&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.6" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_only</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.6')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.6" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.6').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b3c10&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b3c10&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.7" class="none bg-info">
-            <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_parameter</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.7')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.7" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.7').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b15d0&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 147, in test_convert_parameter
-    self.fill_basic_config({&#39;config_calibre&#39;: &#39;--margin-right 11.9&#39;})
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 398, in fill_basic_config
-    cls._fill_basic_config(elements)
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 302, in _fill_basic_config
-    WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, &#34;config_port&#34;)))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b15d0&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
-        </tr>
-    
-    
-    
-        <tr id="et8.8" class="none bg-info">
+        <tr id='pt7.1' class='hiddenRow bg-success'>
             <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_parameter</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.8')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.8" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.8').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b2f80&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b2f80&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
+                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_email</div>
             </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <tr id="et8.9" class="none bg-info">
+        <tr id='pt7.2' class='hiddenRow bg-success'>
             <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_failed</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.9')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.9" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.9').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b22f0&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 468, in test_email_failed
-    self.setup_server(False, {&#39;mail_password_e&#39;: &#39;10234&#39;})
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 738, in setup_server
-    ele = cls.driver.find_element(By.ID, key)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b22f0&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
+                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_failed_and_email</div>
             </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <tr id="et8.10" class="none bg-info">
+        <tr id='pt7.3' class='hiddenRow bg-success'>
             <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_failed</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.10')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.10" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.10').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b0220&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b0220&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
+                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_only</div>
             </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <tr id="et8.11" class="none bg-info">
+        <tr id='pt7.4' class='hiddenRow bg-success'>
             <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_only</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.11')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.11" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.11').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45ae560&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 428, in test_email_only
-    self.setup_server(True, {&#39;mail_use_ssl&#39;: &#39;None&#39;, &#39;mail_password_e&#39;: &#39;10234&#39;})
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 733, in setup_server
-    select = Select(cls.driver.find_element(By.ID, key))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45ae560&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
+                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_parameter</div>
             </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <tr id="et8.12" class="none bg-info">
+        <tr id='pt7.5' class='hiddenRow bg-success'>
             <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_only</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.12')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.12" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.12').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b2980&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc44b2980&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
+                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_failed</div>
             </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <tr id="et8.13" class="none bg-info">
+        <tr id='pt7.6' class='hiddenRow bg-success'>
             <td>
-                <div class='testcase'>TestEbookConvertCalibreGDrive - test_thumbnail_cache</div>
-            </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.13')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et8.13" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et8.13').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 174, in _new_conn
-    conn = connection.create_connection(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 95, in create_connection
-    raise err
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/connection.py&#34;, line 85, in create_connection
-    sock.connect(sa)
-ConnectionRefusedError: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 703, in urlopen
-    httplib_response = self._make_request(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 398, in _make_request
-    conn.request(method, url, **httplib_request_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 239, in request
-    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1282, in request
-    self._send_request(method, url, body, headers, encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1328, in _send_request
-    self.endheaders(body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1277, in endheaders
-    self._send_output(message_body, encode_chunked=encode_chunked)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1037, in _send_output
-    self.send(msg)
-  File &#34;/usr/lib/python3.10/http/client.py&#34;, line 975, in send
-    self.connect()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 205, in connect
-    conn = self._new_conn()
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connection.py&#34;, line 186, in _new_conn
-    raise NewConnectionError(
-urllib3.exceptions.NewConnectionError: &lt;urllib3.connection.HTTPConnection object at 0x7f3dc45aeaa0&gt;: Failed to establish a new connection: [Errno 111] Connection refused
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_gdrive.py&#34;, line 135, in tearDown
-    if not self.check_user_logged_in(&#39;admin&#39;):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 117, in check_user_logged_in
-    user_element = cls.check_element_on_page((By.ID, &#34;top_user&#34;))
-  File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 750, in check_element_on_page
-    el = WebDriverWait(cls.driver, timeout).until(EC.presence_of_element_located(element))
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 86, in until
-    value = method(self._driver)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py&#34;, line 69, in _predicate
-    return driver.find_element(*locator)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 830, in find_element
-    return self.execute(Command.FIND_ELEMENT, {&#34;using&#34;: by, &#34;value&#34;: value})[&#34;value&#34;]
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 438, in execute
-    response = self.command_executor.execute(driver_command, params)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 290, in execute
-    return self._request(command_info[0], url, body=data)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py&#34;, line 311, in _request
-    response = self._conn.request(method, url, body=body, headers=headers)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 78, in request
-    return self.request_encode_body(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/request.py&#34;, line 170, in request_encode_body
-    return self.urlopen(method, url, **extra_kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/poolmanager.py&#34;, line 376, in urlopen
-    response = conn.urlopen(method, u.request_uri, **kw)
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 815, in urlopen
-    return self.urlopen(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/connectionpool.py&#34;, line 787, in urlopen
-    retries = retries.increment(
-  File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/urllib3/util/retry.py&#34;, line 592, in increment
-    raise MaxRetryError(_pool, url, error or ResponseError(cause))
-urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, port=36609): Max retries exceeded with url: /session/b563ab83-0fbb-48e3-a23e-a1e051a2ab77/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f3dc45aeaa0&gt;: Failed to establish a new connection: [Errno 111] Connection refused&#39;))</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
+                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_only</div>
             </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
@@ -1983,13 +692,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c9', 3)">Detail</a>
+            <a onclick="showClassDetail('c8', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt9.1' class='hiddenRow bg-success'>
+        <tr id='pt8.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertKepubify - test_convert_deactivate</div>
             </td>
@@ -1998,7 +707,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt9.2' class='hiddenRow bg-success'>
+        <tr id='pt8.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertKepubify - test_convert_only</div>
             </td>
@@ -2007,7 +716,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt9.3' class='hiddenRow bg-success'>
+        <tr id='pt8.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertKepubify - test_convert_wrong_excecutable</div>
             </td>
@@ -2025,13 +734,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c10', 3)">Detail</a>
+            <a onclick="showClassDetail('c9', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt10.1' class='hiddenRow bg-success'>
+        <tr id='pt9.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_deactivate</div>
             </td>
@@ -2040,7 +749,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt10.2' class='hiddenRow bg-success'>
+        <tr id='pt9.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_only</div>
             </td>
@@ -2049,7 +758,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt10.3' class='hiddenRow bg-success'>
+        <tr id='pt9.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_wrong_excecutable</div>
             </td>
@@ -2067,13 +776,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c11', 17)">Detail</a>
+            <a onclick="showClassDetail('c10', 17)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt11.1' class='hiddenRow bg-success'>
+        <tr id='pt10.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_cbz_comicinfo</div>
             </td>
@@ -2082,7 +791,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.2' class='hiddenRow bg-success'>
+        <tr id='pt10.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_change_upload_formats</div>
             </td>
@@ -2091,7 +800,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.3' class='hiddenRow bg-success'>
+        <tr id='pt10.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_delete_book</div>
             </td>
@@ -2100,7 +809,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.4' class='hiddenRow bg-success'>
+        <tr id='pt10.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_delete_role</div>
             </td>
@@ -2109,7 +818,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.5' class='hiddenRow bg-success'>
+        <tr id='pt10.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_details_popup</div>
             </td>
@@ -2118,7 +827,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.6' class='hiddenRow bg-success'>
+        <tr id='pt10.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_edit_book_identifier</div>
             </td>
@@ -2127,7 +836,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.7' class='hiddenRow bg-success'>
+        <tr id='pt10.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_edit_book_identifier_capital</div>
             </td>
@@ -2136,7 +845,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.8' class='hiddenRow bg-success'>
+        <tr id='pt10.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_edit_book_identifier_standard</div>
             </td>
@@ -2145,7 +854,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.9' class='hiddenRow bg-success'>
+        <tr id='pt10.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_edit_special_book_identifier</div>
             </td>
@@ -2154,7 +863,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.10' class='hiddenRow bg-success'>
+        <tr id='pt10.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_title_sort</div>
             </td>
@@ -2163,7 +872,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.11' class='hiddenRow bg-success'>
+        <tr id='pt10.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_upload_cbz_coverformats</div>
             </td>
@@ -2172,7 +881,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.12' class='hiddenRow bg-success'>
+        <tr id='pt10.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_upload_edit_role</div>
             </td>
@@ -2181,7 +890,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.13' class='hiddenRow bg-success'>
+        <tr id='pt10.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbr</div>
             </td>
@@ -2190,7 +899,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.14' class='hiddenRow bg-success'>
+        <tr id='pt10.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbt</div>
             </td>
@@ -2199,7 +908,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='st11.15' class='none bg-warning'>
+        <tr id='st10.15' class='none bg-warning'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_xss_author_edit</div>
             </td>
@@ -2208,7 +917,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.16' class='hiddenRow bg-success'>
+        <tr id='pt10.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_xss_comment_edit</div>
             </td>
@@ -2217,7 +926,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt11.17' class='hiddenRow bg-success'>
+        <tr id='pt10.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAdditionalBooks - test_xss_custom_comment_edit</div>
             </td>
@@ -2235,13 +944,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c12', 36)">Detail</a>
+            <a onclick="showClassDetail('c11', 36)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt12.1' class='hiddenRow bg-success'>
+        <tr id='pt11.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_download_book</div>
             </td>
@@ -2250,7 +959,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.2' class='hiddenRow bg-success'>
+        <tr id='pt11.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_author</div>
             </td>
@@ -2259,7 +968,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.3' class='hiddenRow bg-success'>
+        <tr id='pt11.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_category</div>
             </td>
@@ -2268,7 +977,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.4' class='hiddenRow bg-success'>
+        <tr id='pt11.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_comments</div>
             </td>
@@ -2277,7 +986,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.5' class='hiddenRow bg-success'>
+        <tr id='pt11.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_bool</div>
             </td>
@@ -2286,7 +995,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.6' class='hiddenRow bg-success'>
+        <tr id='pt11.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_categories</div>
             </td>
@@ -2295,7 +1004,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.7' class='hiddenRow bg-success'>
+        <tr id='pt11.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_comment</div>
             </td>
@@ -2304,7 +1013,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.8' class='hiddenRow bg-success'>
+        <tr id='pt11.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_date</div>
             </td>
@@ -2313,7 +1022,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.9' class='hiddenRow bg-success'>
+        <tr id='pt11.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_float</div>
             </td>
@@ -2322,7 +1031,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.10' class='hiddenRow bg-success'>
+        <tr id='pt11.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_int</div>
             </td>
@@ -2331,7 +1040,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.11' class='hiddenRow bg-success'>
+        <tr id='pt11.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_rating</div>
             </td>
@@ -2340,7 +1049,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.12' class='hiddenRow bg-success'>
+        <tr id='pt11.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_single_select</div>
             </td>
@@ -2349,7 +1058,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.13' class='hiddenRow bg-success'>
+        <tr id='pt11.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_custom_text</div>
             </td>
@@ -2358,7 +1067,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.14' class='hiddenRow bg-success'>
+        <tr id='pt11.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_language</div>
             </td>
@@ -2367,7 +1076,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.15' class='hiddenRow bg-success'>
+        <tr id='pt11.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_publisher</div>
             </td>
@@ -2376,7 +1085,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.16' class='hiddenRow bg-success'>
+        <tr id='pt11.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_publishing_date</div>
             </td>
@@ -2385,7 +1094,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.17' class='hiddenRow bg-success'>
+        <tr id='pt11.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_rating</div>
             </td>
@@ -2394,7 +1103,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.18' class='hiddenRow bg-success'>
+        <tr id='pt11.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_series</div>
             </td>
@@ -2403,7 +1112,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.19' class='hiddenRow bg-success'>
+        <tr id='pt11.19' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_edit_title</div>
             </td>
@@ -2412,19 +1121,19 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id="st12.20" class="none bg-warning">
+        <tr id="st11.20" class="none bg-warning">
             <td>
                 <div class='testcase'>TestEditBooks - test_rename_uppercase_lowercase</div>
             </td>
             <td colspan='6'>
                 <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st12.20')">SKIP</a>
+                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st11.20')">SKIP</a>
                 </div>
                 <!--css div popup start-->
-                <div id="div_st12.20" class="popup_window test_output" style="display:none;">
+                <div id="div_st11.20" class="popup_window test_output" style="display:none;">
                     <div class='close_button pull-right'>
                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_st12.20').style.display='none'"><span
+                                onclick="document.getElementById('div_st11.20').style.display='none'"><span
                                 aria-hidden="true">&times;</span></button>
                     </div>
                     <div class="text-left pull-left">
@@ -2438,7 +1147,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.21' class='hiddenRow bg-success'>
+        <tr id='pt11.21' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_typeahead_author</div>
             </td>
@@ -2447,7 +1156,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.22' class='hiddenRow bg-success'>
+        <tr id='pt11.22' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_typeahead_functions</div>
             </td>
@@ -2456,7 +1165,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.23' class='hiddenRow bg-success'>
+        <tr id='pt11.23' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_typeahead_language</div>
             </td>
@@ -2465,7 +1174,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.24' class='hiddenRow bg-success'>
+        <tr id='pt11.24' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_typeahead_publisher</div>
             </td>
@@ -2474,7 +1183,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.25' class='hiddenRow bg-success'>
+        <tr id='pt11.25' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_typeahead_series</div>
             </td>
@@ -2483,7 +1192,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.26' class='hiddenRow bg-success'>
+        <tr id='pt11.26' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_typeahead_tag</div>
             </td>
@@ -2492,7 +1201,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.27' class='hiddenRow bg-success'>
+        <tr id='pt11.27' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_cbr</div>
             </td>
@@ -2501,7 +1210,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.28' class='hiddenRow bg-success'>
+        <tr id='pt11.28' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_cbt</div>
             </td>
@@ -2510,7 +1219,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.29' class='hiddenRow bg-success'>
+        <tr id='pt11.29' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_cbz</div>
             </td>
@@ -2519,7 +1228,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.30' class='hiddenRow bg-success'>
+        <tr id='pt11.30' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_epub</div>
             </td>
@@ -2528,7 +1237,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.31' class='hiddenRow bg-success'>
+        <tr id='pt11.31' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_fb2</div>
             </td>
@@ -2537,7 +1246,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.32' class='hiddenRow bg-success'>
+        <tr id='pt11.32' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_lit</div>
             </td>
@@ -2546,7 +1255,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.33' class='hiddenRow bg-success'>
+        <tr id='pt11.33' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_mobi</div>
             </td>
@@ -2555,7 +1264,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.34' class='hiddenRow bg-success'>
+        <tr id='pt11.34' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_book_pdf</div>
             </td>
@@ -2564,7 +1273,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.35' class='hiddenRow bg-success'>
+        <tr id='pt11.35' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_cbz_coverformats</div>
             </td>
@@ -2573,7 +1282,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt12.36' class='hiddenRow bg-success'>
+        <tr id='pt11.36' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooks - test_upload_cover_hdd</div>
             </td>
@@ -2591,13 +1300,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c13', 6)">Detail</a>
+            <a onclick="showClassDetail('c12', 6)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt13.1' class='hiddenRow bg-success'>
+        <tr id='pt12.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthors - test_change_capital_co_author</div>
             </td>
@@ -2606,7 +1315,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt13.2' class='hiddenRow bg-success'>
+        <tr id='pt12.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthors - test_change_capital_one_author_one_book</div>
             </td>
@@ -2615,7 +1324,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt13.3' class='hiddenRow bg-success'>
+        <tr id='pt12.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthors - test_change_capital_one_author_two_books</div>
             </td>
@@ -2624,7 +1333,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt13.4' class='hiddenRow bg-success'>
+        <tr id='pt12.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthors - test_change_capital_rename_co_author</div>
             </td>
@@ -2633,7 +1342,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt13.5' class='hiddenRow bg-success'>
+        <tr id='pt12.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthors - test_change_capital_rename_two_co_authors</div>
             </td>
@@ -2642,7 +1351,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt13.6' class='hiddenRow bg-success'>
+        <tr id='pt12.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthors - test_rename_capital_on_upload</div>
             </td>
@@ -2660,13 +1369,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c14', 6)">Detail</a>
+            <a onclick="showClassDetail('c13', 6)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt14.1' class='hiddenRow bg-success'>
+        <tr id='pt13.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthorsGdrive - test_change_capital_co_author</div>
             </td>
@@ -2675,7 +1384,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt14.2' class='hiddenRow bg-success'>
+        <tr id='pt13.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthorsGdrive - test_change_capital_one_author_one_book</div>
             </td>
@@ -2684,7 +1393,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt14.3' class='hiddenRow bg-success'>
+        <tr id='pt13.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthorsGdrive - test_change_capital_one_author_two_books</div>
             </td>
@@ -2693,7 +1402,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt14.4' class='hiddenRow bg-success'>
+        <tr id='pt13.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthorsGdrive - test_change_capital_rename_co_author</div>
             </td>
@@ -2702,7 +1411,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt14.5' class='hiddenRow bg-success'>
+        <tr id='pt13.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthorsGdrive - test_change_capital_rename_two_co_authors</div>
             </td>
@@ -2711,7 +1420,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt14.6' class='hiddenRow bg-success'>
+        <tr id='pt13.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditAuthorsGdrive - test_rename_capital_on_upload</div>
             </td>
@@ -2729,13 +1438,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c15', 18)">Detail</a>
+            <a onclick="showClassDetail('c14', 18)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt15.1' class='hiddenRow bg-success'>
+        <tr id='pt14.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_author</div>
             </td>
@@ -2744,7 +1453,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.2' class='hiddenRow bg-success'>
+        <tr id='pt14.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_categories</div>
             </td>
@@ -2753,7 +1462,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.3' class='hiddenRow bg-success'>
+        <tr id='pt14.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_comment</div>
             </td>
@@ -2762,7 +1471,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.4' class='hiddenRow bg-success'>
+        <tr id='pt14.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_category</div>
             </td>
@@ -2771,7 +1480,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.5' class='hiddenRow bg-success'>
+        <tr id='pt14.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_comment</div>
             </td>
@@ -2780,7 +1489,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.6' class='hiddenRow bg-success'>
+        <tr id='pt14.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_enum</div>
             </td>
@@ -2789,7 +1498,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.7' class='hiddenRow bg-success'>
+        <tr id='pt14.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_float</div>
             </td>
@@ -2798,7 +1507,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.8' class='hiddenRow bg-success'>
+        <tr id='pt14.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_int</div>
             </td>
@@ -2807,7 +1516,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.9' class='hiddenRow bg-success'>
+        <tr id='pt14.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_ratings</div>
             </td>
@@ -2816,7 +1525,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.10' class='hiddenRow bg-success'>
+        <tr id='pt14.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_text</div>
             </td>
@@ -2825,7 +1534,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.11' class='hiddenRow bg-success'>
+        <tr id='pt14.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_languages</div>
             </td>
@@ -2834,7 +1543,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.12' class='hiddenRow bg-success'>
+        <tr id='pt14.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_publisher</div>
             </td>
@@ -2843,7 +1552,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.13' class='hiddenRow bg-success'>
+        <tr id='pt14.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_series</div>
             </td>
@@ -2852,7 +1561,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.14' class='hiddenRow bg-success'>
+        <tr id='pt14.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_seriesindex</div>
             </td>
@@ -2861,7 +1570,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.15' class='hiddenRow bg-success'>
+        <tr id='pt14.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_bookslist_edit_title</div>
             </td>
@@ -2870,7 +1579,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.16' class='hiddenRow bg-success'>
+        <tr id='pt14.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_list_visibility</div>
             </td>
@@ -2879,7 +1588,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.17' class='hiddenRow bg-success'>
+        <tr id='pt14.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_restricted_rights</div>
             </td>
@@ -2888,7 +1597,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
     
     
-        <tr id='pt15.18' class='hiddenRow bg-success'>
+        <tr id='pt14.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksList - test_search_books_list</div>
             </td>
@@ -2898,65 +1607,45 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
     
 
 
-    <tr id="su" class="errorClass">
+    <tr id="su" class="passClass">
         <td>TestLoadMetadata</td>
         <td class="text-center">1</td>
+        <td class="text-center">1</td>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
-        <td class="text-center">1</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c16', 1)">Detail</a>
+            <a onclick="showClassDetail('c15', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id="et16.1" class="none bg-info">
+        <tr id='pt15.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLoadMetadata - test_load_metadata</div>
             </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et16.1')">ERROR</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_et16.1" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_et16.1').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py&#34;, line 84, in test_load_metadata
-    elif &#39;https://amazon.com/&#39; == results[20][&#39;source&#39;]:
-IndexError: list index out of range</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
 
 
-    <tr id="su" class="passClass">
+    <tr id="su" class="errorClass">
         <td>TestEditBooksOnGdrive</td>
         <td class="text-center">18</td>
-        <td class="text-center">18</td>
-        <td class="text-center">0</td>
+        <td class="text-center">17</td>
         <td class="text-center">0</td>
+        <td class="text-center">1</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c17', 18)">Detail</a>
+            <a onclick="showClassDetail('c16', 18)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt17.1' class='hiddenRow bg-success'>
+        <tr id='pt16.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_download_book</div>
             </td>
@@ -2965,7 +1654,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.2' class='hiddenRow bg-success'>
+        <tr id='pt16.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_author</div>
             </td>
@@ -2974,7 +1663,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.3' class='hiddenRow bg-success'>
+        <tr id='pt16.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_category</div>
             </td>
@@ -2983,7 +1672,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.4' class='hiddenRow bg-success'>
+        <tr id='pt16.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_comments</div>
             </td>
@@ -2992,7 +1681,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.5' class='hiddenRow bg-success'>
+        <tr id='pt16.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_bool</div>
             </td>
@@ -3001,7 +1690,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.6' class='hiddenRow bg-success'>
+        <tr id='pt16.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_categories</div>
             </td>
@@ -3010,7 +1699,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.7' class='hiddenRow bg-success'>
+        <tr id='pt16.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_float</div>
             </td>
@@ -3019,7 +1708,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.8' class='hiddenRow bg-success'>
+        <tr id='pt16.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_int</div>
             </td>
@@ -3028,7 +1717,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.9' class='hiddenRow bg-success'>
+        <tr id='pt16.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_rating</div>
             </td>
@@ -3037,7 +1726,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.10' class='hiddenRow bg-success'>
+        <tr id='pt16.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_single_select</div>
             </td>
@@ -3046,7 +1735,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.11' class='hiddenRow bg-success'>
+        <tr id='pt16.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_text</div>
             </td>
@@ -3055,7 +1744,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.12' class='hiddenRow bg-success'>
+        <tr id='pt16.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_language</div>
             </td>
@@ -3064,7 +1753,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.13' class='hiddenRow bg-success'>
+        <tr id='pt16.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_publisher</div>
             </td>
@@ -3073,7 +1762,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.14' class='hiddenRow bg-success'>
+        <tr id='pt16.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_rating</div>
             </td>
@@ -3082,7 +1771,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.15' class='hiddenRow bg-success'>
+        <tr id='pt16.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_series</div>
             </td>
@@ -3091,16 +1780,36 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.16' class='hiddenRow bg-success'>
+        <tr id="et16.16" class="none bg-info">
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_edit_title</div>
             </td>
-            <td colspan='6' align='center'>PASS</td>
+            <td colspan='6'>
+                <div class="text-center">
+                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et16.16')">ERROR</a>
+                </div>
+                <!--css div popup start-->
+                <div id="div_et16.16" class="popup_window test_output" style="display:block;">
+                    <div class='close_button pull-right'>
+                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
+                                onclick="document.getElementById('div_et16.16').style.display='none'"><span
+                                aria-hidden="true">&times;</span></button>
+                    </div>
+                    <div class="text-left pull-left">
+                        <pre class="text-left">Traceback (most recent call last):
+  File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py&#34;, line 231, in test_edit_title
+    self.assertEqual(ele.text, u&#39;Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters&#39;)
+AttributeError: &#39;bool&#39; object has no attribute &#39;text&#39;</pre>
+                    </div>
+                    <div class="clearfix"></div>
+                </div>
+                <!--css div popup end-->
+            </td>
         </tr>
     
     
     
-        <tr id='pt17.17' class='hiddenRow bg-success'>
+        <tr id='pt16.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_upload_book_lit</div>
             </td>
@@ -3109,7 +1818,7 @@ IndexError: list index out of range</pre>
     
     
     
-        <tr id='pt17.18' class='hiddenRow bg-success'>
+        <tr id='pt16.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestEditBooksOnGdrive - test_watch_metadata</div>
             </td>
@@ -3119,45 +1828,25 @@ IndexError: list index out of range</pre>
     
 
 
-    <tr id="su" class="failClass">
+    <tr id="su" class="passClass">
         <td>TestLoadMetadataScholar</td>
         <td class="text-center">1</td>
-        <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
+        <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c18', 1)">Detail</a>
+            <a onclick="showClassDetail('c17', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id="ft18.1" class="none bg-danger">
+        <tr id='pt17.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLoadMetadataScholar - test_load_metadata</div>
             </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft18.1')">FAIL</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_ft18.1" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_ft18.1').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_metadata_scholar.py&#34;, line 68, in test_load_metadata
-    self.assertEqual(30, len(results))
-AssertionError: 30 != 0</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
@@ -3171,13 +1860,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c19', 3)">Detail</a>
+            <a onclick="showClassDetail('c18', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt19.1' class='hiddenRow bg-success'>
+        <tr id='pt18.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSTARTTLS - test_STARTTLS</div>
             </td>
@@ -3186,7 +1875,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt19.2' class='hiddenRow bg-success'>
+        <tr id='pt18.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSTARTTLS - test_STARTTLS_SSL_setup_error</div>
             </td>
@@ -3195,7 +1884,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt19.3' class='hiddenRow bg-success'>
+        <tr id='pt18.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSTARTTLS - test_STARTTLS_resend_password</div>
             </td>
@@ -3213,13 +1902,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c20', 7)">Detail</a>
+            <a onclick="showClassDetail('c19', 7)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt20.1' class='hiddenRow bg-success'>
+        <tr id='pt19.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_SSL_None_setup_error</div>
             </td>
@@ -3228,7 +1917,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt20.2' class='hiddenRow bg-success'>
+        <tr id='pt19.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_SSL_STARTTLS_setup_error</div>
             </td>
@@ -3237,7 +1926,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt20.3' class='hiddenRow bg-success'>
+        <tr id='pt19.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_SSL_logging_email</div>
             </td>
@@ -3246,7 +1935,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt20.4' class='hiddenRow bg-success'>
+        <tr id='pt19.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_SSL_non_admin_user</div>
             </td>
@@ -3255,7 +1944,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt20.5' class='hiddenRow bg-success'>
+        <tr id='pt19.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_SSL_only</div>
             </td>
@@ -3264,7 +1953,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt20.6' class='hiddenRow bg-success'>
+        <tr id='pt19.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_email_limit</div>
             </td>
@@ -3273,7 +1962,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt20.7' class='hiddenRow bg-success'>
+        <tr id='pt19.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSSL - test_filepicker_two_file</div>
             </td>
@@ -3291,13 +1980,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c21', 1)">Detail</a>
+            <a onclick="showClassDetail('c20', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt21.1' class='hiddenRow bg-success'>
+        <tr id='pt20.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestBookDatabase - test_invalid_book_path</div>
             </td>
@@ -3315,13 +2004,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c22', 2)">Detail</a>
+            <a onclick="showClassDetail('c21', 2)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt22.1' class='hiddenRow bg-success'>
+        <tr id='pt21.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestErrorReadColumn - test_invalid_custom_column</div>
             </td>
@@ -3330,7 +2019,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt22.2' class='hiddenRow bg-success'>
+        <tr id='pt21.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestErrorReadColumn - test_invalid_custom_read_column</div>
             </td>
@@ -3348,13 +2037,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c23', 3)">Detail</a>
+            <a onclick="showClassDetail('c22', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt23.1' class='hiddenRow bg-success'>
+        <tr id='pt22.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestFilePicker - test_filepicker_limited_file</div>
             </td>
@@ -3363,19 +2052,19 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id="st23.2" class="none bg-warning">
+        <tr id="st22.2" class="none bg-warning">
             <td>
                 <div class='testcase'>TestFilePicker - test_filepicker_new_file</div>
             </td>
             <td colspan='6'>
                 <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st23.2')">SKIP</a>
+                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st22.2')">SKIP</a>
                 </div>
                 <!--css div popup start-->
-                <div id="div_st23.2" class="popup_window test_output" style="display:none;">
+                <div id="div_st22.2" class="popup_window test_output" style="display:none;">
                     <div class='close_button pull-right'>
                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_st23.2').style.display='none'"><span
+                                onclick="document.getElementById('div_st22.2').style.display='none'"><span
                                 aria-hidden="true">&times;</span></button>
                     </div>
                     <div class="text-left pull-left">
@@ -3389,7 +2078,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt23.3' class='hiddenRow bg-success'>
+        <tr id='pt22.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestFilePicker - test_two_filepickers</div>
             </td>
@@ -3407,13 +2096,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c24', 1)">Detail</a>
+            <a onclick="showClassDetail('c23', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt24.1' class='hiddenRow bg-success'>
+        <tr id='pt23.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSetupGdrive - test_config_gdrive</div>
             </td>
@@ -3431,13 +2120,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c25', 3)">Detail</a>
+            <a onclick="showClassDetail('c24', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt25.1' class='hiddenRow bg-success'>
+        <tr id='pt24.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestGoodreads - test_author_page</div>
             </td>
@@ -3446,7 +2135,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt25.2' class='hiddenRow bg-success'>
+        <tr id='pt24.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestGoodreads - test_author_page_invalid</div>
             </td>
@@ -3455,7 +2144,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt25.3' class='hiddenRow bg-success'>
+        <tr id='pt24.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestGoodreads - test_goodreads_about</div>
             </td>
@@ -3473,13 +2162,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c26', 12)">Detail</a>
+            <a onclick="showClassDetail('c25', 12)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt26.1' class='hiddenRow bg-success'>
+        <tr id='pt25.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_book_download</div>
             </td>
@@ -3488,7 +2177,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.2' class='hiddenRow bg-success'>
+        <tr id='pt25.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_kobo_about</div>
             </td>
@@ -3497,7 +2186,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.3' class='hiddenRow bg-success'>
+        <tr id='pt25.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_kobo_limit</div>
             </td>
@@ -3506,7 +2195,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.4' class='hiddenRow bg-success'>
+        <tr id='pt25.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_kobo_sync_selected_shelfs</div>
             </td>
@@ -3515,7 +2204,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.5' class='hiddenRow bg-success'>
+        <tr id='pt25.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_kobo_upload_book</div>
             </td>
@@ -3524,7 +2213,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.6' class='hiddenRow bg-success'>
+        <tr id='pt25.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_shelves_add_remove_books</div>
             </td>
@@ -3533,7 +2222,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.7' class='hiddenRow bg-success'>
+        <tr id='pt25.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_sync_changed_book</div>
             </td>
@@ -3542,7 +2231,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.8' class='hiddenRow bg-success'>
+        <tr id='pt25.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_sync_invalid</div>
             </td>
@@ -3551,7 +2240,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.9' class='hiddenRow bg-success'>
+        <tr id='pt25.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_sync_reading_state</div>
             </td>
@@ -3560,7 +2249,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.10' class='hiddenRow bg-success'>
+        <tr id='pt25.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_sync_shelf</div>
             </td>
@@ -3569,7 +2258,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.11' class='hiddenRow bg-success'>
+        <tr id='pt25.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_sync_unchanged</div>
             </td>
@@ -3578,7 +2267,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt26.12' class='hiddenRow bg-success'>
+        <tr id='pt25.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSync - test_sync_upload</div>
             </td>
@@ -3596,13 +2285,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c27', 6)">Detail</a>
+            <a onclick="showClassDetail('c26', 6)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt27.1' class='hiddenRow bg-success'>
+        <tr id='pt26.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSyncBig - test_download_cover</div>
             </td>
@@ -3611,7 +2300,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt27.2' class='hiddenRow bg-success'>
+        <tr id='pt26.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSyncBig - test_kobo_sync_multi_user</div>
             </td>
@@ -3620,7 +2309,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt27.3' class='hiddenRow bg-success'>
+        <tr id='pt26.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSyncBig - test_kobo_sync_selected_shelves</div>
             </td>
@@ -3629,7 +2318,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt27.4' class='hiddenRow bg-success'>
+        <tr id='pt26.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSyncBig - test_sync_changed_book</div>
             </td>
@@ -3638,7 +2327,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt27.5' class='hiddenRow bg-success'>
+        <tr id='pt26.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSyncBig - test_sync_reading_state</div>
             </td>
@@ -3647,7 +2336,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt27.6' class='hiddenRow bg-success'>
+        <tr id='pt26.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestKoboSyncBig - test_sync_shelf</div>
             </td>
@@ -3665,13 +2354,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c28', 13)">Detail</a>
+            <a onclick="showClassDetail('c27', 13)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt28.1' class='hiddenRow bg-success'>
+        <tr id='pt27.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_SSL</div>
             </td>
@@ -3680,7 +2369,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.2' class='hiddenRow bg-success'>
+        <tr id='pt27.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_SSL_CERTIFICATE</div>
             </td>
@@ -3689,7 +2378,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.3' class='hiddenRow bg-success'>
+        <tr id='pt27.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_STARTTLS</div>
             </td>
@@ -3698,7 +2387,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.4' class='hiddenRow bg-success'>
+        <tr id='pt27.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_fallback_Login</div>
             </td>
@@ -3707,7 +2396,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.5' class='hiddenRow bg-success'>
+        <tr id='pt27.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_import</div>
             </td>
@@ -3716,7 +2405,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.6' class='hiddenRow bg-success'>
+        <tr id='pt27.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_import_memberfield</div>
             </td>
@@ -3725,7 +2414,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.7' class='hiddenRow bg-success'>
+        <tr id='pt27.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_LDAP_login</div>
             </td>
@@ -3734,7 +2423,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.8' class='hiddenRow bg-success'>
+        <tr id='pt27.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_invalid_LDAP</div>
             </td>
@@ -3743,7 +2432,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.9' class='hiddenRow bg-success'>
+        <tr id='pt27.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_ldap_about</div>
             </td>
@@ -3752,7 +2441,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.10' class='hiddenRow bg-success'>
+        <tr id='pt27.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_ldap_authentication</div>
             </td>
@@ -3761,7 +2450,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.11' class='hiddenRow bg-success'>
+        <tr id='pt27.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_ldap_kobo_sync</div>
             </td>
@@ -3770,7 +2459,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.12' class='hiddenRow bg-success'>
+        <tr id='pt27.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_ldap_opds_anonymous</div>
             </td>
@@ -3779,7 +2468,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt28.13' class='hiddenRow bg-success'>
+        <tr id='pt27.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLdapLogin - test_ldap_opds_download_book</div>
             </td>
@@ -3797,13 +2486,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c29', 4)">Detail</a>
+            <a onclick="showClassDetail('c28', 4)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt29.1' class='hiddenRow bg-success'>
+        <tr id='pt28.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSecurity - test_login_limit</div>
             </td>
@@ -3812,7 +2501,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt29.2' class='hiddenRow bg-success'>
+        <tr id='pt28.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSecurity - test_opds_limit</div>
             </td>
@@ -3821,7 +2510,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt29.3' class='hiddenRow bg-success'>
+        <tr id='pt28.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSecurity - test_password_strength</div>
             </td>
@@ -3830,7 +2519,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt29.4' class='hiddenRow bg-success'>
+        <tr id='pt28.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestSecurity - test_register_limit</div>
             </td>
@@ -3848,13 +2537,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c30', 10)">Detail</a>
+            <a onclick="showClassDetail('c29', 10)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt30.1' class='hiddenRow bg-success'>
+        <tr id='pt29.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_author_sort</div>
             </td>
@@ -3863,7 +2552,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.2' class='hiddenRow bg-success'>
+        <tr id='pt29.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_download_sort</div>
             </td>
@@ -3872,7 +2561,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.3' class='hiddenRow bg-success'>
+        <tr id='pt29.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_format_sort</div>
             </td>
@@ -3881,7 +2570,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.4' class='hiddenRow bg-success'>
+        <tr id='pt29.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_lang_sort</div>
             </td>
@@ -3890,7 +2579,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.5' class='hiddenRow bg-success'>
+        <tr id='pt29.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_order_authors_all_links</div>
             </td>
@@ -3899,7 +2588,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.6' class='hiddenRow bg-success'>
+        <tr id='pt29.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_order_series_all_links</div>
             </td>
@@ -3908,7 +2597,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.7' class='hiddenRow bg-success'>
+        <tr id='pt29.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_publisher_sort</div>
             </td>
@@ -3917,7 +2606,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.8' class='hiddenRow bg-success'>
+        <tr id='pt29.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_ratings_sort</div>
             </td>
@@ -3926,7 +2615,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.9' class='hiddenRow bg-success'>
+        <tr id='pt29.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_series_sort</div>
             </td>
@@ -3935,7 +2624,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt30.10' class='hiddenRow bg-success'>
+        <tr id='pt29.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebListOrders - test_tags_sort</div>
             </td>
@@ -3953,13 +2642,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c31', 9)">Detail</a>
+            <a onclick="showClassDetail('c30', 9)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt31.1' class='hiddenRow bg-success'>
+        <tr id='pt30.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_access_log_recover</div>
             </td>
@@ -3968,7 +2657,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.2' class='hiddenRow bg-success'>
+        <tr id='pt30.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_debug_log</div>
             </td>
@@ -3977,7 +2666,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.3' class='hiddenRow bg-success'>
+        <tr id='pt30.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_debuginfo_download</div>
             </td>
@@ -3986,7 +2675,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.4' class='hiddenRow bg-success'>
+        <tr id='pt30.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_failed_login</div>
             </td>
@@ -3995,19 +2684,19 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id="st31.5" class="none bg-warning">
+        <tr id="st30.5" class="none bg-warning">
             <td>
                 <div class='testcase'>TestLogging - test_failed_register</div>
             </td>
             <td colspan='6'>
                 <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st31.5')">SKIP</a>
+                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st30.5')">SKIP</a>
                 </div>
                 <!--css div popup start-->
-                <div id="div_st31.5" class="popup_window test_output" style="display:none;">
+                <div id="div_st30.5" class="popup_window test_output" style="display:none;">
                     <div class='close_button pull-right'>
                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_st31.5').style.display='none'"><span
+                                onclick="document.getElementById('div_st30.5').style.display='none'"><span
                                 aria-hidden="true">&times;</span></button>
                     </div>
                     <div class="text-left pull-left">
@@ -4021,7 +2710,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.6' class='hiddenRow bg-success'>
+        <tr id='pt30.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_logbook_download</div>
             </td>
@@ -4030,7 +2719,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.7' class='hiddenRow bg-success'>
+        <tr id='pt30.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_logfile_change</div>
             </td>
@@ -4039,7 +2728,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.8' class='hiddenRow bg-success'>
+        <tr id='pt30.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_logfile_recover</div>
             </td>
@@ -4048,7 +2737,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt31.9' class='hiddenRow bg-success'>
+        <tr id='pt30.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogging - test_logviewer</div>
             </td>
@@ -4066,13 +2755,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c32', 17)">Detail</a>
+            <a onclick="showClassDetail('c31', 17)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt32.1' class='hiddenRow bg-success'>
+        <tr id='pt31.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_digest_login</div>
             </td>
@@ -4081,7 +2770,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.2' class='hiddenRow bg-success'>
+        <tr id='pt31.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_capital_letters_user_unicode_password</div>
             </td>
@@ -4090,7 +2779,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.3' class='hiddenRow bg-success'>
+        <tr id='pt31.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_cookie_steal</div>
             </td>
@@ -4099,7 +2788,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.4' class='hiddenRow bg-success'>
+        <tr id='pt31.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_delete_admin</div>
             </td>
@@ -4108,7 +2797,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.5' class='hiddenRow bg-success'>
+        <tr id='pt31.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_empty_password</div>
             </td>
@@ -4117,7 +2806,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.6' class='hiddenRow bg-success'>
+        <tr id='pt31.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_locale_select</div>
             </td>
@@ -4126,7 +2815,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.7' class='hiddenRow bg-success'>
+        <tr id='pt31.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_protected</div>
             </td>
@@ -4135,7 +2824,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.8' class='hiddenRow bg-success'>
+        <tr id='pt31.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_remember_me</div>
             </td>
@@ -4144,7 +2833,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.9' class='hiddenRow bg-success'>
+        <tr id='pt31.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_rename_user</div>
             </td>
@@ -4153,7 +2842,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.10' class='hiddenRow bg-success'>
+        <tr id='pt31.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_unicode_user_space_end_password</div>
             </td>
@@ -4162,7 +2851,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.11' class='hiddenRow bg-success'>
+        <tr id='pt31.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_login_user_with_space_password_end_space</div>
             </td>
@@ -4171,7 +2860,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.12' class='hiddenRow bg-success'>
+        <tr id='pt31.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_magic_remote_login</div>
             </td>
@@ -4180,7 +2869,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.13' class='hiddenRow bg-success'>
+        <tr id='pt31.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_next</div>
             </td>
@@ -4189,7 +2878,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.14' class='hiddenRow bg-success'>
+        <tr id='pt31.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_password_policy</div>
             </td>
@@ -4198,7 +2887,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.15' class='hiddenRow bg-success'>
+        <tr id='pt31.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_proxy_login</div>
             </td>
@@ -4207,7 +2896,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.16' class='hiddenRow bg-success'>
+        <tr id='pt31.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_proxy_login_opds</div>
             </td>
@@ -4216,7 +2905,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt32.17' class='hiddenRow bg-success'>
+        <tr id='pt31.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestLogin - test_robots</div>
             </td>
@@ -4234,13 +2923,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c33', 2)">Detail</a>
+            <a onclick="showClassDetail('c32', 2)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt33.1' class='hiddenRow bg-success'>
+        <tr id='pt32.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestMergeBooksList - test_book_merge</div>
             </td>
@@ -4249,7 +2938,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt33.2' class='hiddenRow bg-success'>
+        <tr id='pt32.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestMergeBooksList - test_delete_book</div>
             </td>
@@ -4267,13 +2956,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c34', 2)">Detail</a>
+            <a onclick="showClassDetail('c33', 2)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt34.1' class='hiddenRow bg-success'>
+        <tr id='pt33.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOAuthLogin - test_oauth_about</div>
             </td>
@@ -4282,7 +2971,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt34.2' class='hiddenRow bg-success'>
+        <tr id='pt33.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOAuthLogin - test_visible_oauth</div>
             </td>
@@ -4300,13 +2989,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c35', 23)">Detail</a>
+            <a onclick="showClassDetail('c34', 23)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt35.1' class='hiddenRow bg-success'>
+        <tr id='pt34.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds</div>
             </td>
@@ -4315,7 +3004,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.2' class='hiddenRow bg-success'>
+        <tr id='pt34.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_author</div>
             </td>
@@ -4324,7 +3013,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.3' class='hiddenRow bg-success'>
+        <tr id='pt34.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_books</div>
             </td>
@@ -4333,7 +3022,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.4' class='hiddenRow bg-success'>
+        <tr id='pt34.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_calibre_companion</div>
             </td>
@@ -4342,7 +3031,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.5' class='hiddenRow bg-success'>
+        <tr id='pt34.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_colon_password</div>
             </td>
@@ -4351,7 +3040,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.6' class='hiddenRow bg-success'>
+        <tr id='pt34.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_cover</div>
             </td>
@@ -4360,7 +3049,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.7' class='hiddenRow bg-success'>
+        <tr id='pt34.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_download_book</div>
             </td>
@@ -4369,7 +3058,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.8' class='hiddenRow bg-success'>
+        <tr id='pt34.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_formats</div>
             </td>
@@ -4378,7 +3067,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.9' class='hiddenRow bg-success'>
+        <tr id='pt34.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_guest_user</div>
             </td>
@@ -4387,7 +3076,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.10' class='hiddenRow bg-success'>
+        <tr id='pt34.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_hot</div>
             </td>
@@ -4396,7 +3085,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.11' class='hiddenRow bg-success'>
+        <tr id='pt34.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_language</div>
             </td>
@@ -4405,7 +3094,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.12' class='hiddenRow bg-success'>
+        <tr id='pt34.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_non_admin</div>
             </td>
@@ -4414,7 +3103,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.13' class='hiddenRow bg-success'>
+        <tr id='pt34.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_publisher</div>
             </td>
@@ -4423,7 +3112,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.14' class='hiddenRow bg-success'>
+        <tr id='pt34.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_random</div>
             </td>
@@ -4432,7 +3121,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.15' class='hiddenRow bg-success'>
+        <tr id='pt34.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_ratings</div>
             </td>
@@ -4441,7 +3130,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.16' class='hiddenRow bg-success'>
+        <tr id='pt34.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_read_unread</div>
             </td>
@@ -4450,7 +3139,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.17' class='hiddenRow bg-success'>
+        <tr id='pt34.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_search</div>
             </td>
@@ -4459,7 +3148,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.18' class='hiddenRow bg-success'>
+        <tr id='pt34.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_series</div>
             </td>
@@ -4468,7 +3157,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.19' class='hiddenRow bg-success'>
+        <tr id='pt34.19' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_shelf_access</div>
             </td>
@@ -4477,7 +3166,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.20' class='hiddenRow bg-success'>
+        <tr id='pt34.20' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_tags</div>
             </td>
@@ -4486,7 +3175,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.21' class='hiddenRow bg-success'>
+        <tr id='pt34.21' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_top_rated</div>
             </td>
@@ -4495,7 +3184,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.22' class='hiddenRow bg-success'>
+        <tr id='pt34.22' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_opds_unicode_user</div>
             </td>
@@ -4504,7 +3193,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt35.23' class='hiddenRow bg-success'>
+        <tr id='pt34.23' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestOPDSFeed - test_recently_added</div>
             </td>
@@ -4522,13 +3211,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c36', 1)">Detail</a>
+            <a onclick="showClassDetail('c35', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt36.1' class='hiddenRow bg-success'>
+        <tr id='pt35.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUploadPDF - test_upload_invalid_pdf</div>
             </td>
@@ -4546,13 +3235,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c37', 3)">Detail</a>
+            <a onclick="showClassDetail('c36', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt37.1' class='hiddenRow bg-success'>
+        <tr id='pt36.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestPipInstall - test_command_start</div>
             </td>
@@ -4561,7 +3250,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt37.2' class='hiddenRow bg-success'>
+        <tr id='pt36.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestPipInstall - test_foldername_database_location</div>
             </td>
@@ -4570,7 +3259,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt37.3' class='hiddenRow bg-success'>
+        <tr id='pt36.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestPipInstall - test_module_start</div>
             </td>
@@ -4588,13 +3277,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c38', 5)">Detail</a>
+            <a onclick="showClassDetail('c37', 5)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt38.1' class='hiddenRow bg-success'>
+        <tr id='pt37.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReader - test_comic_reader</div>
             </td>
@@ -4603,7 +3292,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt38.2' class='hiddenRow bg-success'>
+        <tr id='pt37.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReader - test_epub_reader</div>
             </td>
@@ -4612,7 +3301,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt38.3' class='hiddenRow bg-success'>
+        <tr id='pt37.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReader - test_pdf_reader</div>
             </td>
@@ -4621,7 +3310,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt38.4' class='hiddenRow bg-success'>
+        <tr id='pt37.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReader - test_sound_listener</div>
             </td>
@@ -4630,7 +3319,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt38.5' class='hiddenRow bg-success'>
+        <tr id='pt37.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReader - test_txt_reader</div>
             </td>
@@ -4648,13 +3337,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c39', 1)">Detail</a>
+            <a onclick="showClassDetail('c38', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt39.1' class='hiddenRow bg-success'>
+        <tr id='pt38.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReadOnlyDatabase - test_readonly_path</div>
             </td>
@@ -4672,13 +3361,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c40', 8)">Detail</a>
+            <a onclick="showClassDetail('c39', 8)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt40.1' class='hiddenRow bg-success'>
+        <tr id='pt39.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_forgot_password</div>
             </td>
@@ -4687,7 +3376,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.2' class='hiddenRow bg-success'>
+        <tr id='pt39.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_illegal_email</div>
             </td>
@@ -4696,7 +3385,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.3' class='hiddenRow bg-success'>
+        <tr id='pt39.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_limit_domain</div>
             </td>
@@ -4705,7 +3394,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.4' class='hiddenRow bg-success'>
+        <tr id='pt39.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_register_no_server</div>
             </td>
@@ -4714,7 +3403,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.5' class='hiddenRow bg-success'>
+        <tr id='pt39.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_registering_only_email</div>
             </td>
@@ -4723,7 +3412,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.6' class='hiddenRow bg-success'>
+        <tr id='pt39.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_registering_user</div>
             </td>
@@ -4732,7 +3421,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.7' class='hiddenRow bg-success'>
+        <tr id='pt39.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_registering_user_fail</div>
             </td>
@@ -4741,7 +3430,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt40.8' class='hiddenRow bg-success'>
+        <tr id='pt39.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestRegister - test_user_change_password</div>
             </td>
@@ -4759,13 +3448,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c41', 3)">Detail</a>
+            <a onclick="showClassDetail('c40', 3)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt41.1' class='hiddenRow bg-success'>
+        <tr id='pt40.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReverseProxy - test_logout</div>
             </td>
@@ -4774,7 +3463,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt41.2' class='hiddenRow bg-success'>
+        <tr id='pt40.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReverseProxy - test_move_page</div>
             </td>
@@ -4783,7 +3472,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt41.3' class='hiddenRow bg-success'>
+        <tr id='pt40.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestReverseProxy - test_reverse_about</div>
             </td>
@@ -4801,13 +3490,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c42', 16)">Detail</a>
+            <a onclick="showClassDetail('c41', 16)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt42.1' class='hiddenRow bg-success'>
+        <tr id='pt41.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_access_shelf</div>
             </td>
@@ -4816,7 +3505,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.2' class='hiddenRow bg-success'>
+        <tr id='pt41.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_add_shelf_from_search</div>
             </td>
@@ -4825,7 +3514,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.3' class='hiddenRow bg-success'>
+        <tr id='pt41.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_adv_search_shelf</div>
             </td>
@@ -4834,7 +3523,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.4' class='hiddenRow bg-success'>
+        <tr id='pt41.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_arrange_shelf</div>
             </td>
@@ -4843,7 +3532,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.5' class='hiddenRow bg-success'>
+        <tr id='pt41.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_create_public_shelf</div>
             </td>
@@ -4852,7 +3541,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.6' class='hiddenRow bg-success'>
+        <tr id='pt41.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_create_public_shelf_no_permission</div>
             </td>
@@ -4861,7 +3550,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.7' class='hiddenRow bg-success'>
+        <tr id='pt41.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_delete_book_of_shelf</div>
             </td>
@@ -4870,7 +3559,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.8' class='hiddenRow bg-success'>
+        <tr id='pt41.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_private_shelf</div>
             </td>
@@ -4879,7 +3568,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.9' class='hiddenRow bg-success'>
+        <tr id='pt41.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_public_private_shelf</div>
             </td>
@@ -4888,7 +3577,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.10' class='hiddenRow bg-success'>
+        <tr id='pt41.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_public_shelf</div>
             </td>
@@ -4897,7 +3586,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.11' class='hiddenRow bg-success'>
+        <tr id='pt41.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_rename_shelf</div>
             </td>
@@ -4906,7 +3595,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.12' class='hiddenRow bg-success'>
+        <tr id='pt41.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_shelf_action_non_shelf_edit_role</div>
             </td>
@@ -4915,7 +3604,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.13' class='hiddenRow bg-success'>
+        <tr id='pt41.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_shelf_anonymous</div>
             </td>
@@ -4924,19 +3613,19 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id="st42.14" class="none bg-warning">
+        <tr id="st41.14" class="none bg-warning">
             <td>
                 <div class='testcase'>TestShelf - test_shelf_database_change</div>
             </td>
             <td colspan='6'>
                 <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st42.14')">SKIP</a>
+                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st41.14')">SKIP</a>
                 </div>
                 <!--css div popup start-->
-                <div id="div_st42.14" class="popup_window test_output" style="display:none;">
+                <div id="div_st41.14" class="popup_window test_output" style="display:none;">
                     <div class='close_button pull-right'>
                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_st42.14').style.display='none'"><span
+                                onclick="document.getElementById('div_st41.14').style.display='none'"><span
                                 aria-hidden="true">&times;</span></button>
                     </div>
                     <div class="text-left pull-left">
@@ -4950,7 +3639,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.15' class='hiddenRow bg-success'>
+        <tr id='pt41.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_shelf_long_name</div>
             </td>
@@ -4959,7 +3648,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt42.16' class='hiddenRow bg-success'>
+        <tr id='pt41.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestShelf - test_xss_shelf</div>
             </td>
@@ -4977,13 +3666,13 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c43', 1)">Detail</a>
+            <a onclick="showClassDetail('c42', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt43.1' class='hiddenRow bg-success'>
+        <tr id='pt42.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnailsEnv - test_cover_cache_env_on_database_change</div>
             </td>
@@ -4993,21 +3682,21 @@ AssertionError: 30 != 0</pre>
     
 
 
-    <tr id="su" class="failClass">
+    <tr id="su" class="skipClass">
         <td>TestThumbnails</td>
         <td class="text-center">8</td>
-        <td class="text-center">6</td>
-        <td class="text-center">1</td>
+        <td class="text-center">7</td>
+        <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c44', 8)">Detail</a>
+            <a onclick="showClassDetail('c43', 8)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt44.1' class='hiddenRow bg-success'>
+        <tr id='pt43.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_cache_non_writable</div>
             </td>
@@ -5016,7 +3705,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt44.2' class='hiddenRow bg-success'>
+        <tr id='pt43.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_cache_of_deleted_book</div>
             </td>
@@ -5025,7 +3714,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt44.3' class='hiddenRow bg-success'>
+        <tr id='pt43.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_cover_cache_on_database_change</div>
             </td>
@@ -5034,7 +3723,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt44.4' class='hiddenRow bg-success'>
+        <tr id='pt43.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_cover_change_on_upload_new_cover</div>
             </td>
@@ -5043,7 +3732,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='st44.5' class='none bg-warning'>
+        <tr id='st43.5' class='none bg-warning'>
             <td>
                 <div class='testcase'>TestThumbnails - test_cover_for_series</div>
             </td>
@@ -5052,7 +3741,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt44.6' class='hiddenRow bg-success'>
+        <tr id='pt43.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_cover_on_upload_book</div>
             </td>
@@ -5061,7 +3750,7 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id='pt44.7' class='hiddenRow bg-success'>
+        <tr id='pt43.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_remove_cover_from_cache</div>
             </td>
@@ -5070,31 +3759,11 @@ AssertionError: 30 != 0</pre>
     
     
     
-        <tr id="ft44.8" class="none bg-danger">
+        <tr id='pt43.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestThumbnails - test_sideloaded_book</div>
             </td>
-            <td colspan='6'>
-                <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft44.8')">FAIL</a>
-                </div>
-                <!--css div popup start-->
-                <div id="div_ft44.8" class="popup_window test_output" style="display:block;">
-                    <div class='close_button pull-right'>
-                        <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_ft44.8').style.display='none'"><span
-                                aria-hidden="true">&times;</span></button>
-                    </div>
-                    <div class="text-left pull-left">
-                        <pre class="text-left">Traceback (most recent call last):
-  File &#34;/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py&#34;, line 310, in test_sideloaded_book
-    self.assertAlmostEqual(diff(BytesIO(list_cover), BytesIO(old_list_cover), delete_diff_file=True), 0.0,
-AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.004088982259570494 difference)</pre>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
-                <!--css div popup end-->
-            </td>
+            <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
@@ -5108,13 +3777,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">1</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c45', 9)">Detail</a>
+            <a onclick="showClassDetail('c44', 9)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt45.1' class='hiddenRow bg-success'>
+        <tr id='pt44.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_check_update_nightly_errors</div>
             </td>
@@ -5123,7 +3792,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.2' class='hiddenRow bg-success'>
+        <tr id='pt44.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_check_update_nightly_request_errors</div>
             </td>
@@ -5132,7 +3801,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.3' class='hiddenRow bg-success'>
+        <tr id='pt44.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_check_update_stable_errors</div>
             </td>
@@ -5141,7 +3810,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.4' class='hiddenRow bg-success'>
+        <tr id='pt44.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_check_update_stable_versions</div>
             </td>
@@ -5150,7 +3819,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.5' class='hiddenRow bg-success'>
+        <tr id='pt44.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_perform_update</div>
             </td>
@@ -5159,7 +3828,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.6' class='hiddenRow bg-success'>
+        <tr id='pt44.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_perform_update_stable_errors</div>
             </td>
@@ -5168,19 +3837,19 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id="st45.7" class="none bg-warning">
+        <tr id="st44.7" class="none bg-warning">
             <td>
                 <div class='testcase'>TestUpdater - test_perform_update_timeout</div>
             </td>
             <td colspan='6'>
                 <div class="text-center">
-                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st45.7')">SKIP</a>
+                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st44.7')">SKIP</a>
                 </div>
                 <!--css div popup start-->
-                <div id="div_st45.7" class="popup_window test_output" style="display:none;">
+                <div id="div_st44.7" class="popup_window test_output" style="display:none;">
                     <div class='close_button pull-right'>
                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();"
-                                onclick="document.getElementById('div_st45.7').style.display='none'"><span
+                                onclick="document.getElementById('div_st44.7').style.display='none'"><span
                                 aria-hidden="true">&times;</span></button>
                     </div>
                     <div class="text-left pull-left">
@@ -5194,7 +3863,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.8' class='hiddenRow bg-success'>
+        <tr id='pt44.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_reconnect_database</div>
             </td>
@@ -5203,7 +3872,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt45.9' class='hiddenRow bg-success'>
+        <tr id='pt44.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUpdater - test_update_write_protect</div>
             </td>
@@ -5221,13 +3890,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c46', 5)">Detail</a>
+            <a onclick="showClassDetail('c45', 5)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt46.1' class='hiddenRow bg-success'>
+        <tr id='pt45.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUploadEPubs - test_upload_epub_cover</div>
             </td>
@@ -5236,7 +3905,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt46.2' class='hiddenRow bg-success'>
+        <tr id='pt45.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUploadEPubs - test_upload_epub_cover_formats</div>
             </td>
@@ -5245,7 +3914,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt46.3' class='hiddenRow bg-success'>
+        <tr id='pt45.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUploadEPubs - test_upload_epub_duplicate</div>
             </td>
@@ -5254,7 +3923,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt46.4' class='hiddenRow bg-success'>
+        <tr id='pt45.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUploadEPubs - test_upload_epub_identifier</div>
             </td>
@@ -5263,7 +3932,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt46.5' class='hiddenRow bg-success'>
+        <tr id='pt45.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUploadEPubs - test_upload_epub_lang</div>
             </td>
@@ -5281,13 +3950,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c47', 18)">Detail</a>
+            <a onclick="showClassDetail('c46', 18)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt47.1' class='hiddenRow bg-success'>
+        <tr id='pt46.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_edit_user_email</div>
             </td>
@@ -5296,7 +3965,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.2' class='hiddenRow bg-success'>
+        <tr id='pt46.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_list_visibility</div>
             </td>
@@ -5305,7 +3974,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.3' class='hiddenRow bg-success'>
+        <tr id='pt46.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_admin_role</div>
             </td>
@@ -5314,7 +3983,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.4' class='hiddenRow bg-success'>
+        <tr id='pt46.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_check_sort</div>
             </td>
@@ -5323,7 +3992,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.5' class='hiddenRow bg-success'>
+        <tr id='pt46.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_denied_tags</div>
             </td>
@@ -5332,7 +4001,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.6' class='hiddenRow bg-success'>
+        <tr id='pt46.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_download_role</div>
             </td>
@@ -5341,7 +4010,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.7' class='hiddenRow bg-success'>
+        <tr id='pt46.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_button</div>
             </td>
@@ -5350,7 +4019,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.8' class='hiddenRow bg-success'>
+        <tr id='pt46.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_email</div>
             </td>
@@ -5359,7 +4028,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.9' class='hiddenRow bg-success'>
+        <tr id='pt46.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_kindle</div>
             </td>
@@ -5368,7 +4037,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.10' class='hiddenRow bg-success'>
+        <tr id='pt46.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_language</div>
             </td>
@@ -5377,7 +4046,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.11' class='hiddenRow bg-success'>
+        <tr id='pt46.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_locale</div>
             </td>
@@ -5386,7 +4055,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.12' class='hiddenRow bg-success'>
+        <tr id='pt46.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_name</div>
             </td>
@@ -5395,7 +4064,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.13' class='hiddenRow bg-success'>
+        <tr id='pt46.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_edit_visiblility</div>
             </td>
@@ -5404,7 +4073,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.14' class='hiddenRow bg-success'>
+        <tr id='pt46.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_guest_edit</div>
             </td>
@@ -5413,7 +4082,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.15' class='hiddenRow bg-success'>
+        <tr id='pt46.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_remove_admin</div>
             </td>
@@ -5422,7 +4091,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.16' class='hiddenRow bg-success'>
+        <tr id='pt46.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_requests</div>
             </td>
@@ -5431,7 +4100,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.17' class='hiddenRow bg-success'>
+        <tr id='pt46.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_search</div>
             </td>
@@ -5440,7 +4109,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt47.18' class='hiddenRow bg-success'>
+        <tr id='pt46.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserList - test_user_list_sort</div>
             </td>
@@ -5458,13 +4127,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c48', 1)">Detail</a>
+            <a onclick="showClassDetail('c47', 1)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt48.1' class='hiddenRow bg-success'>
+        <tr id='pt47.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserLoad - test_user_change_vis</div>
             </td>
@@ -5482,13 +4151,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c49', 21)">Detail</a>
+            <a onclick="showClassDetail('c48', 21)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt49.1' class='hiddenRow bg-success'>
+        <tr id='pt48.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_allow_column_restriction</div>
             </td>
@@ -5497,7 +4166,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.2' class='hiddenRow bg-success'>
+        <tr id='pt48.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_allow_tag_restriction</div>
             </td>
@@ -5506,7 +4175,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.3' class='hiddenRow bg-success'>
+        <tr id='pt48.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_archived_format_template</div>
             </td>
@@ -5515,7 +4184,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.4' class='hiddenRow bg-success'>
+        <tr id='pt48.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_author_user_template</div>
             </td>
@@ -5524,7 +4193,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.5' class='hiddenRow bg-success'>
+        <tr id='pt48.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_best_user_template</div>
             </td>
@@ -5533,7 +4202,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.6' class='hiddenRow bg-success'>
+        <tr id='pt48.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_category_user_template</div>
             </td>
@@ -5542,7 +4211,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.7' class='hiddenRow bg-success'>
+        <tr id='pt48.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_deny_column_restriction</div>
             </td>
@@ -5551,7 +4220,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.8' class='hiddenRow bg-success'>
+        <tr id='pt48.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_deny_tag_restriction</div>
             </td>
@@ -5560,7 +4229,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.9' class='hiddenRow bg-success'>
+        <tr id='pt48.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_detail_random_user_template</div>
             </td>
@@ -5569,7 +4238,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.10' class='hiddenRow bg-success'>
+        <tr id='pt48.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_download_user_template</div>
             </td>
@@ -5578,7 +4247,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.11' class='hiddenRow bg-success'>
+        <tr id='pt48.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_format_user_template</div>
             </td>
@@ -5587,7 +4256,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.12' class='hiddenRow bg-success'>
+        <tr id='pt48.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_hot_user_template</div>
             </td>
@@ -5596,7 +4265,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.13' class='hiddenRow bg-success'>
+        <tr id='pt48.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_language_user_template</div>
             </td>
@@ -5605,7 +4274,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.14' class='hiddenRow bg-success'>
+        <tr id='pt48.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_limit_book_languages</div>
             </td>
@@ -5614,7 +4283,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.15' class='hiddenRow bg-success'>
+        <tr id='pt48.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_list_user_template</div>
             </td>
@@ -5623,7 +4292,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.16' class='hiddenRow bg-success'>
+        <tr id='pt48.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_publisher_user_template</div>
             </td>
@@ -5632,7 +4301,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.17' class='hiddenRow bg-success'>
+        <tr id='pt48.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_random_user_template</div>
             </td>
@@ -5641,7 +4310,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.18' class='hiddenRow bg-success'>
+        <tr id='pt48.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_read_user_template</div>
             </td>
@@ -5650,7 +4319,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.19' class='hiddenRow bg-success'>
+        <tr id='pt48.19' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_recent_user_template</div>
             </td>
@@ -5659,7 +4328,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.20' class='hiddenRow bg-success'>
+        <tr id='pt48.20' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_series_user_template</div>
             </td>
@@ -5668,7 +4337,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt49.21' class='hiddenRow bg-success'>
+        <tr id='pt48.21' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestUserTemplate - test_ui_language_settings</div>
             </td>
@@ -5686,13 +4355,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c50', 35)">Detail</a>
+            <a onclick="showClassDetail('c49', 35)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt50.1' class='hiddenRow bg-success'>
+        <tr id='pt49.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_about</div>
             </td>
@@ -5701,7 +4370,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.2' class='hiddenRow bg-success'>
+        <tr id='pt49.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_SMTP_Settings</div>
             </td>
@@ -5710,7 +4379,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.3' class='hiddenRow bg-success'>
+        <tr id='pt49.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_add_user</div>
             </td>
@@ -5719,7 +4388,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.4' class='hiddenRow bg-success'>
+        <tr id='pt49.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_password</div>
             </td>
@@ -5728,7 +4397,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.5' class='hiddenRow bg-success'>
+        <tr id='pt49.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_archived</div>
             </td>
@@ -5737,7 +4406,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.6' class='hiddenRow bg-success'>
+        <tr id='pt49.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_authors</div>
             </td>
@@ -5746,7 +4415,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.7' class='hiddenRow bg-success'>
+        <tr id='pt49.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_category</div>
             </td>
@@ -5755,7 +4424,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.8' class='hiddenRow bg-success'>
+        <tr id='pt49.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats</div>
             </td>
@@ -5764,7 +4433,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.9' class='hiddenRow bg-success'>
+        <tr id='pt49.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_hot</div>
             </td>
@@ -5773,7 +4442,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.10' class='hiddenRow bg-success'>
+        <tr id='pt49.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_language</div>
             </td>
@@ -5782,7 +4451,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.11' class='hiddenRow bg-success'>
+        <tr id='pt49.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_publisher</div>
             </td>
@@ -5791,7 +4460,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.12' class='hiddenRow bg-success'>
+        <tr id='pt49.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_random</div>
             </td>
@@ -5800,7 +4469,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.13' class='hiddenRow bg-success'>
+        <tr id='pt49.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_rated</div>
             </td>
@@ -5809,7 +4478,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.14' class='hiddenRow bg-success'>
+        <tr id='pt49.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_rating</div>
             </td>
@@ -5818,7 +4487,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.15' class='hiddenRow bg-success'>
+        <tr id='pt49.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_read</div>
             </td>
@@ -5827,7 +4496,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.16' class='hiddenRow bg-success'>
+        <tr id='pt49.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_series</div>
             </td>
@@ -5836,7 +4505,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.17' class='hiddenRow bg-success'>
+        <tr id='pt49.17' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_allow_columns</div>
             </td>
@@ -5845,7 +4514,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.18' class='hiddenRow bg-success'>
+        <tr id='pt49.18' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_allow_tags</div>
             </td>
@@ -5854,7 +4523,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.19' class='hiddenRow bg-success'>
+        <tr id='pt49.19' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_archive_books</div>
             </td>
@@ -5863,7 +4532,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.20' class='hiddenRow bg-success'>
+        <tr id='pt49.20' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_authors_max_settings</div>
             </td>
@@ -5872,7 +4541,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.21' class='hiddenRow bg-success'>
+        <tr id='pt49.21' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_change_title</div>
             </td>
@@ -5881,7 +4550,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.22' class='hiddenRow bg-success'>
+        <tr id='pt49.22' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_checked_logged_in</div>
             </td>
@@ -5890,7 +4559,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.23' class='hiddenRow bg-success'>
+        <tr id='pt49.23' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_hide_custom_column</div>
             </td>
@@ -5899,7 +4568,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.24' class='hiddenRow bg-success'>
+        <tr id='pt49.24' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_link_column_to_read_status</div>
             </td>
@@ -5908,7 +4577,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.25' class='hiddenRow bg-success'>
+        <tr id='pt49.25' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_random_books_available</div>
             </td>
@@ -5917,7 +4586,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.26' class='hiddenRow bg-success'>
+        <tr id='pt49.26' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_read_status_visible</div>
             </td>
@@ -5926,7 +4595,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.27' class='hiddenRow bg-success'>
+        <tr id='pt49.27' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_request_link_column_to_read_status</div>
             </td>
@@ -5935,7 +4604,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.28' class='hiddenRow bg-success'>
+        <tr id='pt49.28' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_restrict_columns</div>
             </td>
@@ -5944,7 +4613,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.29' class='hiddenRow bg-success'>
+        <tr id='pt49.29' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_restrict_tags</div>
             </td>
@@ -5953,7 +4622,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.30' class='hiddenRow bg-success'>
+        <tr id='pt49.30' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_save_views_recent</div>
             </td>
@@ -5962,7 +4631,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.31' class='hiddenRow bg-success'>
+        <tr id='pt49.31' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_search_functions</div>
             </td>
@@ -5971,7 +4640,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.32' class='hiddenRow bg-success'>
+        <tr id='pt49.32' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_search_order</div>
             </td>
@@ -5980,7 +4649,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.33' class='hiddenRow bg-success'>
+        <tr id='pt49.33' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_search_string</div>
             </td>
@@ -5989,7 +4658,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.34' class='hiddenRow bg-success'>
+        <tr id='pt49.34' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_user_email_available</div>
             </td>
@@ -5998,7 +4667,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt50.35' class='hiddenRow bg-success'>
+        <tr id='pt49.35' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreWebVisibilitys - test_user_visibility_sidebar</div>
             </td>
@@ -6016,13 +4685,13 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">0</td>
         <td class="text-center">0</td>
         <td class="text-center">
-            <a onclick="showClassDetail('c51', 16)">Detail</a>
+            <a onclick="showClassDetail('c50', 16)">Detail</a>
         </td>
     </tr>
 
     
     
-        <tr id='pt51.1' class='hiddenRow bg-success'>
+        <tr id='pt50.1' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_author_sort</div>
             </td>
@@ -6031,7 +4700,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.2' class='hiddenRow bg-success'>
+        <tr id='pt50.2' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_author_sort_comma</div>
             </td>
@@ -6040,7 +4709,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.3' class='hiddenRow bg-success'>
+        <tr id='pt50.3' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_author_sort_junior</div>
             </td>
@@ -6049,7 +4718,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.4' class='hiddenRow bg-success'>
+        <tr id='pt50.4' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_author_sort_oneword</div>
             </td>
@@ -6058,7 +4727,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.5' class='hiddenRow bg-success'>
+        <tr id='pt50.5' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_author_sort_roman</div>
             </td>
@@ -6067,7 +4736,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.6' class='hiddenRow bg-success'>
+        <tr id='pt50.6' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_Limit_Length</div>
             </td>
@@ -6076,7 +4745,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.7' class='hiddenRow bg-success'>
+        <tr id='pt50.7' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_char_replacement</div>
             </td>
@@ -6085,7 +4754,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.8' class='hiddenRow bg-success'>
+        <tr id='pt50.8' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_chinese_Characters</div>
             </td>
@@ -6094,7 +4763,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.9' class='hiddenRow bg-success'>
+        <tr id='pt50.9' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_deg_eur_replacement</div>
             </td>
@@ -6103,7 +4772,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.10' class='hiddenRow bg-success'>
+        <tr id='pt50.10' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_doubleS</div>
             </td>
@@ -6112,7 +4781,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.11' class='hiddenRow bg-success'>
+        <tr id='pt50.11' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_finish_Dot</div>
             </td>
@@ -6121,7 +4790,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.12' class='hiddenRow bg-success'>
+        <tr id='pt50.12' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_high23</div>
             </td>
@@ -6130,7 +4799,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.13' class='hiddenRow bg-success'>
+        <tr id='pt50.13' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_check_umlauts</div>
             </td>
@@ -6139,7 +4808,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.14' class='hiddenRow bg-success'>
+        <tr id='pt50.14' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_random_password</div>
             </td>
@@ -6148,7 +4817,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.15' class='hiddenRow bg-success'>
+        <tr id='pt50.15' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_split_authors</div>
             </td>
@@ -6157,7 +4826,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     
     
     
-        <tr id='pt51.16' class='hiddenRow bg-success'>
+        <tr id='pt50.16' class='hiddenRow bg-success'>
             <td>
                 <div class='testcase'>TestCalibreHelper - test_whitespaces</div>
             </td>
@@ -6168,10 +4837,10 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
 
     <tr id='total_row' class="text-center bg-grey">
         <td>Total</td>
-        <td>449</td>
-        <td>426</td>
-        <td>2</td>
-        <td>14</td>
+        <td>431</td>
+        <td>423</td>
+        <td>0</td>
+        <td>1</td>
         <td>7</td>
         <td>&nbsp;</td>
     </tr>
@@ -6218,7 +4887,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>APScheduler</th>
-              <td>3.10.0</td>
+              <td>3.10.1</td>
               <td>Basic</td>
             </tr>
           
@@ -6356,7 +5025,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestCliGdrivedb</td>
             </tr>
           
@@ -6386,7 +5055,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEbookConvertCalibreGDrive</td>
             </tr>
           
@@ -6416,7 +5085,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEbookConvertGDriveKepubify</td>
             </tr>
           
@@ -6458,7 +5127,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEditAuthorsGdrive</td>
             </tr>
           
@@ -6494,7 +5163,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEditBooksOnGdrive</td>
             </tr>
           
@@ -6536,7 +5205,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestSetupGdrive</td>
             </tr>
           
@@ -6626,7 +5295,7 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
 </div>
 
 <script>
-    drawCircle(426, 2, 14, 7);
+    drawCircle(423, 0, 1, 7);
     showCase(5);
 </script>
 

programming_language: HTML