CVE-2022-2525: Improper Restriction of Excessive Authentication Attempts (CWE-307)
value: Improper Restriction of Excessive Authentication Attempts in GitHub repository janeczku/calibre-web prior to 0.6.20.
CWE description: The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame, making it more susceptible to brute force attacks.
CVSS v3 base score: 9.8
Published: 2023-04-15T13:15Z
Repository: https://github.com/janeczku/calibre-web
Language: Other
Files changed: test/Calibre-Web TestSummary_Linux.html	
Commit date: 2023-03-04 10:37:05 +0100
Commit message: ** Be careful, after updating, there is no way back **
** Please install flask-limiter after updating **

Update Teststatus
Bugfix after merge
Bugfix generate Metadata backup

Diff: diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html
index b003eb8fc9..2c8c5f9c54 100644
--- a/test/Calibre-Web TestSummary_Linux.html	
+++ b/test/Calibre-Web TestSummary_Linux.html	
@@ -35,24 +35,24 @@
       </div>
       <div class="col-xs-12 col-sm-6">
       <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>
     </div>
   </div>
@@ -232,238 +232,124 @@
         </tr>
     
     
 
 
-    <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>
         <td class="text-center">12</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -477,44 +363,44 @@
         <td class="text-center">4</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -528,26 +414,26 @@
         <td class="text-center">2</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -561,17 +447,17 @@
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -585,1393 +471,216 @@
         <td class="text-center">15</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
 
 
-    <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>
     
     
 
 
@@ -1981,35 +690,35 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">3</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -2023,35 +732,35 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">3</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -2065,161 +774,161 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">16</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>SKIP</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -2233,200 +942,200 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">35</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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">
                         <pre class="text-left">Not Implemented</pre>
                     </div>
@@ -2436,146 +1145,146 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
             </td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -2589,62 +1298,62 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">6</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -2658,62 +1367,62 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">6</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -2727,439 +1436,419 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=&#39;localhost&#39;, p
         <td class="text-center">18</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
 
 
-    <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
 
 
-    <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>
     
     
 
 
@@ -3169,35 +1858,35 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">3</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3211,71 +1900,71 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">7</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3289,17 +1978,17 @@ AssertionError: 30 != 0</pre>
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3313,26 +2002,26 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">2</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3346,38 +2035,38 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">2</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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">
                         <pre class="text-left">Not implemented</pre>
                     </div>
@@ -3387,11 +2076,11 @@ AssertionError: 30 != 0</pre>
             </td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3405,17 +2094,17 @@ AssertionError: 30 != 0</pre>
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3429,35 +2118,35 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">3</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3471,116 +2160,116 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">12</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3594,62 +2283,62 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">6</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3663,125 +2352,125 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">13</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3795,44 +2484,44 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">4</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3846,98 +2535,98 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">10</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -3951,65 +2640,65 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">8</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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">
                         <pre class="text-left">Not Implemented</pre>
                     </div>
@@ -4019,38 +2708,38 @@ AssertionError: 30 != 0</pre>
             </td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4064,161 +2753,161 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">17</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4232,26 +2921,26 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">2</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4265,26 +2954,26 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">2</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4298,215 +2987,215 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">23</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4520,17 +3209,17 @@ AssertionError: 30 != 0</pre>
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4544,35 +3233,35 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">3</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4586,53 +3275,53 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">5</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4646,17 +3335,17 @@ AssertionError: 30 != 0</pre>
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4670,80 +3359,80 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">8</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4757,35 +3446,35 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">3</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4799,146 +3488,146 @@ AssertionError: 30 != 0</pre>
         <td class="text-center">15</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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">
                         <pre class="text-left">Change Database Not Implemented</pre>
                     </div>
@@ -4948,20 +3637,20 @@ AssertionError: 30 != 0</pre>
             </td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -4975,128 +3664,108 @@ AssertionError: 30 != 0</pre>
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
 
 
-    <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>SKIP</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
     
     
 
 
@@ -5106,83 +3775,83 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">8</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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">
                         <pre class="text-left">Takes too long</pre>
                     </div>
@@ -5192,20 +3861,20 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
             </td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -5219,53 +3888,53 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">5</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -5279,170 +3948,170 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">18</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -5456,17 +4125,17 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -5480,197 +4149,197 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">21</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -5684,323 +4353,323 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">35</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
@@ -6014,166 +4683,166 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
         <td class="text-center">16</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('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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
     
-        <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>
             <td colspan='6' align='center'>PASS</td>
         </tr>
     
     
 
     <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>
 </table>
 <div class="panel-group">
@@ -6216,11 +4885,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>Basic</td>
             </tr>
           
             <tr>
               <th>APScheduler</th>
-              <td>3.10.0</td>
+              <td>3.10.1</td>
               <td>Basic</td>
             </tr>
           
             <tr>
               <th>Babel</th>
@@ -6354,11 +5023,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>Basic</td>
             </tr>
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestCliGdrivedb</td>
             </tr>
           
             <tr>
               <th>httplib2</th>
@@ -6384,11 +5053,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>TestCliGdrivedb</td>
             </tr>
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEbookConvertCalibreGDrive</td>
             </tr>
           
             <tr>
               <th>httplib2</th>
@@ -6414,11 +5083,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>TestEbookConvertCalibreGDrive</td>
             </tr>
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEbookConvertGDriveKepubify</td>
             </tr>
           
             <tr>
               <th>httplib2</th>
@@ -6456,11 +5125,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>TestEditAdditionalBooks</td>
             </tr>
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEditAuthorsGdrive</td>
             </tr>
           
             <tr>
               <th>httplib2</th>
@@ -6492,11 +5161,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>TestLoadMetadata</td>
             </tr>
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestEditBooksOnGdrive</td>
             </tr>
           
             <tr>
               <th>httplib2</th>
@@ -6534,11 +5203,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
               <td>TestLoadMetadataScholar</td>
             </tr>
           
             <tr>
               <th>google-api-python-client</th>
-              <td>2.79.0</td>
+              <td>2.80.0</td>
               <td>TestSetupGdrive</td>
             </tr>
           
             <tr>
               <th>httplib2</th>
@@ -6624,11 +5293,11 @@ AssertionError: 0.004088982259570494 != 0.0 within 0.0001 delta (0.0040889822595
     </div>
   </div>
 </div>
 
 <script>
-    drawCircle(426, 2, 14, 7);
+    drawCircle(423, 0, 1, 7);
     showCase(5);
 </script>
 
 
 

Vulnerable code:             <p class='text-justify attribute'><strong>Start Time: </strong>2023-02-28 19:53:13</p>
            <p class='text-justify attribute'><strong>Stop Time: </strong>2023-03-01 02:13:56</p>
           <p class='text-justify attribute'><strong>Duration: </strong>5h 28 min</p>
    <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>
    
    


            <a onclick="showClassDetail('c3', 12)">Detail</a>
        <tr id='pt3.1' class='hiddenRow bg-success'>
        <tr id='pt3.2' class='hiddenRow bg-success'>
        <tr id='pt3.3' class='hiddenRow bg-success'>
        <tr id='pt3.4' class='hiddenRow bg-success'>
        <tr id='pt3.5' class='hiddenRow bg-success'>
        <tr id='pt3.6' class='hiddenRow bg-success'>
        <tr id='pt3.7' class='hiddenRow bg-success'>
        <tr id='pt3.8' class='hiddenRow bg-success'>
        <tr id='pt3.9' class='hiddenRow bg-success'>
        <tr id='pt3.10' class='hiddenRow bg-success'>
        <tr id='pt3.11' class='hiddenRow bg-success'>
        <tr id='pt3.12' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c4', 4)">Detail</a>
        <tr id='pt4.1' class='hiddenRow bg-success'>
        <tr id='pt4.2' class='hiddenRow bg-success'>
        <tr id='pt4.3' class='hiddenRow bg-success'>
        <tr id='pt4.4' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c5', 2)">Detail</a>
        <tr id='pt5.1' class='hiddenRow bg-success'>
        <tr id='pt5.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c6', 1)">Detail</a>
        <tr id='pt6.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c7', 15)">Detail</a>
        <tr id='pt7.1' class='hiddenRow bg-success'>
        <tr id='pt7.2' class='hiddenRow bg-success'>
        <tr id='pt7.3' class='hiddenRow bg-success'>
        <tr id='pt7.4' class='hiddenRow bg-success'>
        <tr id='pt7.5' class='hiddenRow bg-success'>
        <tr id='pt7.6' class='hiddenRow bg-success'>
        <tr id='pt7.7' class='hiddenRow bg-success'>
        <tr id='pt7.8' class='hiddenRow bg-success'>
        <tr id='pt7.9' class='hiddenRow bg-success'>
        <tr id='pt7.10' class='hiddenRow bg-success'>
        <tr id='pt7.11' class='hiddenRow bg-success'>
        <tr id='pt7.12' class='hiddenRow bg-success'>
        <tr id='pt7.13' class='hiddenRow bg-success'>
        <tr id='pt7.14' class='hiddenRow bg-success'>
        <tr id='pt7.15' class='hiddenRow bg-success'>
    <tr id="su" class="errorClass">
        <td class="text-center">13</td>
        <td class="text-center">13</td>
            <a onclick="showClassDetail('c8', 13)">Detail</a>
        <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">
                <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-->
        <tr id="et8.9" class="none bg-info">
                <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-->
        <tr id="et8.10" class="none bg-info">
                <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-->
        <tr id="et8.11" class="none bg-info">
                <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-->
        <tr id="et8.12" class="none bg-info">
                <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-->
        <tr id="et8.13" class="none bg-info">
                <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-->
            <a onclick="showClassDetail('c9', 3)">Detail</a>
        <tr id='pt9.1' class='hiddenRow bg-success'>
        <tr id='pt9.2' class='hiddenRow bg-success'>
        <tr id='pt9.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c10', 3)">Detail</a>
        <tr id='pt10.1' class='hiddenRow bg-success'>
        <tr id='pt10.2' class='hiddenRow bg-success'>
        <tr id='pt10.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c11', 17)">Detail</a>
        <tr id='pt11.1' class='hiddenRow bg-success'>
        <tr id='pt11.2' class='hiddenRow bg-success'>
        <tr id='pt11.3' class='hiddenRow bg-success'>
        <tr id='pt11.4' class='hiddenRow bg-success'>
        <tr id='pt11.5' class='hiddenRow bg-success'>
        <tr id='pt11.6' class='hiddenRow bg-success'>
        <tr id='pt11.7' class='hiddenRow bg-success'>
        <tr id='pt11.8' class='hiddenRow bg-success'>
        <tr id='pt11.9' class='hiddenRow bg-success'>
        <tr id='pt11.10' class='hiddenRow bg-success'>
        <tr id='pt11.11' class='hiddenRow bg-success'>
        <tr id='pt11.12' class='hiddenRow bg-success'>
        <tr id='pt11.13' class='hiddenRow bg-success'>
        <tr id='pt11.14' class='hiddenRow bg-success'>
        <tr id='st11.15' class='none bg-warning'>
        <tr id='pt11.16' class='hiddenRow bg-success'>
        <tr id='pt11.17' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c12', 36)">Detail</a>
        <tr id='pt12.1' class='hiddenRow bg-success'>
        <tr id='pt12.2' class='hiddenRow bg-success'>
        <tr id='pt12.3' class='hiddenRow bg-success'>
        <tr id='pt12.4' class='hiddenRow bg-success'>
        <tr id='pt12.5' class='hiddenRow bg-success'>
        <tr id='pt12.6' class='hiddenRow bg-success'>
        <tr id='pt12.7' class='hiddenRow bg-success'>
        <tr id='pt12.8' class='hiddenRow bg-success'>
        <tr id='pt12.9' class='hiddenRow bg-success'>
        <tr id='pt12.10' class='hiddenRow bg-success'>
        <tr id='pt12.11' class='hiddenRow bg-success'>
        <tr id='pt12.12' class='hiddenRow bg-success'>
        <tr id='pt12.13' class='hiddenRow bg-success'>
        <tr id='pt12.14' class='hiddenRow bg-success'>
        <tr id='pt12.15' class='hiddenRow bg-success'>
        <tr id='pt12.16' class='hiddenRow bg-success'>
        <tr id='pt12.17' class='hiddenRow bg-success'>
        <tr id='pt12.18' class='hiddenRow bg-success'>
        <tr id='pt12.19' class='hiddenRow bg-success'>
        <tr id="st12.20" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st12.20')">SKIP</a>
                <div id="div_st12.20" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st12.20').style.display='none'"><span
        <tr id='pt12.21' class='hiddenRow bg-success'>
        <tr id='pt12.22' class='hiddenRow bg-success'>
        <tr id='pt12.23' class='hiddenRow bg-success'>
        <tr id='pt12.24' class='hiddenRow bg-success'>
        <tr id='pt12.25' class='hiddenRow bg-success'>
        <tr id='pt12.26' class='hiddenRow bg-success'>
        <tr id='pt12.27' class='hiddenRow bg-success'>
        <tr id='pt12.28' class='hiddenRow bg-success'>
        <tr id='pt12.29' class='hiddenRow bg-success'>
        <tr id='pt12.30' class='hiddenRow bg-success'>
        <tr id='pt12.31' class='hiddenRow bg-success'>
        <tr id='pt12.32' class='hiddenRow bg-success'>
        <tr id='pt12.33' class='hiddenRow bg-success'>
        <tr id='pt12.34' class='hiddenRow bg-success'>
        <tr id='pt12.35' class='hiddenRow bg-success'>
        <tr id='pt12.36' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c13', 6)">Detail</a>
        <tr id='pt13.1' class='hiddenRow bg-success'>
        <tr id='pt13.2' class='hiddenRow bg-success'>
        <tr id='pt13.3' class='hiddenRow bg-success'>
        <tr id='pt13.4' class='hiddenRow bg-success'>
        <tr id='pt13.5' class='hiddenRow bg-success'>
        <tr id='pt13.6' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c14', 6)">Detail</a>
        <tr id='pt14.1' class='hiddenRow bg-success'>
        <tr id='pt14.2' class='hiddenRow bg-success'>
        <tr id='pt14.3' class='hiddenRow bg-success'>
        <tr id='pt14.4' class='hiddenRow bg-success'>
        <tr id='pt14.5' class='hiddenRow bg-success'>
        <tr id='pt14.6' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c15', 18)">Detail</a>
        <tr id='pt15.1' class='hiddenRow bg-success'>
        <tr id='pt15.2' class='hiddenRow bg-success'>
        <tr id='pt15.3' class='hiddenRow bg-success'>
        <tr id='pt15.4' class='hiddenRow bg-success'>
        <tr id='pt15.5' class='hiddenRow bg-success'>
        <tr id='pt15.6' class='hiddenRow bg-success'>
        <tr id='pt15.7' class='hiddenRow bg-success'>
        <tr id='pt15.8' class='hiddenRow bg-success'>
        <tr id='pt15.9' class='hiddenRow bg-success'>
        <tr id='pt15.10' class='hiddenRow bg-success'>
        <tr id='pt15.11' class='hiddenRow bg-success'>
        <tr id='pt15.12' class='hiddenRow bg-success'>
        <tr id='pt15.13' class='hiddenRow bg-success'>
        <tr id='pt15.14' class='hiddenRow bg-success'>
        <tr id='pt15.15' class='hiddenRow bg-success'>
        <tr id='pt15.16' class='hiddenRow bg-success'>
        <tr id='pt15.17' class='hiddenRow bg-success'>
        <tr id='pt15.18' class='hiddenRow bg-success'>
    <tr id="su" class="errorClass">
        <td class="text-center">1</td>
            <a onclick="showClassDetail('c16', 1)">Detail</a>
        <tr id="et16.1" class="none bg-info">
            <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>
    <tr id="su" class="passClass">
        <td class="text-center">18</td>
        <td class="text-center">0</td>
            <a onclick="showClassDetail('c17', 18)">Detail</a>
        <tr id='pt17.1' class='hiddenRow bg-success'>
        <tr id='pt17.2' class='hiddenRow bg-success'>
        <tr id='pt17.3' class='hiddenRow bg-success'>
        <tr id='pt17.4' class='hiddenRow bg-success'>
        <tr id='pt17.5' class='hiddenRow bg-success'>
        <tr id='pt17.6' class='hiddenRow bg-success'>
        <tr id='pt17.7' class='hiddenRow bg-success'>
        <tr id='pt17.8' class='hiddenRow bg-success'>
        <tr id='pt17.9' class='hiddenRow bg-success'>
        <tr id='pt17.10' class='hiddenRow bg-success'>
        <tr id='pt17.11' class='hiddenRow bg-success'>
        <tr id='pt17.12' class='hiddenRow bg-success'>
        <tr id='pt17.13' class='hiddenRow bg-success'>
        <tr id='pt17.14' class='hiddenRow bg-success'>
        <tr id='pt17.15' class='hiddenRow bg-success'>
        <tr id='pt17.16' class='hiddenRow bg-success'>
            <td colspan='6' align='center'>PASS</td>
        <tr id='pt17.17' class='hiddenRow bg-success'>
        <tr id='pt17.18' class='hiddenRow bg-success'>
    <tr id="su" class="failClass">
        <td class="text-center">0</td>
            <a onclick="showClassDetail('c18', 1)">Detail</a>
        <tr id="ft18.1" class="none bg-danger">
            <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>
            <a onclick="showClassDetail('c19', 3)">Detail</a>
        <tr id='pt19.1' class='hiddenRow bg-success'>
        <tr id='pt19.2' class='hiddenRow bg-success'>
        <tr id='pt19.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c20', 7)">Detail</a>
        <tr id='pt20.1' class='hiddenRow bg-success'>
        <tr id='pt20.2' class='hiddenRow bg-success'>
        <tr id='pt20.3' class='hiddenRow bg-success'>
        <tr id='pt20.4' class='hiddenRow bg-success'>
        <tr id='pt20.5' class='hiddenRow bg-success'>
        <tr id='pt20.6' class='hiddenRow bg-success'>
        <tr id='pt20.7' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c21', 1)">Detail</a>
        <tr id='pt21.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c22', 2)">Detail</a>
        <tr id='pt22.1' class='hiddenRow bg-success'>
        <tr id='pt22.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c23', 3)">Detail</a>
        <tr id='pt23.1' class='hiddenRow bg-success'>
        <tr id="st23.2" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st23.2')">SKIP</a>
                <div id="div_st23.2" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st23.2').style.display='none'"><span
        <tr id='pt23.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c24', 1)">Detail</a>
        <tr id='pt24.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c25', 3)">Detail</a>
        <tr id='pt25.1' class='hiddenRow bg-success'>
        <tr id='pt25.2' class='hiddenRow bg-success'>
        <tr id='pt25.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c26', 12)">Detail</a>
        <tr id='pt26.1' class='hiddenRow bg-success'>
        <tr id='pt26.2' class='hiddenRow bg-success'>
        <tr id='pt26.3' class='hiddenRow bg-success'>
        <tr id='pt26.4' class='hiddenRow bg-success'>
        <tr id='pt26.5' class='hiddenRow bg-success'>
        <tr id='pt26.6' class='hiddenRow bg-success'>
        <tr id='pt26.7' class='hiddenRow bg-success'>
        <tr id='pt26.8' class='hiddenRow bg-success'>
        <tr id='pt26.9' class='hiddenRow bg-success'>
        <tr id='pt26.10' class='hiddenRow bg-success'>
        <tr id='pt26.11' class='hiddenRow bg-success'>
        <tr id='pt26.12' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c27', 6)">Detail</a>
        <tr id='pt27.1' class='hiddenRow bg-success'>
        <tr id='pt27.2' class='hiddenRow bg-success'>
        <tr id='pt27.3' class='hiddenRow bg-success'>
        <tr id='pt27.4' class='hiddenRow bg-success'>
        <tr id='pt27.5' class='hiddenRow bg-success'>
        <tr id='pt27.6' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c28', 13)">Detail</a>
        <tr id='pt28.1' class='hiddenRow bg-success'>
        <tr id='pt28.2' class='hiddenRow bg-success'>
        <tr id='pt28.3' class='hiddenRow bg-success'>
        <tr id='pt28.4' class='hiddenRow bg-success'>
        <tr id='pt28.5' class='hiddenRow bg-success'>
        <tr id='pt28.6' class='hiddenRow bg-success'>
        <tr id='pt28.7' class='hiddenRow bg-success'>
        <tr id='pt28.8' class='hiddenRow bg-success'>
        <tr id='pt28.9' class='hiddenRow bg-success'>
        <tr id='pt28.10' class='hiddenRow bg-success'>
        <tr id='pt28.11' class='hiddenRow bg-success'>
        <tr id='pt28.12' class='hiddenRow bg-success'>
        <tr id='pt28.13' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c29', 4)">Detail</a>
        <tr id='pt29.1' class='hiddenRow bg-success'>
        <tr id='pt29.2' class='hiddenRow bg-success'>
        <tr id='pt29.3' class='hiddenRow bg-success'>
        <tr id='pt29.4' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c30', 10)">Detail</a>
        <tr id='pt30.1' class='hiddenRow bg-success'>
        <tr id='pt30.2' class='hiddenRow bg-success'>
        <tr id='pt30.3' class='hiddenRow bg-success'>
        <tr id='pt30.4' class='hiddenRow bg-success'>
        <tr id='pt30.5' class='hiddenRow bg-success'>
        <tr id='pt30.6' class='hiddenRow bg-success'>
        <tr id='pt30.7' class='hiddenRow bg-success'>
        <tr id='pt30.8' class='hiddenRow bg-success'>
        <tr id='pt30.9' class='hiddenRow bg-success'>
        <tr id='pt30.10' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c31', 9)">Detail</a>
        <tr id='pt31.1' class='hiddenRow bg-success'>
        <tr id='pt31.2' class='hiddenRow bg-success'>
        <tr id='pt31.3' class='hiddenRow bg-success'>
        <tr id='pt31.4' class='hiddenRow bg-success'>
        <tr id="st31.5" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st31.5')">SKIP</a>
                <div id="div_st31.5" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st31.5').style.display='none'"><span
        <tr id='pt31.6' class='hiddenRow bg-success'>
        <tr id='pt31.7' class='hiddenRow bg-success'>
        <tr id='pt31.8' class='hiddenRow bg-success'>
        <tr id='pt31.9' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c32', 17)">Detail</a>
        <tr id='pt32.1' class='hiddenRow bg-success'>
        <tr id='pt32.2' class='hiddenRow bg-success'>
        <tr id='pt32.3' class='hiddenRow bg-success'>
        <tr id='pt32.4' class='hiddenRow bg-success'>
        <tr id='pt32.5' class='hiddenRow bg-success'>
        <tr id='pt32.6' class='hiddenRow bg-success'>
        <tr id='pt32.7' class='hiddenRow bg-success'>
        <tr id='pt32.8' class='hiddenRow bg-success'>
        <tr id='pt32.9' class='hiddenRow bg-success'>
        <tr id='pt32.10' class='hiddenRow bg-success'>
        <tr id='pt32.11' class='hiddenRow bg-success'>
        <tr id='pt32.12' class='hiddenRow bg-success'>
        <tr id='pt32.13' class='hiddenRow bg-success'>
        <tr id='pt32.14' class='hiddenRow bg-success'>
        <tr id='pt32.15' class='hiddenRow bg-success'>
        <tr id='pt32.16' class='hiddenRow bg-success'>
        <tr id='pt32.17' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c33', 2)">Detail</a>
        <tr id='pt33.1' class='hiddenRow bg-success'>
        <tr id='pt33.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c34', 2)">Detail</a>
        <tr id='pt34.1' class='hiddenRow bg-success'>
        <tr id='pt34.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c35', 23)">Detail</a>
        <tr id='pt35.1' class='hiddenRow bg-success'>
        <tr id='pt35.2' class='hiddenRow bg-success'>
        <tr id='pt35.3' class='hiddenRow bg-success'>
        <tr id='pt35.4' class='hiddenRow bg-success'>
        <tr id='pt35.5' class='hiddenRow bg-success'>
        <tr id='pt35.6' class='hiddenRow bg-success'>
        <tr id='pt35.7' class='hiddenRow bg-success'>
        <tr id='pt35.8' class='hiddenRow bg-success'>
        <tr id='pt35.9' class='hiddenRow bg-success'>
        <tr id='pt35.10' class='hiddenRow bg-success'>
        <tr id='pt35.11' class='hiddenRow bg-success'>
        <tr id='pt35.12' class='hiddenRow bg-success'>
        <tr id='pt35.13' class='hiddenRow bg-success'>
        <tr id='pt35.14' class='hiddenRow bg-success'>
        <tr id='pt35.15' class='hiddenRow bg-success'>
        <tr id='pt35.16' class='hiddenRow bg-success'>
        <tr id='pt35.17' class='hiddenRow bg-success'>
        <tr id='pt35.18' class='hiddenRow bg-success'>
        <tr id='pt35.19' class='hiddenRow bg-success'>
        <tr id='pt35.20' class='hiddenRow bg-success'>
        <tr id='pt35.21' class='hiddenRow bg-success'>
        <tr id='pt35.22' class='hiddenRow bg-success'>
        <tr id='pt35.23' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c36', 1)">Detail</a>
        <tr id='pt36.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c37', 3)">Detail</a>
        <tr id='pt37.1' class='hiddenRow bg-success'>
        <tr id='pt37.2' class='hiddenRow bg-success'>
        <tr id='pt37.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c38', 5)">Detail</a>
        <tr id='pt38.1' class='hiddenRow bg-success'>
        <tr id='pt38.2' class='hiddenRow bg-success'>
        <tr id='pt38.3' class='hiddenRow bg-success'>
        <tr id='pt38.4' class='hiddenRow bg-success'>
        <tr id='pt38.5' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c39', 1)">Detail</a>
        <tr id='pt39.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c40', 8)">Detail</a>
        <tr id='pt40.1' class='hiddenRow bg-success'>
        <tr id='pt40.2' class='hiddenRow bg-success'>
        <tr id='pt40.3' class='hiddenRow bg-success'>
        <tr id='pt40.4' class='hiddenRow bg-success'>
        <tr id='pt40.5' class='hiddenRow bg-success'>
        <tr id='pt40.6' class='hiddenRow bg-success'>
        <tr id='pt40.7' class='hiddenRow bg-success'>
        <tr id='pt40.8' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c41', 3)">Detail</a>
        <tr id='pt41.1' class='hiddenRow bg-success'>
        <tr id='pt41.2' class='hiddenRow bg-success'>
        <tr id='pt41.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c42', 16)">Detail</a>
        <tr id='pt42.1' class='hiddenRow bg-success'>
        <tr id='pt42.2' class='hiddenRow bg-success'>
        <tr id='pt42.3' class='hiddenRow bg-success'>
        <tr id='pt42.4' class='hiddenRow bg-success'>
        <tr id='pt42.5' class='hiddenRow bg-success'>
        <tr id='pt42.6' class='hiddenRow bg-success'>
        <tr id='pt42.7' class='hiddenRow bg-success'>
        <tr id='pt42.8' class='hiddenRow bg-success'>
        <tr id='pt42.9' class='hiddenRow bg-success'>
        <tr id='pt42.10' class='hiddenRow bg-success'>
        <tr id='pt42.11' class='hiddenRow bg-success'>
        <tr id='pt42.12' class='hiddenRow bg-success'>
        <tr id='pt42.13' class='hiddenRow bg-success'>
        <tr id="st42.14" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st42.14')">SKIP</a>
                <div id="div_st42.14" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st42.14').style.display='none'"><span
        <tr id='pt42.15' class='hiddenRow bg-success'>
        <tr id='pt42.16' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c43', 1)">Detail</a>
        <tr id='pt43.1' class='hiddenRow bg-success'>
    <tr id="su" class="failClass">
        <td class="text-center">6</td>
        <td class="text-center">1</td>
            <a onclick="showClassDetail('c44', 8)">Detail</a>
        <tr id='pt44.1' class='hiddenRow bg-success'>
        <tr id='pt44.2' class='hiddenRow bg-success'>
        <tr id='pt44.3' class='hiddenRow bg-success'>
        <tr id='pt44.4' class='hiddenRow bg-success'>
        <tr id='st44.5' class='none bg-warning'>
        <tr id='pt44.6' class='hiddenRow bg-success'>
        <tr id='pt44.7' class='hiddenRow bg-success'>
        <tr id="ft44.8" class="none bg-danger">
            <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>
            <a onclick="showClassDetail('c45', 9)">Detail</a>
        <tr id='pt45.1' class='hiddenRow bg-success'>
        <tr id='pt45.2' class='hiddenRow bg-success'>
        <tr id='pt45.3' class='hiddenRow bg-success'>
        <tr id='pt45.4' class='hiddenRow bg-success'>
        <tr id='pt45.5' class='hiddenRow bg-success'>
        <tr id='pt45.6' class='hiddenRow bg-success'>
        <tr id="st45.7" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st45.7')">SKIP</a>
                <div id="div_st45.7" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st45.7').style.display='none'"><span
        <tr id='pt45.8' class='hiddenRow bg-success'>
        <tr id='pt45.9' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c46', 5)">Detail</a>
        <tr id='pt46.1' class='hiddenRow bg-success'>
        <tr id='pt46.2' class='hiddenRow bg-success'>
        <tr id='pt46.3' class='hiddenRow bg-success'>
        <tr id='pt46.4' class='hiddenRow bg-success'>
        <tr id='pt46.5' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c47', 18)">Detail</a>
        <tr id='pt47.1' class='hiddenRow bg-success'>
        <tr id='pt47.2' class='hiddenRow bg-success'>
        <tr id='pt47.3' class='hiddenRow bg-success'>
        <tr id='pt47.4' class='hiddenRow bg-success'>
        <tr id='pt47.5' class='hiddenRow bg-success'>
        <tr id='pt47.6' class='hiddenRow bg-success'>
        <tr id='pt47.7' class='hiddenRow bg-success'>
        <tr id='pt47.8' class='hiddenRow bg-success'>
        <tr id='pt47.9' class='hiddenRow bg-success'>
        <tr id='pt47.10' class='hiddenRow bg-success'>
        <tr id='pt47.11' class='hiddenRow bg-success'>
        <tr id='pt47.12' class='hiddenRow bg-success'>
        <tr id='pt47.13' class='hiddenRow bg-success'>
        <tr id='pt47.14' class='hiddenRow bg-success'>
        <tr id='pt47.15' class='hiddenRow bg-success'>
        <tr id='pt47.16' class='hiddenRow bg-success'>
        <tr id='pt47.17' class='hiddenRow bg-success'>
        <tr id='pt47.18' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c48', 1)">Detail</a>
        <tr id='pt48.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c49', 21)">Detail</a>
        <tr id='pt49.1' class='hiddenRow bg-success'>
        <tr id='pt49.2' class='hiddenRow bg-success'>
        <tr id='pt49.3' class='hiddenRow bg-success'>
        <tr id='pt49.4' class='hiddenRow bg-success'>
        <tr id='pt49.5' class='hiddenRow bg-success'>
        <tr id='pt49.6' class='hiddenRow bg-success'>
        <tr id='pt49.7' class='hiddenRow bg-success'>
        <tr id='pt49.8' class='hiddenRow bg-success'>
        <tr id='pt49.9' class='hiddenRow bg-success'>
        <tr id='pt49.10' class='hiddenRow bg-success'>
        <tr id='pt49.11' class='hiddenRow bg-success'>
        <tr id='pt49.12' class='hiddenRow bg-success'>
        <tr id='pt49.13' class='hiddenRow bg-success'>
        <tr id='pt49.14' class='hiddenRow bg-success'>
        <tr id='pt49.15' class='hiddenRow bg-success'>
        <tr id='pt49.16' class='hiddenRow bg-success'>
        <tr id='pt49.17' class='hiddenRow bg-success'>
        <tr id='pt49.18' class='hiddenRow bg-success'>
        <tr id='pt49.19' class='hiddenRow bg-success'>
        <tr id='pt49.20' class='hiddenRow bg-success'>
        <tr id='pt49.21' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c50', 35)">Detail</a>
        <tr id='pt50.1' class='hiddenRow bg-success'>
        <tr id='pt50.2' class='hiddenRow bg-success'>
        <tr id='pt50.3' class='hiddenRow bg-success'>
        <tr id='pt50.4' class='hiddenRow bg-success'>
        <tr id='pt50.5' class='hiddenRow bg-success'>
        <tr id='pt50.6' class='hiddenRow bg-success'>
        <tr id='pt50.7' class='hiddenRow bg-success'>
        <tr id='pt50.8' class='hiddenRow bg-success'>
        <tr id='pt50.9' class='hiddenRow bg-success'>
        <tr id='pt50.10' class='hiddenRow bg-success'>
        <tr id='pt50.11' class='hiddenRow bg-success'>
        <tr id='pt50.12' class='hiddenRow bg-success'>
        <tr id='pt50.13' class='hiddenRow bg-success'>
        <tr id='pt50.14' class='hiddenRow bg-success'>
        <tr id='pt50.15' class='hiddenRow bg-success'>
        <tr id='pt50.16' class='hiddenRow bg-success'>
        <tr id='pt50.17' class='hiddenRow bg-success'>
        <tr id='pt50.18' class='hiddenRow bg-success'>
        <tr id='pt50.19' class='hiddenRow bg-success'>
        <tr id='pt50.20' class='hiddenRow bg-success'>
        <tr id='pt50.21' class='hiddenRow bg-success'>
        <tr id='pt50.22' class='hiddenRow bg-success'>
        <tr id='pt50.23' class='hiddenRow bg-success'>
        <tr id='pt50.24' class='hiddenRow bg-success'>
        <tr id='pt50.25' class='hiddenRow bg-success'>
        <tr id='pt50.26' class='hiddenRow bg-success'>
        <tr id='pt50.27' class='hiddenRow bg-success'>
        <tr id='pt50.28' class='hiddenRow bg-success'>
        <tr id='pt50.29' class='hiddenRow bg-success'>
        <tr id='pt50.30' class='hiddenRow bg-success'>
        <tr id='pt50.31' class='hiddenRow bg-success'>
        <tr id='pt50.32' class='hiddenRow bg-success'>
        <tr id='pt50.33' class='hiddenRow bg-success'>
        <tr id='pt50.34' class='hiddenRow bg-success'>
        <tr id='pt50.35' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c51', 16)">Detail</a>
        <tr id='pt51.1' class='hiddenRow bg-success'>
        <tr id='pt51.2' class='hiddenRow bg-success'>
        <tr id='pt51.3' class='hiddenRow bg-success'>
        <tr id='pt51.4' class='hiddenRow bg-success'>
        <tr id='pt51.5' class='hiddenRow bg-success'>
        <tr id='pt51.6' class='hiddenRow bg-success'>
        <tr id='pt51.7' class='hiddenRow bg-success'>
        <tr id='pt51.8' class='hiddenRow bg-success'>
        <tr id='pt51.9' class='hiddenRow bg-success'>
        <tr id='pt51.10' class='hiddenRow bg-success'>
        <tr id='pt51.11' class='hiddenRow bg-success'>
        <tr id='pt51.12' class='hiddenRow bg-success'>
        <tr id='pt51.13' class='hiddenRow bg-success'>
        <tr id='pt51.14' class='hiddenRow bg-success'>
        <tr id='pt51.15' class='hiddenRow bg-success'>
        <tr id='pt51.16' class='hiddenRow bg-success'>
        <td>449</td>
        <td>426</td>
        <td>2</td>
        <td>14</td>
              <td>3.10.0</td>
              <td>2.79.0</td>
              <td>2.79.0</td>
              <td>2.79.0</td>
              <td>2.79.0</td>
              <td>2.79.0</td>
              <td>2.79.0</td>
    drawCircle(426, 2, 14, 7);
Fixed code:             <p class='text-justify attribute'><strong>Start Time: </strong>2023-03-03 20:00:16</p>
            <p class='text-justify attribute'><strong>Stop Time: </strong>2023-03-04 02:33:04</p>
           <p class='text-justify attribute'><strong>Duration: </strong>5h 37 min</p>
            <a onclick="showClassDetail('c2', 12)">Detail</a>
        <tr id='pt2.1' class='hiddenRow bg-success'>
        <tr id='pt2.2' class='hiddenRow bg-success'>
        <tr id='pt2.3' class='hiddenRow bg-success'>
        <tr id='pt2.4' class='hiddenRow bg-success'>
        <tr id='pt2.5' class='hiddenRow bg-success'>
        <tr id='pt2.6' class='hiddenRow bg-success'>
        <tr id='pt2.7' class='hiddenRow bg-success'>
        <tr id='pt2.8' class='hiddenRow bg-success'>
        <tr id='pt2.9' class='hiddenRow bg-success'>
        <tr id='pt2.10' class='hiddenRow bg-success'>
        <tr id='pt2.11' class='hiddenRow bg-success'>
        <tr id='pt2.12' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c3', 4)">Detail</a>
        <tr id='pt3.1' class='hiddenRow bg-success'>
        <tr id='pt3.2' class='hiddenRow bg-success'>
        <tr id='pt3.3' class='hiddenRow bg-success'>
        <tr id='pt3.4' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c4', 2)">Detail</a>
        <tr id='pt4.1' class='hiddenRow bg-success'>
        <tr id='pt4.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c5', 1)">Detail</a>
        <tr id='pt5.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c6', 15)">Detail</a>
        <tr id='pt6.1' class='hiddenRow bg-success'>
        <tr id='pt6.2' class='hiddenRow bg-success'>
        <tr id='pt6.3' class='hiddenRow bg-success'>
        <tr id='pt6.4' class='hiddenRow bg-success'>
        <tr id='pt6.5' class='hiddenRow bg-success'>
        <tr id='pt6.6' class='hiddenRow bg-success'>
        <tr id='pt6.7' class='hiddenRow bg-success'>
        <tr id='pt6.8' class='hiddenRow bg-success'>
        <tr id='pt6.9' class='hiddenRow bg-success'>
        <tr id='pt6.10' class='hiddenRow bg-success'>
        <tr id='pt6.11' class='hiddenRow bg-success'>
        <tr id='pt6.12' class='hiddenRow bg-success'>
        <tr id='pt6.13' class='hiddenRow bg-success'>
        <tr id='pt6.14' class='hiddenRow bg-success'>
        <tr id='pt6.15' class='hiddenRow bg-success'>
    <tr id="su" class="passClass">
        <td class="text-center">6</td>
        <td class="text-center">6</td>
            <a onclick="showClassDetail('c7', 6)">Detail</a>
        <tr id='pt7.1' class='hiddenRow bg-success'>
                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_email</div>
            <td colspan='6' align='center'>PASS</td>
        <tr id='pt7.2' class='hiddenRow bg-success'>
                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_failed_and_email</div>
            <td colspan='6' align='center'>PASS</td>
        <tr id='pt7.3' class='hiddenRow bg-success'>
                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_only</div>
            <td colspan='6' align='center'>PASS</td>
        <tr id='pt7.4' class='hiddenRow bg-success'>
                <div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_parameter</div>
            <td colspan='6' align='center'>PASS</td>
        <tr id='pt7.5' class='hiddenRow bg-success'>
                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_failed</div>
            <td colspan='6' align='center'>PASS</td>
        <tr id='pt7.6' class='hiddenRow bg-success'>
                <div class='testcase'>TestEbookConvertCalibreGDrive - test_email_only</div>
            <td colspan='6' align='center'>PASS</td>
            <a onclick="showClassDetail('c8', 3)">Detail</a>
        <tr id='pt8.1' class='hiddenRow bg-success'>
        <tr id='pt8.2' class='hiddenRow bg-success'>
        <tr id='pt8.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c9', 3)">Detail</a>
        <tr id='pt9.1' class='hiddenRow bg-success'>
        <tr id='pt9.2' class='hiddenRow bg-success'>
        <tr id='pt9.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c10', 17)">Detail</a>
        <tr id='pt10.1' class='hiddenRow bg-success'>
        <tr id='pt10.2' class='hiddenRow bg-success'>
        <tr id='pt10.3' class='hiddenRow bg-success'>
        <tr id='pt10.4' class='hiddenRow bg-success'>
        <tr id='pt10.5' class='hiddenRow bg-success'>
        <tr id='pt10.6' class='hiddenRow bg-success'>
        <tr id='pt10.7' class='hiddenRow bg-success'>
        <tr id='pt10.8' class='hiddenRow bg-success'>
        <tr id='pt10.9' class='hiddenRow bg-success'>
        <tr id='pt10.10' class='hiddenRow bg-success'>
        <tr id='pt10.11' class='hiddenRow bg-success'>
        <tr id='pt10.12' class='hiddenRow bg-success'>
        <tr id='pt10.13' class='hiddenRow bg-success'>
        <tr id='pt10.14' class='hiddenRow bg-success'>
        <tr id='st10.15' class='none bg-warning'>
        <tr id='pt10.16' class='hiddenRow bg-success'>
        <tr id='pt10.17' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c11', 36)">Detail</a>
        <tr id='pt11.1' class='hiddenRow bg-success'>
        <tr id='pt11.2' class='hiddenRow bg-success'>
        <tr id='pt11.3' class='hiddenRow bg-success'>
        <tr id='pt11.4' class='hiddenRow bg-success'>
        <tr id='pt11.5' class='hiddenRow bg-success'>
        <tr id='pt11.6' class='hiddenRow bg-success'>
        <tr id='pt11.7' class='hiddenRow bg-success'>
        <tr id='pt11.8' class='hiddenRow bg-success'>
        <tr id='pt11.9' class='hiddenRow bg-success'>
        <tr id='pt11.10' class='hiddenRow bg-success'>
        <tr id='pt11.11' class='hiddenRow bg-success'>
        <tr id='pt11.12' class='hiddenRow bg-success'>
        <tr id='pt11.13' class='hiddenRow bg-success'>
        <tr id='pt11.14' class='hiddenRow bg-success'>
        <tr id='pt11.15' class='hiddenRow bg-success'>
        <tr id='pt11.16' class='hiddenRow bg-success'>
        <tr id='pt11.17' class='hiddenRow bg-success'>
        <tr id='pt11.18' class='hiddenRow bg-success'>
        <tr id='pt11.19' class='hiddenRow bg-success'>
        <tr id="st11.20" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st11.20')">SKIP</a>
                <div id="div_st11.20" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st11.20').style.display='none'"><span
        <tr id='pt11.21' class='hiddenRow bg-success'>
        <tr id='pt11.22' class='hiddenRow bg-success'>
        <tr id='pt11.23' class='hiddenRow bg-success'>
        <tr id='pt11.24' class='hiddenRow bg-success'>
        <tr id='pt11.25' class='hiddenRow bg-success'>
        <tr id='pt11.26' class='hiddenRow bg-success'>
        <tr id='pt11.27' class='hiddenRow bg-success'>
        <tr id='pt11.28' class='hiddenRow bg-success'>
        <tr id='pt11.29' class='hiddenRow bg-success'>
        <tr id='pt11.30' class='hiddenRow bg-success'>
        <tr id='pt11.31' class='hiddenRow bg-success'>
        <tr id='pt11.32' class='hiddenRow bg-success'>
        <tr id='pt11.33' class='hiddenRow bg-success'>
        <tr id='pt11.34' class='hiddenRow bg-success'>
        <tr id='pt11.35' class='hiddenRow bg-success'>
        <tr id='pt11.36' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c12', 6)">Detail</a>
        <tr id='pt12.1' class='hiddenRow bg-success'>
        <tr id='pt12.2' class='hiddenRow bg-success'>
        <tr id='pt12.3' class='hiddenRow bg-success'>
        <tr id='pt12.4' class='hiddenRow bg-success'>
        <tr id='pt12.5' class='hiddenRow bg-success'>
        <tr id='pt12.6' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c13', 6)">Detail</a>
        <tr id='pt13.1' class='hiddenRow bg-success'>
        <tr id='pt13.2' class='hiddenRow bg-success'>
        <tr id='pt13.3' class='hiddenRow bg-success'>
        <tr id='pt13.4' class='hiddenRow bg-success'>
        <tr id='pt13.5' class='hiddenRow bg-success'>
        <tr id='pt13.6' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c14', 18)">Detail</a>
        <tr id='pt14.1' class='hiddenRow bg-success'>
        <tr id='pt14.2' class='hiddenRow bg-success'>
        <tr id='pt14.3' class='hiddenRow bg-success'>
        <tr id='pt14.4' class='hiddenRow bg-success'>
        <tr id='pt14.5' class='hiddenRow bg-success'>
        <tr id='pt14.6' class='hiddenRow bg-success'>
        <tr id='pt14.7' class='hiddenRow bg-success'>
        <tr id='pt14.8' class='hiddenRow bg-success'>
        <tr id='pt14.9' class='hiddenRow bg-success'>
        <tr id='pt14.10' class='hiddenRow bg-success'>
        <tr id='pt14.11' class='hiddenRow bg-success'>
        <tr id='pt14.12' class='hiddenRow bg-success'>
        <tr id='pt14.13' class='hiddenRow bg-success'>
        <tr id='pt14.14' class='hiddenRow bg-success'>
        <tr id='pt14.15' class='hiddenRow bg-success'>
        <tr id='pt14.16' class='hiddenRow bg-success'>
        <tr id='pt14.17' class='hiddenRow bg-success'>
        <tr id='pt14.18' class='hiddenRow bg-success'>
    <tr id="su" class="passClass">
        <td class="text-center">1</td>
            <a onclick="showClassDetail('c15', 1)">Detail</a>
        <tr id='pt15.1' class='hiddenRow bg-success'>
            <td colspan='6' align='center'>PASS</td>
    <tr id="su" class="errorClass">
        <td class="text-center">17</td>
        <td class="text-center">1</td>
            <a onclick="showClassDetail('c16', 18)">Detail</a>
        <tr id='pt16.1' class='hiddenRow bg-success'>
        <tr id='pt16.2' class='hiddenRow bg-success'>
        <tr id='pt16.3' class='hiddenRow bg-success'>
        <tr id='pt16.4' class='hiddenRow bg-success'>
        <tr id='pt16.5' class='hiddenRow bg-success'>
        <tr id='pt16.6' class='hiddenRow bg-success'>
        <tr id='pt16.7' class='hiddenRow bg-success'>
        <tr id='pt16.8' class='hiddenRow bg-success'>
        <tr id='pt16.9' class='hiddenRow bg-success'>
        <tr id='pt16.10' class='hiddenRow bg-success'>
        <tr id='pt16.11' class='hiddenRow bg-success'>
        <tr id='pt16.12' class='hiddenRow bg-success'>
        <tr id='pt16.13' class='hiddenRow bg-success'>
        <tr id='pt16.14' class='hiddenRow bg-success'>
        <tr id='pt16.15' class='hiddenRow bg-success'>
        <tr id="et16.16" class="none bg-info">
            <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 id='pt16.17' class='hiddenRow bg-success'>
        <tr id='pt16.18' class='hiddenRow bg-success'>
    <tr id="su" class="passClass">
        <td class="text-center">0</td>
            <a onclick="showClassDetail('c17', 1)">Detail</a>
        <tr id='pt17.1' class='hiddenRow bg-success'>
            <td colspan='6' align='center'>PASS</td>
            <a onclick="showClassDetail('c18', 3)">Detail</a>
        <tr id='pt18.1' class='hiddenRow bg-success'>
        <tr id='pt18.2' class='hiddenRow bg-success'>
        <tr id='pt18.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c19', 7)">Detail</a>
        <tr id='pt19.1' class='hiddenRow bg-success'>
        <tr id='pt19.2' class='hiddenRow bg-success'>
        <tr id='pt19.3' class='hiddenRow bg-success'>
        <tr id='pt19.4' class='hiddenRow bg-success'>
        <tr id='pt19.5' class='hiddenRow bg-success'>
        <tr id='pt19.6' class='hiddenRow bg-success'>
        <tr id='pt19.7' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c20', 1)">Detail</a>
        <tr id='pt20.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c21', 2)">Detail</a>
        <tr id='pt21.1' class='hiddenRow bg-success'>
        <tr id='pt21.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c22', 3)">Detail</a>
        <tr id='pt22.1' class='hiddenRow bg-success'>
        <tr id="st22.2" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st22.2')">SKIP</a>
                <div id="div_st22.2" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st22.2').style.display='none'"><span
        <tr id='pt22.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c23', 1)">Detail</a>
        <tr id='pt23.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c24', 3)">Detail</a>
        <tr id='pt24.1' class='hiddenRow bg-success'>
        <tr id='pt24.2' class='hiddenRow bg-success'>
        <tr id='pt24.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c25', 12)">Detail</a>
        <tr id='pt25.1' class='hiddenRow bg-success'>
        <tr id='pt25.2' class='hiddenRow bg-success'>
        <tr id='pt25.3' class='hiddenRow bg-success'>
        <tr id='pt25.4' class='hiddenRow bg-success'>
        <tr id='pt25.5' class='hiddenRow bg-success'>
        <tr id='pt25.6' class='hiddenRow bg-success'>
        <tr id='pt25.7' class='hiddenRow bg-success'>
        <tr id='pt25.8' class='hiddenRow bg-success'>
        <tr id='pt25.9' class='hiddenRow bg-success'>
        <tr id='pt25.10' class='hiddenRow bg-success'>
        <tr id='pt25.11' class='hiddenRow bg-success'>
        <tr id='pt25.12' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c26', 6)">Detail</a>
        <tr id='pt26.1' class='hiddenRow bg-success'>
        <tr id='pt26.2' class='hiddenRow bg-success'>
        <tr id='pt26.3' class='hiddenRow bg-success'>
        <tr id='pt26.4' class='hiddenRow bg-success'>
        <tr id='pt26.5' class='hiddenRow bg-success'>
        <tr id='pt26.6' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c27', 13)">Detail</a>
        <tr id='pt27.1' class='hiddenRow bg-success'>
        <tr id='pt27.2' class='hiddenRow bg-success'>
        <tr id='pt27.3' class='hiddenRow bg-success'>
        <tr id='pt27.4' class='hiddenRow bg-success'>
        <tr id='pt27.5' class='hiddenRow bg-success'>
        <tr id='pt27.6' class='hiddenRow bg-success'>
        <tr id='pt27.7' class='hiddenRow bg-success'>
        <tr id='pt27.8' class='hiddenRow bg-success'>
        <tr id='pt27.9' class='hiddenRow bg-success'>
        <tr id='pt27.10' class='hiddenRow bg-success'>
        <tr id='pt27.11' class='hiddenRow bg-success'>
        <tr id='pt27.12' class='hiddenRow bg-success'>
        <tr id='pt27.13' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c28', 4)">Detail</a>
        <tr id='pt28.1' class='hiddenRow bg-success'>
        <tr id='pt28.2' class='hiddenRow bg-success'>
        <tr id='pt28.3' class='hiddenRow bg-success'>
        <tr id='pt28.4' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c29', 10)">Detail</a>
        <tr id='pt29.1' class='hiddenRow bg-success'>
        <tr id='pt29.2' class='hiddenRow bg-success'>
        <tr id='pt29.3' class='hiddenRow bg-success'>
        <tr id='pt29.4' class='hiddenRow bg-success'>
        <tr id='pt29.5' class='hiddenRow bg-success'>
        <tr id='pt29.6' class='hiddenRow bg-success'>
        <tr id='pt29.7' class='hiddenRow bg-success'>
        <tr id='pt29.8' class='hiddenRow bg-success'>
        <tr id='pt29.9' class='hiddenRow bg-success'>
        <tr id='pt29.10' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c30', 9)">Detail</a>
        <tr id='pt30.1' class='hiddenRow bg-success'>
        <tr id='pt30.2' class='hiddenRow bg-success'>
        <tr id='pt30.3' class='hiddenRow bg-success'>
        <tr id='pt30.4' class='hiddenRow bg-success'>
        <tr id="st30.5" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st30.5')">SKIP</a>
                <div id="div_st30.5" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st30.5').style.display='none'"><span
        <tr id='pt30.6' class='hiddenRow bg-success'>
        <tr id='pt30.7' class='hiddenRow bg-success'>
        <tr id='pt30.8' class='hiddenRow bg-success'>
        <tr id='pt30.9' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c31', 17)">Detail</a>
        <tr id='pt31.1' class='hiddenRow bg-success'>
        <tr id='pt31.2' class='hiddenRow bg-success'>
        <tr id='pt31.3' class='hiddenRow bg-success'>
        <tr id='pt31.4' class='hiddenRow bg-success'>
        <tr id='pt31.5' class='hiddenRow bg-success'>
        <tr id='pt31.6' class='hiddenRow bg-success'>
        <tr id='pt31.7' class='hiddenRow bg-success'>
        <tr id='pt31.8' class='hiddenRow bg-success'>
        <tr id='pt31.9' class='hiddenRow bg-success'>
        <tr id='pt31.10' class='hiddenRow bg-success'>
        <tr id='pt31.11' class='hiddenRow bg-success'>
        <tr id='pt31.12' class='hiddenRow bg-success'>
        <tr id='pt31.13' class='hiddenRow bg-success'>
        <tr id='pt31.14' class='hiddenRow bg-success'>
        <tr id='pt31.15' class='hiddenRow bg-success'>
        <tr id='pt31.16' class='hiddenRow bg-success'>
        <tr id='pt31.17' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c32', 2)">Detail</a>
        <tr id='pt32.1' class='hiddenRow bg-success'>
        <tr id='pt32.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c33', 2)">Detail</a>
        <tr id='pt33.1' class='hiddenRow bg-success'>
        <tr id='pt33.2' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c34', 23)">Detail</a>
        <tr id='pt34.1' class='hiddenRow bg-success'>
        <tr id='pt34.2' class='hiddenRow bg-success'>
        <tr id='pt34.3' class='hiddenRow bg-success'>
        <tr id='pt34.4' class='hiddenRow bg-success'>
        <tr id='pt34.5' class='hiddenRow bg-success'>
        <tr id='pt34.6' class='hiddenRow bg-success'>
        <tr id='pt34.7' class='hiddenRow bg-success'>
        <tr id='pt34.8' class='hiddenRow bg-success'>
        <tr id='pt34.9' class='hiddenRow bg-success'>
        <tr id='pt34.10' class='hiddenRow bg-success'>
        <tr id='pt34.11' class='hiddenRow bg-success'>
        <tr id='pt34.12' class='hiddenRow bg-success'>
        <tr id='pt34.13' class='hiddenRow bg-success'>
        <tr id='pt34.14' class='hiddenRow bg-success'>
        <tr id='pt34.15' class='hiddenRow bg-success'>
        <tr id='pt34.16' class='hiddenRow bg-success'>
        <tr id='pt34.17' class='hiddenRow bg-success'>
        <tr id='pt34.18' class='hiddenRow bg-success'>
        <tr id='pt34.19' class='hiddenRow bg-success'>
        <tr id='pt34.20' class='hiddenRow bg-success'>
        <tr id='pt34.21' class='hiddenRow bg-success'>
        <tr id='pt34.22' class='hiddenRow bg-success'>
        <tr id='pt34.23' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c35', 1)">Detail</a>
        <tr id='pt35.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c36', 3)">Detail</a>
        <tr id='pt36.1' class='hiddenRow bg-success'>
        <tr id='pt36.2' class='hiddenRow bg-success'>
        <tr id='pt36.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c37', 5)">Detail</a>
        <tr id='pt37.1' class='hiddenRow bg-success'>
        <tr id='pt37.2' class='hiddenRow bg-success'>
        <tr id='pt37.3' class='hiddenRow bg-success'>
        <tr id='pt37.4' class='hiddenRow bg-success'>
        <tr id='pt37.5' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c38', 1)">Detail</a>
        <tr id='pt38.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c39', 8)">Detail</a>
        <tr id='pt39.1' class='hiddenRow bg-success'>
        <tr id='pt39.2' class='hiddenRow bg-success'>
        <tr id='pt39.3' class='hiddenRow bg-success'>
        <tr id='pt39.4' class='hiddenRow bg-success'>
        <tr id='pt39.5' class='hiddenRow bg-success'>
        <tr id='pt39.6' class='hiddenRow bg-success'>
        <tr id='pt39.7' class='hiddenRow bg-success'>
        <tr id='pt39.8' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c40', 3)">Detail</a>
        <tr id='pt40.1' class='hiddenRow bg-success'>
        <tr id='pt40.2' class='hiddenRow bg-success'>
        <tr id='pt40.3' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c41', 16)">Detail</a>
        <tr id='pt41.1' class='hiddenRow bg-success'>
        <tr id='pt41.2' class='hiddenRow bg-success'>
        <tr id='pt41.3' class='hiddenRow bg-success'>
        <tr id='pt41.4' class='hiddenRow bg-success'>
        <tr id='pt41.5' class='hiddenRow bg-success'>
        <tr id='pt41.6' class='hiddenRow bg-success'>
        <tr id='pt41.7' class='hiddenRow bg-success'>
        <tr id='pt41.8' class='hiddenRow bg-success'>
        <tr id='pt41.9' class='hiddenRow bg-success'>
        <tr id='pt41.10' class='hiddenRow bg-success'>
        <tr id='pt41.11' class='hiddenRow bg-success'>
        <tr id='pt41.12' class='hiddenRow bg-success'>
        <tr id='pt41.13' class='hiddenRow bg-success'>
        <tr id="st41.14" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st41.14')">SKIP</a>
                <div id="div_st41.14" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st41.14').style.display='none'"><span
        <tr id='pt41.15' class='hiddenRow bg-success'>
        <tr id='pt41.16' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c42', 1)">Detail</a>
        <tr id='pt42.1' class='hiddenRow bg-success'>
    <tr id="su" class="skipClass">
        <td class="text-center">7</td>
        <td class="text-center">0</td>
            <a onclick="showClassDetail('c43', 8)">Detail</a>
        <tr id='pt43.1' class='hiddenRow bg-success'>
        <tr id='pt43.2' class='hiddenRow bg-success'>
        <tr id='pt43.3' class='hiddenRow bg-success'>
        <tr id='pt43.4' class='hiddenRow bg-success'>
        <tr id='st43.5' class='none bg-warning'>
        <tr id='pt43.6' class='hiddenRow bg-success'>
        <tr id='pt43.7' class='hiddenRow bg-success'>
        <tr id='pt43.8' class='hiddenRow bg-success'>
            <td colspan='6' align='center'>PASS</td>
            <a onclick="showClassDetail('c44', 9)">Detail</a>
        <tr id='pt44.1' class='hiddenRow bg-success'>
        <tr id='pt44.2' class='hiddenRow bg-success'>
        <tr id='pt44.3' class='hiddenRow bg-success'>
        <tr id='pt44.4' class='hiddenRow bg-success'>
        <tr id='pt44.5' class='hiddenRow bg-success'>
        <tr id='pt44.6' class='hiddenRow bg-success'>
        <tr id="st44.7" class="none bg-warning">
                    <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st44.7')">SKIP</a>
                <div id="div_st44.7" class="popup_window test_output" style="display:none;">
                                onclick="document.getElementById('div_st44.7').style.display='none'"><span
        <tr id='pt44.8' class='hiddenRow bg-success'>
        <tr id='pt44.9' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c45', 5)">Detail</a>
        <tr id='pt45.1' class='hiddenRow bg-success'>
        <tr id='pt45.2' class='hiddenRow bg-success'>
        <tr id='pt45.3' class='hiddenRow bg-success'>
        <tr id='pt45.4' class='hiddenRow bg-success'>
        <tr id='pt45.5' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c46', 18)">Detail</a>
        <tr id='pt46.1' class='hiddenRow bg-success'>
        <tr id='pt46.2' class='hiddenRow bg-success'>
        <tr id='pt46.3' class='hiddenRow bg-success'>
        <tr id='pt46.4' class='hiddenRow bg-success'>
        <tr id='pt46.5' class='hiddenRow bg-success'>
        <tr id='pt46.6' class='hiddenRow bg-success'>
        <tr id='pt46.7' class='hiddenRow bg-success'>
        <tr id='pt46.8' class='hiddenRow bg-success'>
        <tr id='pt46.9' class='hiddenRow bg-success'>
        <tr id='pt46.10' class='hiddenRow bg-success'>
        <tr id='pt46.11' class='hiddenRow bg-success'>
        <tr id='pt46.12' class='hiddenRow bg-success'>
        <tr id='pt46.13' class='hiddenRow bg-success'>
        <tr id='pt46.14' class='hiddenRow bg-success'>
        <tr id='pt46.15' class='hiddenRow bg-success'>
        <tr id='pt46.16' class='hiddenRow bg-success'>
        <tr id='pt46.17' class='hiddenRow bg-success'>
        <tr id='pt46.18' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c47', 1)">Detail</a>
        <tr id='pt47.1' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c48', 21)">Detail</a>
        <tr id='pt48.1' class='hiddenRow bg-success'>
        <tr id='pt48.2' class='hiddenRow bg-success'>
        <tr id='pt48.3' class='hiddenRow bg-success'>
        <tr id='pt48.4' class='hiddenRow bg-success'>
        <tr id='pt48.5' class='hiddenRow bg-success'>
        <tr id='pt48.6' class='hiddenRow bg-success'>
        <tr id='pt48.7' class='hiddenRow bg-success'>
        <tr id='pt48.8' class='hiddenRow bg-success'>
        <tr id='pt48.9' class='hiddenRow bg-success'>
        <tr id='pt48.10' class='hiddenRow bg-success'>
        <tr id='pt48.11' class='hiddenRow bg-success'>
        <tr id='pt48.12' class='hiddenRow bg-success'>
        <tr id='pt48.13' class='hiddenRow bg-success'>
        <tr id='pt48.14' class='hiddenRow bg-success'>
        <tr id='pt48.15' class='hiddenRow bg-success'>
        <tr id='pt48.16' class='hiddenRow bg-success'>
        <tr id='pt48.17' class='hiddenRow bg-success'>
        <tr id='pt48.18' class='hiddenRow bg-success'>
        <tr id='pt48.19' class='hiddenRow bg-success'>
        <tr id='pt48.20' class='hiddenRow bg-success'>
        <tr id='pt48.21' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c49', 35)">Detail</a>
        <tr id='pt49.1' class='hiddenRow bg-success'>
        <tr id='pt49.2' class='hiddenRow bg-success'>
        <tr id='pt49.3' class='hiddenRow bg-success'>
        <tr id='pt49.4' class='hiddenRow bg-success'>
        <tr id='pt49.5' class='hiddenRow bg-success'>
        <tr id='pt49.6' class='hiddenRow bg-success'>
        <tr id='pt49.7' class='hiddenRow bg-success'>
        <tr id='pt49.8' class='hiddenRow bg-success'>
        <tr id='pt49.9' class='hiddenRow bg-success'>
        <tr id='pt49.10' class='hiddenRow bg-success'>
        <tr id='pt49.11' class='hiddenRow bg-success'>
        <tr id='pt49.12' class='hiddenRow bg-success'>
        <tr id='pt49.13' class='hiddenRow bg-success'>
        <tr id='pt49.14' class='hiddenRow bg-success'>
        <tr id='pt49.15' class='hiddenRow bg-success'>
        <tr id='pt49.16' class='hiddenRow bg-success'>
        <tr id='pt49.17' class='hiddenRow bg-success'>
        <tr id='pt49.18' class='hiddenRow bg-success'>
        <tr id='pt49.19' class='hiddenRow bg-success'>
        <tr id='pt49.20' class='hiddenRow bg-success'>
        <tr id='pt49.21' class='hiddenRow bg-success'>
        <tr id='pt49.22' class='hiddenRow bg-success'>
        <tr id='pt49.23' class='hiddenRow bg-success'>
        <tr id='pt49.24' class='hiddenRow bg-success'>
        <tr id='pt49.25' class='hiddenRow bg-success'>
        <tr id='pt49.26' class='hiddenRow bg-success'>
        <tr id='pt49.27' class='hiddenRow bg-success'>
        <tr id='pt49.28' class='hiddenRow bg-success'>
        <tr id='pt49.29' class='hiddenRow bg-success'>
        <tr id='pt49.30' class='hiddenRow bg-success'>
        <tr id='pt49.31' class='hiddenRow bg-success'>
        <tr id='pt49.32' class='hiddenRow bg-success'>
        <tr id='pt49.33' class='hiddenRow bg-success'>
        <tr id='pt49.34' class='hiddenRow bg-success'>
        <tr id='pt49.35' class='hiddenRow bg-success'>
            <a onclick="showClassDetail('c50', 16)">Detail</a>
        <tr id='pt50.1' class='hiddenRow bg-success'>
        <tr id='pt50.2' class='hiddenRow bg-success'>
        <tr id='pt50.3' class='hiddenRow bg-success'>
        <tr id='pt50.4' class='hiddenRow bg-success'>
        <tr id='pt50.5' class='hiddenRow bg-success'>
        <tr id='pt50.6' class='hiddenRow bg-success'>
        <tr id='pt50.7' class='hiddenRow bg-success'>
        <tr id='pt50.8' class='hiddenRow bg-success'>
        <tr id='pt50.9' class='hiddenRow bg-success'>
        <tr id='pt50.10' class='hiddenRow bg-success'>
        <tr id='pt50.11' class='hiddenRow bg-success'>
        <tr id='pt50.12' class='hiddenRow bg-success'>
        <tr id='pt50.13' class='hiddenRow bg-success'>
        <tr id='pt50.14' class='hiddenRow bg-success'>
        <tr id='pt50.15' class='hiddenRow bg-success'>
        <tr id='pt50.16' class='hiddenRow bg-success'>
        <td>431</td>
        <td>423</td>
        <td>0</td>
        <td>1</td>
              <td>3.10.1</td>
              <td>2.80.0</td>
              <td>2.80.0</td>
              <td>2.80.0</td>
              <td>2.80.0</td>
              <td>2.80.0</td>
              <td>2.80.0</td>
    drawCircle(423, 0, 1, 7);