1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-11-16 23:04:54 +00:00
calibre-web/test/Calibre-Web TestSummary_Linux.html
Ozzie Isaacs d68e57c4fc Implement split library and books
Bugfix arrows in comic reader
Fix kobo download link
Updated requirement
2023-11-08 20:11:03 +01:00

6628 lines
273 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Calibre-Web Tests</title>
<meta name="generator" content=""/>
<meta name="version" content=""/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap -->
<link href="./../cps/static/css/libs/bootstrap.min.css" rel="stylesheet">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="./../cps/static/js/libs/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="./../cps/static/js/libs/bootstrap.min.js"></script>
<!-- Project CSS -->
<link href="css/runner.css" rel="stylesheet">
<!-- Project JS -->
<script src="js/runner.js"></script>
</head>
<body>
<div class="row report-title">
<h1 id='report_title' class="text-center">Calibre-Web Tests</h1>
</div>
<div class="row">
<div class="col">
<div class="col-xs-12 col-sm-6">
<div class="piechart">
<div>
<canvas id="circle" width="350" height="168" ></canvas>
</div>
</div>
</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-11-07 19:32:08</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-11-08 00:42:45</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>4h 11 min</p>
</div>
</div>
</div>
</div>
</div>
<div class='report-description'>
<div id='report_description' class='row text-center'></div>
</div>
<div class='text-center buttons'>
<div id='show_detail_line' class="btn-group pagination-centered" role="group" aria-label="TESTE">
<button type="button" class="btn btn-success" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show only the execution summary" onclick="showCase(0)">Summary
</button>
<button type="button" class="btn btn-info" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show only the execution summary" onclick="showCase(5)">Summary Problems
</button>
<button type="button" class="btn btn-warning" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show skipped test cases" onclick="showCase(3)">Skipped
</button>
<button type="button" class="btn btn-danger" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show the filed test cases" onclick="showCase(1)">Failed
</button>
<button type="button" class="btn btn-info" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show the filed test cases" onclick="showCase(4)">Error
</button>
<button type="button" class="btn btn-primary" data-toggle="tooltip" aria-pressed="false" data-placement="top"
title="Show all test cases" onclick="showCase(2)">All
</button>
</div>
</div>
<table id='result_table' class='table table-bordered table-responsive table-curved'>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<tr id='header_row' class="text-center bg-grey">
<td>Test Group/Test case</td>
<td>Count</td>
<td>Pass</td>
<td>Fail</td>
<td>Error</td>
<td>Skip</td>
<td>View</td>
</tr>
<tr id="su" class="passClass">
<td>TestAnonymous</td>
<td class="text-center">13</td>
<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('c1', 13)">Detail</a>
</td>
</tr>
<tr id='pt1.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_check_locale_guest</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_format</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_random_books_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_restricted_settings_visibility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_visibility_sidebar</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestBackupMetadata</td>
<td class="text-center">22</td>
<td class="text-center">21</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c2', 22)">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="ft2.3" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_description</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.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_ft2.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/test/test_backup_metadata.py&#34;, line 308, in test_backup_change_book_description
self.assertEqual(metadata[&#39;description&#39;], &#34;&#34;)
AssertionError: &#39;&lt;p&gt;&lt;strong&gt;Test&lt;/strong&gt;&lt;/p&gt;&#39; != &#39;&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt2.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_identifier</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_language</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_publisher</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_publishing_date</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_rating</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_series_index</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_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.11' 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.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_Comment</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_Enum</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_bool</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_categories</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_date</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_float</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_int</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_text</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_gdrive</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_upload_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestBackupMetadataGdrive</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c3', 1)">Detail</a>
</td>
</tr>
<tr id='pt3.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadataGdrive - test_backup_gdrive</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCli</td>
<td class="text-center">13</td>
<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('c4', 13)">Detail</a>
</td>
</tr>
<tr id='pt4.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='pt4.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='pt4.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='pt4.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='pt4.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='pt4.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='pt4.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='pt4.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='pt4.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='pt4.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_logfile</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_no_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.12' 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='pt4.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_writeonly_static_files</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCliGdrivedb</td>
<td class="text-center">4</td>
<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('c5', 4)">Detail</a>
</td>
</tr>
<tr id='pt5.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='pt5.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='pt5.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='pt5.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCliGdrivedb - test_no_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCoverEditBooks</td>
<td class="text-center">2</td>
<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('c6', 2)">Detail</a>
</td>
</tr>
<tr id='pt6.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='pt6.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCoverEditBooks - test_upload_jpg</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestDeleteDatabase</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c7', 1)">Detail</a>
</td>
</tr>
<tr id='pt7.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>
<tr id="su" class="passClass">
<td>TestEbookConvertCalibre</td>
<td class="text-center">15</td>
<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('c8', 15)">Detail</a>
</td>
</tr>
<tr id='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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='pt8.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="passClass">
<td>TestEbookConvertCalibreGDrive</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c9', 6)">Detail</a>
</td>
</tr>
<tr id='pt9.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_failed_and_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_parameter</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_email_failed</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_email_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEbookConvertKepubify</td>
<td class="text-center">3</td>
<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>
</td>
</tr>
<tr id='pt10.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='pt10.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='pt10.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertKepubify - test_convert_wrong_excecutable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEbookConvertGDriveKepubify</td>
<td class="text-center">3</td>
<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('c11', 3)">Detail</a>
</td>
</tr>
<tr id='pt11.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='pt11.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='pt11.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_wrong_excecutable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="errorClass">
<td>TestEditAdditionalBooks</td>
<td class="text-center">20</td>
<td class="text-center">9</td>
<td class="text-center">1</td>
<td class="text-center">8</td>
<td class="text-center">2</td>
<td class="text-center">
<a onclick="showClassDetail('c12', 20)">Detail</a>
</td>
</tr>
<tr id='pt12.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="et12.2" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_change_upload_formats</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.2')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.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_et12.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/test/test_edit_additional_books.py&#34;, line 312, in test_change_upload_formats
self.fill_basic_config({&#39;config_upload_formats&#39;: &#39;txt,pdf,epub,kepub,mobi,azw,azw3,cbr,cbz,cbt,djvu,prc,doc,&#39;
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 388, in _fill_basic_config
ele.clear()
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 116, in clear
self._execute(Command.CLEAR_ELEMENT)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 403, in _execute
return self._parent.execute(command, params)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 440, in execute
self.error_handler.check_response(response)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py&#34;, line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element &lt;input id=&#34;config_upload_formats&#34; class=&#34;form-control&#34; name=&#34;config_upload_formats&#34; type=&#34;text&#34;&gt; could not be scrolled into view
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
ElementNotInteractableError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:349:5
interaction.clearElement@chrome://remote/content/marionette/interaction.sys.mjs:343:11
clearElement@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:193:22
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:80:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt12.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="ft12.4" class="none bg-danger">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_delete_role</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft12.4')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft12.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_ft12.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/test/test_edit_additional_books.py&#34;, line 802, in test_delete_role
self.assertTrue(self.delete_book_format(12, &#39;FB2&#39;))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt12.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='pt12.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='pt12.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='pt12.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='pt12.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="et12.10" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_title_sort</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.10')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.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_et12.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/test/test_edit_additional_books.py&#34;, line 826, in test_title_sort
self.fill_view_config({&#39;config_title_regex&#39;: &#39;^(Beta)\s+&#39;})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 432, in fill_view_config
accordions[o].click()
IndexError: list index out of range</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et12.11" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_cbz_coverformats</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.11')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.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_et12.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/test/test_edit_additional_books.py&#34;, line 100, in test_upload_cbz_coverformats
self.fill_basic_config({&#39;config_uploading&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et12.12" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_edit_role</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.12')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.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_et12.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/test/test_edit_additional_books.py&#34;, line 663, in test_upload_edit_role
self.fill_basic_config({&#39;config_uploading&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et12.13" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cb7</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.13')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.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_et12.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/test/test_edit_additional_books.py&#34;, line 229, in test_upload_metadata_cb7
self.fill_basic_config({&#39;config_uploading&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et12.14" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbr</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.14')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.14" 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_et12.14').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_additional_books.py&#34;, line 156, in test_upload_metadata_cbr
self.fill_basic_config({&#39;config_uploading&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et12.15" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbt</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.15')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.15" 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_et12.15').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_additional_books.py&#34;, line 197, in test_upload_metadata_cbt
self.fill_basic_config({&#39;config_uploading&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="st12.16" class="none bg-warning">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_writeonly_calibre_database</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st12.16')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st12.16" 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.16').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>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et12.17" class="none bg-info">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_writeonly_path</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et12.17')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et12.17" 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_et12.17').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_additional_books.py&#34;, line 384, in test_writeonly_path
self.fill_basic_config({&#39;config_rarfile_location&#39;: unrar_path(), &#34;config_unicode_filename&#34;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='st12.18' 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='pt12.19' 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='pt12.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_xss_custom_comment_edit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="errorClass">
<td>_ErrorHolder</td>
<td class="text-center">9</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">9</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c13', 9)">Detail</a>
</td>
</tr>
<tr id="et13.1" class="none bg-info">
<td>
<div class='testcase'>tearDownClass (test_edit_additional_books)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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_additional_books.py&#34;, line 48, in tearDownClass
cls.stop_calibre_web()
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 487, in stop_calibre_web
cls.driver.find_element(By.ID, &#39;admin_stop&#39;).click()
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 440, in execute
self.error_handler.check_response(response)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py&#34;, line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id=&#34;admin_stop&#34;]
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et13.2" class="none bg-info">
<td>
<div class='testcase'>tearDownClass (test_thumbnail_env)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.2')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f029472ee00&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_thumbnail_env.py&#34;, line 45, in tearDownClass
cls.driver.get(&#34;http://127.0.0.1:8083&#34;)
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=45161): Max retries exceeded with url: /session/c07742ed-3422-4a0a-8af9-b0c6c57aaaa8/url (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f029472ee00&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="et13.3" class="none bg-info">
<td>
<div class='testcase'>tearDownClass (test_thumbnails)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.3')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f0294ab48b0&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_thumbnails.py&#34;, line 47, in tearDownClass
cls.driver.get(&#34;http://127.0.0.1:8083&#34;)
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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/url (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f0294ab48b0&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="et13.4" class="none bg-info">
<td>
<div class='testcase'>setUpClass (test_upload_epubs)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.4')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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/test/test_upload_epubs.py&#34;, line 25, in setUpClass
startup(cls, cls.py_version, {&#39;config_calibre_dir&#39;: TEST_DB, &#39;config_uploading&#39;: 1},
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_func.py&#34;, line 186, in startup
inst.p = process_open(command, [1], sout=None, env=env, cwd=work_path)
File &#34;/home/ozzie/Development/calibre-web-test/test/subproc_wrapper.py&#34;, line 30, in process_open
return subprocess.Popen(exc_command,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: &#39;/home/ozzie/Development/calibre-web/venv/bin/python3&#39;
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py&#34;, line 30, in setUpClass
cls.driver.quit()
AttributeError: &#39;NoneType&#39; object has no attribute &#39;quit&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et13.5" class="none bg-info">
<td>
<div class='testcase'>setUpClass (test_user_list)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.5')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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/test/test_user_list.py&#34;, line 53, in setUpClass
startup(cls, cls.py_version, {&#39;config_calibre_dir&#39;: TEST_DB, &#34;config_uploading&#34;: 1}, env = {&#34;APP_MODE&#34;: &#34;test&#34;})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_func.py&#34;, line 186, in startup
inst.p = process_open(command, [1], sout=None, env=env, cwd=work_path)
File &#34;/home/ozzie/Development/calibre-web-test/test/subproc_wrapper.py&#34;, line 30, in process_open
return subprocess.Popen(exc_command,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: &#39;/home/ozzie/Development/calibre-web/venv/bin/python3&#39;
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_user_list.py&#34;, line 57, in setUpClass
cls.driver.quit()
AttributeError: &#39;NoneType&#39; object has no attribute &#39;quit&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et13.6" class="none bg-info">
<td>
<div class='testcase'>setUpClass (test_user_load)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.6')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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/test/test_user_load.py&#34;, line 61, in setUpClass
startup(cls, cls.py_version, {&#39;config_calibre_dir&#39;: TEST_DB, &#39;config_access_log&#39;: 1},
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_func.py&#34;, line 186, in startup
inst.p = process_open(command, [1], sout=None, env=env, cwd=work_path)
File &#34;/home/ozzie/Development/calibre-web-test/test/subproc_wrapper.py&#34;, line 30, in process_open
return subprocess.Popen(exc_command,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: &#39;/home/ozzie/Development/calibre-web/venv/bin/python3&#39;
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_user_load.py&#34;, line 66, in setUpClass
cls.driver.quit()
AttributeError: &#39;NoneType&#39; object has no attribute &#39;quit&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et13.7" class="none bg-info">
<td>
<div class='testcase'>setUpClass (test_user_template)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.7')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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/test/test_user_template.py&#34;, line 20, in setUpClass
startup(cls, cls.py_version, {&#39;config_calibre_dir&#39;: TEST_DB}, env = {&#34;APP_MODE&#34;: &#34;test&#34;})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_func.py&#34;, line 186, in startup
inst.p = process_open(command, [1], sout=None, env=env, cwd=work_path)
File &#34;/home/ozzie/Development/calibre-web-test/test/subproc_wrapper.py&#34;, line 30, in process_open
return subprocess.Popen(exc_command,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: &#39;/home/ozzie/Development/calibre-web/venv/bin/python3&#39;
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_user_template.py&#34;, line 22, in setUpClass
cls.driver.quit()
AttributeError: &#39;NoneType&#39; object has no attribute &#39;quit&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et13.8" class="none bg-info">
<td>
<div class='testcase'>setUpClass (test_visiblilitys)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.8')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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_visiblilitys.py&#34;, line 25, in setUpClass
startup(cls, cls.py_version, {&#39;config_calibre_dir&#39;: TEST_DB}, env = {&#34;APP_MODE&#34;: &#34;test&#34;})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_func.py&#34;, line 186, in startup
inst.p = process_open(command, [1], sout=None, env=env, cwd=work_path)
File &#34;/home/ozzie/Development/calibre-web-test/test/subproc_wrapper.py&#34;, line 30, in process_open
return subprocess.Popen(exc_command,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File &#34;/usr/lib/python3.10/subprocess.py&#34;, line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: &#39;/home/ozzie/Development/calibre-web/venv/bin/python3&#39;
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py&#34;, line 27, in setUpClass
cls.driver.quit()
AttributeError: &#39;NoneType&#39; object has no attribute &#39;quit&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et13.9" class="none bg-info">
<td>
<div class='testcase'>setUpClass (test_zz_helper)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.9')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et13.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_et13.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/test/test_zz_helper.py&#34;, line 30, in setUpClass
from cps import cli_param
ImportError: cannot import name &#39;cli_param&#39; from &#39;cps&#39; (unknown location)</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="skipClass">
<td>TestEditBooks</td>
<td class="text-center">38</td>
<td class="text-center">36</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">2</td>
<td class="text-center">
<a onclick="showClassDetail('c14', 38)">Detail</a>
</td>
</tr>
<tr id='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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='pt14.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="st14.20" class="none bg-warning">
<td>
<div class='testcase'>TestEditBooks - test_rename_upper_lowercase</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st14.20')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st14.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_st14.20').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">For some reason it works, but during test it fails, only if executed in debugger it works</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="st14.21" 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_st14.21')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st14.21" 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_st14.21').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>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt14.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_functions</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.25' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.26' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.27' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_tag</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.28' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_cb7</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.29' 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='pt14.30' 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='pt14.31' 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='pt14.32' 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='pt14.33' 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='pt14.34' 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='pt14.35' 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='pt14.36' 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='pt14.37' 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='pt14.38' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_cover_hdd</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEditAuthors</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c15', 6)">Detail</a>
</td>
</tr>
<tr id='pt15.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='pt15.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='pt15.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='pt15.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='pt15.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='pt15.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>
<tr id="su" class="passClass">
<td>TestEditAuthorsGdrive</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c16', 6)">Detail</a>
</td>
</tr>
<tr id='pt16.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='pt16.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='pt16.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='pt16.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='pt16.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='pt16.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>
<tr id="su" class="passClass">
<td>TestEditBooksList</td>
<td class="text-center">18</td>
<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('c17', 18)">Detail</a>
</td>
</tr>
<tr id='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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='pt17.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">
<td>TestLoadMetadata</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('c18', 1)">Detail</a>
</td>
</tr>
<tr id="et18.1" class="none bg-info">
<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_et18.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et18.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_et18.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>
<tr id="su" class="passClass">
<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">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c19', 18)">Detail</a>
</td>
</tr>
<tr id='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.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='pt19.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt19.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='pt19.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="passClass">
<td>TestLoadMetadataScholar</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c20', 1)">Detail</a>
</td>
</tr>
<tr id='pt20.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLoadMetadataScholar - test_load_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSTARTTLS</td>
<td class="text-center">3</td>
<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('c21', 3)">Detail</a>
</td>
</tr>
<tr id='pt21.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSTARTTLS - test_STARTTLS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.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='pt21.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSTARTTLS - test_STARTTLS_resend_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSSL</td>
<td class="text-center">7</td>
<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('c22', 7)">Detail</a>
</td>
</tr>
<tr id='pt22.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='pt22.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='pt22.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='pt22.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='pt22.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='pt22.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='pt22.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_filepicker_two_file</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestBookDatabase</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c23', 1)">Detail</a>
</td>
</tr>
<tr id='pt23.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBookDatabase - test_invalid_book_path</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestErrorReadColumn</td>
<td class="text-center">2</td>
<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('c24', 2)">Detail</a>
</td>
</tr>
<tr id='pt24.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='pt24.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>
<tr id="su" class="skipClass">
<td>TestFilePicker</td>
<td class="text-center">3</td>
<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('c25', 3)">Detail</a>
</td>
</tr>
<tr id='pt25.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="st25.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_st25.2')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st25.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_st25.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>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt25.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestFilePicker - test_two_filepickers</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSetupGdrive</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c26', 1)">Detail</a>
</td>
</tr>
<tr id='pt26.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSetupGdrive - test_config_gdrive</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestGoodreads</td>
<td class="text-center">3</td>
<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('c27', 3)">Detail</a>
</td>
</tr>
<tr id='pt27.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='pt27.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='pt27.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestGoodreads - test_goodreads_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestKoboSync</td>
<td class="text-center">12</td>
<td class="text-center">11</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c28', 12)">Detail</a>
</td>
</tr>
<tr id="ft28.1" class="none bg-danger">
<td>
<div class='testcase'>TestKoboSync - test_book_download</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft28.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft28.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_ft28.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_kobo_sync.py&#34;, line 134, in inital_sync
self.assertEqual(data[3][&#39;NewEntitlement&#39;][&#39;BookMetadata&#39;][&#39;DownloadUrls&#39;][1][&#39;Url&#39;],
File &#34;/usr/lib/python3.10/unittest/case.py&#34;, line 845, in assertEqual
assertion_func(first, second, msg=msg)
AssertionError: &#34;http://192.168.188.33:8083/kobo/fdb8524e[189 chars]epub&#34; != &#39;http://192.168.188.33:8083/kobo/fdb8524e[36 chars]epub&#39;
- http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;testbook执,testbook执Döe执, John &amp; Go, Mon2017-01-20 20:00:15.473000+00:002017-01-19 00:00:001.52023-11-07 21:52:52.786624John Döe执/testbook执 (5)1&#39;)&gt;/epub
+ http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/5/epub
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py&#34;, line 585, in test_book_download
data = self.inital_sync()
File &#34;/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py&#34;, line 144, in inital_sync
self.assertFalse(e, data)
AssertionError: AssertionError(&#39;&#34;http://192.168.188.33:8083/kobo/fdb8524e[189 chars]epub&#34; != \&#39;http://192.168.188.33:8083/kobo/fdb8524e[36 chars]epub\&#39;\n- http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(\&#39;testbook执,testbook执Döe执, John &amp; Go, Mon2017-01-20 20:00:15.473000+00:002017-01-19 00:00:001.52023-11-07 21:52:52.786624John Döe执/testbook执 (5)1\&#39;)&gt;/epub\n+ http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/5/epub\n&#39;) is not false : [{&#39;NewEntitlement&#39;: {&#39;BookEntitlement&#39;: {&#39;Accessibility&#39;: &#39;Full&#39;, &#39;ActivePeriod&#39;: {&#39;From&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;Created&#39;: &#39;2017-01-20T20:10:53Z&#39;, &#39;CrossRevisionId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;Id&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;IsRemoved&#39;: False, &#39;IsHiddenFromArchive&#39;: False, &#39;IsLocked&#39;: False, &#39;LastModified&#39;: &#39;2019-01-12T11:18:51Z&#39;, &#39;OriginCategory&#39;: &#39;Imported&#39;, &#39;RevisionId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;Status&#39;: &#39;Active&#39;}, &#39;BookMetadata&#39;: {&#39;Categories&#39;: [&#39;00000000-0000-0000-0000-000000000001&#39;], &#39;CoverImageId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;CrossRevisionId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;CurrentDisplayPrice&#39;: {&#39;CurrencyCode&#39;: &#39;USD&#39;, &#39;TotalAmount&#39;: 0}, &#39;CurrentLoveDisplayPrice&#39;: {&#39;TotalAmount&#39;: 0}, &#39;Description&#39;: None, &#39;DownloadUrls&#39;: [{&#39;Format&#39;: &#39;EPUB3&#39;, &#39;Size&#39;: 8250, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;book8,book8Baskerville, Leo2017-01-20 20:10:53.747000+00:000101-01-01 00:00:00+00:001.02019-01-12 11:18:51.391050+00:00Leo Baskerville/book8 (8)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}, {&#39;Format&#39;: &#39;EPUB&#39;, &#39;Size&#39;: 8250, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;book8,book8Baskerville, Leo2017-01-20 20:10:53.747000+00:000101-01-01 00:00:00+00:001.02019-01-12 11:18:51.391050+00:00Leo Baskerville/book8 (8)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}], &#39;EntitlementId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;ExternalIds&#39;: [], &#39;Genre&#39;: &#39;00000000-0000-0000-0000-000000000001&#39;, &#39;IsEligibleForKoboLove&#39;: False, &#39;IsInternetArchive&#39;: False, &#39;IsPreOrder&#39;: False, &#39;IsSocialEnabled&#39;: True, &#39;Language&#39;: &#39;nb&#39;, &#39;PhoneticPronunciations&#39;: {}, &#39;PublicationDate&#39;: &#39;101-01-01T00:00:00Z&#39;, &#39;Publisher&#39;: {&#39;Imprint&#39;: &#39;&#39;, &#39;Name&#39;: None}, &#39;RevisionId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;Title&#39;: &#39;book8&#39;, &#39;WorkId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;ContributorRoles&#39;: [{&#39;Name&#39;: &#39;Leo Baskerville&#39;}], &#39;Contributors&#39;: [&#39;Leo Baskerville&#39;]}, &#39;ReadingState&#39;: {&#39;EntitlementId&#39;: &#39;c1c739b4-000d-4475-8aaf-e10e5d7d6dfe&#39;, &#39;Created&#39;: &#39;2017-01-20T20:10:53Z&#39;, &#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;PriorityTimestamp&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;StatusInfo&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;Status&#39;: &#39;ReadyToRead&#39;, &#39;TimesStartedReading&#39;: 0}, &#39;Statistics&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;CurrentBookmark&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}}}}, {&#39;NewEntitlement&#39;: {&#39;BookEntitlement&#39;: {&#39;Accessibility&#39;: &#39;Full&#39;, &#39;ActivePeriod&#39;: {&#39;From&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;Created&#39;: &#39;2017-01-20T20:10:54Z&#39;, &#39;CrossRevisionId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;Id&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;IsRemoved&#39;: False, &#39;IsHiddenFromArchive&#39;: False, &#39;IsLocked&#39;: False, &#39;LastModified&#39;: &#39;2019-01-12T11:18:51Z&#39;, &#39;OriginCategory&#39;: &#39;Imported&#39;, &#39;RevisionId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;Status&#39;: &#39;Active&#39;}, &#39;BookMetadata&#39;: {&#39;Categories&#39;: [&#39;00000000-0000-0000-0000-000000000001&#39;], &#39;CoverImageId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;CrossRevisionId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;CurrentDisplayPrice&#39;: {&#39;CurrencyCode&#39;: &#39;USD&#39;, &#39;TotalAmount&#39;: 0}, &#39;CurrentLoveDisplayPrice&#39;: {&#39;TotalAmount&#39;: 0}, &#39;Description&#39;: None, &#39;DownloadUrls&#39;: [{&#39;Format&#39;: &#39;EPUB3&#39;, &#39;Size&#39;: 5954, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;book7,book7Parker, Peter2017-01-20 20:10:54.151000+00:000101-01-01 00:00:00+00:001.02019-01-12 11:18:51.391050+00:00Peter Parker/book7 (10)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}, {&#39;Format&#39;: &#39;EPUB&#39;, &#39;Size&#39;: 5954, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;book7,book7Parker, Peter2017-01-20 20:10:54.151000+00:000101-01-01 00:00:00+00:001.02019-01-12 11:18:51.391050+00:00Peter Parker/book7 (10)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}], &#39;EntitlementId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;ExternalIds&#39;: [], &#39;Genre&#39;: &#39;00000000-0000-0000-0000-000000000001&#39;, &#39;IsEligibleForKoboLove&#39;: False, &#39;IsInternetArchive&#39;: False, &#39;IsPreOrder&#39;: False, &#39;IsSocialEnabled&#39;: True, &#39;Language&#39;: &#39;en&#39;, &#39;PhoneticPronunciations&#39;: {}, &#39;PublicationDate&#39;: &#39;101-01-01T00:00:00Z&#39;, &#39;Publisher&#39;: {&#39;Imprint&#39;: &#39;&#39;, &#39;Name&#39;: None}, &#39;RevisionId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;Title&#39;: &#39;book7&#39;, &#39;WorkId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;ContributorRoles&#39;: [{&#39;Name&#39;: &#39;Peter Parker&#39;}], &#39;Contributors&#39;: [&#39;Peter Parker&#39;]}, &#39;ReadingState&#39;: {&#39;EntitlementId&#39;: &#39;da18a6c8-c1f2-4110-a4ad-344815961392&#39;, &#39;Created&#39;: &#39;2017-01-20T20:10:54Z&#39;, &#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;PriorityTimestamp&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;StatusInfo&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;Status&#39;: &#39;ReadyToRead&#39;, &#39;TimesStartedReading&#39;: 0}, &#39;Statistics&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;CurrentBookmark&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}}}}, {&#39;NewEntitlement&#39;: {&#39;BookEntitlement&#39;: {&#39;Accessibility&#39;: &#39;Full&#39;, &#39;ActivePeriod&#39;: {&#39;From&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;Created&#39;: &#39;2017-01-20T20:10:53Z&#39;, &#39;CrossRevisionId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;Id&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;IsRemoved&#39;: False, &#39;IsHiddenFromArchive&#39;: False, &#39;IsLocked&#39;: False, &#39;LastModified&#39;: &#39;2020-05-17T08:40:54Z&#39;, &#39;OriginCategory&#39;: &#39;Imported&#39;, &#39;RevisionId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;Status&#39;: &#39;Active&#39;}, &#39;BookMetadata&#39;: {&#39;Categories&#39;: [&#39;00000000-0000-0000-0000-000000000001&#39;], &#39;CoverImageId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;CrossRevisionId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;CurrentDisplayPrice&#39;: {&#39;CurrencyCode&#39;: &#39;USD&#39;, &#39;TotalAmount&#39;: 0}, &#39;CurrentLoveDisplayPrice&#39;: {&#39;TotalAmount&#39;: 0}, &#39;Description&#39;: None, &#39;DownloadUrls&#39;: [{&#39;Format&#39;: &#39;EPUB3&#39;, &#39;Size&#39;: 7394, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;book6,book6Lindgren, Sigurd2017-01-20 20:10:53.969000+00:000101-01-01 00:00:00+00:002020-05-17 08:40:54.540639Sigurd Lindgren/book6 (9)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}, {&#39;Format&#39;: &#39;EPUB&#39;, &#39;Size&#39;: 7394, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;book6,book6Lindgren, Sigurd2017-01-20 20:10:53.969000+00:000101-01-01 00:00:00+00:002020-05-17 08:40:54.540639Sigurd Lindgren/book6 (9)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}], &#39;EntitlementId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;ExternalIds&#39;: [], &#39;Genre&#39;: &#39;00000000-0000-0000-0000-000000000001&#39;, &#39;IsEligibleForKoboLove&#39;: False, &#39;IsInternetArchive&#39;: False, &#39;IsPreOrder&#39;: False, &#39;IsSocialEnabled&#39;: True, &#39;Language&#39;: &#39;en&#39;, &#39;PhoneticPronunciations&#39;: {}, &#39;PublicationDate&#39;: &#39;101-01-01T00:00:00Z&#39;, &#39;Publisher&#39;: {&#39;Imprint&#39;: &#39;&#39;, &#39;Name&#39;: None}, &#39;RevisionId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;Title&#39;: &#39;book6&#39;, &#39;WorkId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;ContributorRoles&#39;: [{&#39;Name&#39;: &#39;Sigurd Lindgren&#39;}], &#39;Contributors&#39;: [&#39;Sigurd Lindgren&#39;], &#39;Series&#39;: {&#39;Name&#39;: &#39;Loko&#39;, &#39;Number&#39;: 1, &#39;NumberFloat&#39;: 1.0, &#39;Id&#39;: &#39;cad7d6c3-f4e9-37e9-b9be-8b98c80bb5cc&#39;}}, &#39;ReadingState&#39;: {&#39;EntitlementId&#39;: &#39;2593127f-b40e-42bf-a999-d042f67e5212&#39;, &#39;Created&#39;: &#39;2017-01-20T20:10:53Z&#39;, &#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;PriorityTimestamp&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;StatusInfo&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;Status&#39;: &#39;ReadyToRead&#39;, &#39;TimesStartedReading&#39;: 0}, &#39;Statistics&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;CurrentBookmark&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}}}}, {&#39;NewEntitlement&#39;: {&#39;BookEntitlement&#39;: {&#39;Accessibility&#39;: &#39;Full&#39;, &#39;ActivePeriod&#39;: {&#39;From&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;Created&#39;: &#39;2017-01-20T20:00:15Z&#39;, &#39;CrossRevisionId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;Id&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;IsRemoved&#39;: False, &#39;IsHiddenFromArchive&#39;: False, &#39;IsLocked&#39;: False, &#39;LastModified&#39;: &#39;2023-11-07T21:52:52Z&#39;, &#39;OriginCategory&#39;: &#39;Imported&#39;, &#39;RevisionId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;Status&#39;: &#39;Active&#39;}, &#39;BookMetadata&#39;: {&#39;Categories&#39;: [&#39;00000000-0000-0000-0000-000000000001&#39;], &#39;CoverImageId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;CrossRevisionId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;CurrentDisplayPrice&#39;: {&#39;CurrencyCode&#39;: &#39;USD&#39;, &#39;TotalAmount&#39;: 0}, &#39;CurrentLoveDisplayPrice&#39;: {&#39;TotalAmount&#39;: 0}, &#39;Description&#39;: &#39;&lt;p&gt;b物&lt;/p&gt;&#39;, &#39;DownloadUrls&#39;: [{&#39;Format&#39;: &#39;EPUB3&#39;, &#39;Size&#39;: 6720, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;testbook执,testbook执Döe执, John &amp; Go, Mon2017-01-20 20:00:15.473000+00:002017-01-19 00:00:001.52023-11-07 21:52:52.786624John Döe执/testbook执 (5)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}, {&#39;Format&#39;: &#39;EPUB&#39;, &#39;Size&#39;: 6720, &#39;Url&#39;: &#34;http://192.168.188.33:8083/kobo/fdb8524e3b33542beda4a5cec762f045/download/&lt;Books(&#39;testbook执,testbook执Döe执, John &amp; Go, Mon2017-01-20 20:00:15.473000+00:002017-01-19 00:00:001.52023-11-07 21:52:52.786624John Döe执/testbook执 (5)1&#39;)&gt;/epub&#34;, &#39;Platform&#39;: &#39;Generic&#39;}], &#39;EntitlementId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;ExternalIds&#39;: [], &#39;Genre&#39;: &#39;00000000-0000-0000-0000-000000000001&#39;, &#39;IsEligibleForKoboLove&#39;: False, &#39;IsInternetArchive&#39;: False, &#39;IsPreOrder&#39;: False, &#39;IsSocialEnabled&#39;: True, &#39;Language&#39;: &#39;en&#39;, &#39;PhoneticPronunciations&#39;: {}, &#39;PublicationDate&#39;: &#39;2017-01-19T00:00:00Z&#39;, &#39;Publisher&#39;: {&#39;Imprint&#39;: &#39;&#39;, &#39;Name&#39;: &#39;Publish执&#39;}, &#39;RevisionId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;Title&#39;: &#39;testbook执&#39;, &#39;WorkId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;ContributorRoles&#39;: [{&#39;Name&#39;: &#39;John Döe执&#39;}, {&#39;Name&#39;: &#39;Mon Go&#39;}], &#39;Contributors&#39;: [&#39;John Döe执&#39;, &#39;Mon Go&#39;], &#39;Series&#39;: {&#39;Name&#39;: &#39;O0ü 执&#39;, &#39;Number&#39;: 1.5, &#39;NumberFloat&#39;: 1.5, &#39;Id&#39;: &#39;1c5d353f-e0cd-33cc-92b9-88db7329aaa9&#39;}}, &#39;ReadingState&#39;: {&#39;EntitlementId&#39;: &#39;8f1b72c1-e9a4-4212-b538-8e4f4837d201&#39;, &#39;Created&#39;: &#39;2017-01-20T20:00:15Z&#39;, &#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;PriorityTimestamp&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;StatusInfo&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;, &#39;Status&#39;: &#39;ReadyToRead&#39;, &#39;TimesStartedReading&#39;: 0}, &#39;Statistics&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}, &#39;CurrentBookmark&#39;: {&#39;LastModified&#39;: &#39;2023-11-07T21:52:53Z&#39;}}}}]</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt28.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='pt28.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='pt28.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='pt28.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='pt28.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='pt28.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='pt28.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='pt28.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='pt28.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='pt28.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='pt28.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_sync_upload</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestKoboSyncBig</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c29', 6)">Detail</a>
</td>
</tr>
<tr id='pt29.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='pt29.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='pt29.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='pt29.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='pt29.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='pt29.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_sync_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestLdapLogin</td>
<td class="text-center">13</td>
<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('c30', 13)">Detail</a>
</td>
</tr>
<tr id='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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>
<tr id="su" class="passClass">
<td>TestSecurity</td>
<td class="text-center">4</td>
<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('c31', 4)">Detail</a>
</td>
</tr>
<tr id='pt31.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='pt31.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='pt31.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='pt31.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSecurity - test_register_limit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCalibreWebListOrders</td>
<td class="text-center">10</td>
<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('c32', 10)">Detail</a>
</td>
</tr>
<tr id='pt32.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='pt32.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='pt32.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='pt32.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='pt32.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='pt32.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='pt32.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='pt32.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='pt32.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='pt32.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_tags_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestLogging</td>
<td class="text-center">9</td>
<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('c33', 9)">Detail</a>
</td>
</tr>
<tr id='pt33.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='pt33.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='pt33.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='pt33.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="st33.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_st33.5')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st33.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_st33.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>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt33.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='pt33.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='pt33.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='pt33.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_logviewer</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestLogin</td>
<td class="text-center">18</td>
<td class="text-center">17</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c34', 18)">Detail</a>
</td>
</tr>
<tr id='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.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='pt34.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_next</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.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='pt34.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="ft34.16" class="none bg-danger">
<td>
<div class='testcase'>TestLogin - test_proxy_login_multi_user</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft34.16')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft34.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_ft34.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_login.py&#34;, line 525, in test_proxy_login_multi_user
self.assertTrue(&#39;&lt;input type=&#34;text&#34; class=&#34;form-control&#34; name=&#34;name&#34; id=&#34;name&#34; value=&#34;new_user1&#34; autocomplete=&#34;off&#34;&gt;&#39; in resp.text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt34.17' 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='pt34.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_robots</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestMergeBooksList</td>
<td class="text-center">2</td>
<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('c35', 2)">Detail</a>
</td>
</tr>
<tr id='pt35.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='pt35.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestMergeBooksList - test_delete_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestOAuthLogin</td>
<td class="text-center">2</td>
<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('c36', 2)">Detail</a>
</td>
</tr>
<tr id='pt36.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='pt36.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOAuthLogin - test_visible_oauth</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestOPDSFeed</td>
<td class="text-center">24</td>
<td class="text-center">24</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', 24)">Detail</a>
</td>
</tr>
<tr id='pt37.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.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='pt37.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_stats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt37.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt37.22' 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='pt37.23' 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='pt37.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_recently_added</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUploadPDF</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c38', 1)">Detail</a>
</td>
</tr>
<tr id='pt38.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadPDF - test_upload_invalid_pdf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestPipInstall</td>
<td class="text-center">3</td>
<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('c39', 3)">Detail</a>
</td>
</tr>
<tr id='pt39.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='pt39.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='pt39.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestPipInstall - test_module_start</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="errorClass">
<td>TestReader</td>
<td class="text-center">8</td>
<td class="text-center">4</td>
<td class="text-center">3</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c40', 8)">Detail</a>
</td>
</tr>
<tr id="ft40.1" class="none bg-danger">
<td>
<div class='testcase'>TestReader - test_cb7_reader</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft40.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft40.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_ft40.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_reader.py&#34;, line 291, in test_cb7_reader
self.assertEqual(&#39;Test 执 to&#39;, details[&#39;title&#39;])
AssertionError: &#39;Test 执 to&#39; != &#39;book&#39;
- Test 执 to
+ book</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft40.2" class="none bg-danger">
<td>
<div class='testcase'>TestReader - test_comic_MACOS_files</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft40.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft40.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_ft40.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/test/test_reader.py&#34;, line 329, in test_comic_MACOS_files
self.assertTrue(self.check_element_on_page((By.ID, &#34;mainContent&#34;)))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft40.3" class="none bg-danger">
<td>
<div class='testcase'>TestReader - test_comic_reader</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft40.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft40.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_ft40.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/test/test_reader.py&#34;, line 182, in test_comic_reader
self.assertTrue(self.check_element_on_page((By.ID, &#34;mainContent&#34;)))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt40.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_epub_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt40.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_pdf_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="et40.6" class="none bg-info">
<td>
<div class='testcase'>TestReader - test_single_file_comic</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et40.6')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et40.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_et40.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/test/test_reader.py&#34;, line 266, in test_single_file_comic
self.assertFalse(self.check_element_on_page((By.ID, &#34;left&#34;)).is_displayed())
AttributeError: &#39;bool&#39; object has no attribute &#39;is_displayed&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt40.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_sound_listener</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt40.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_txt_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestReadOnlyDatabase</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">0</td>
<td class="text-center">
<a onclick="showClassDetail('c41', 1)">Detail</a>
</td>
</tr>
<tr id='pt41.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReadOnlyDatabase - test_readonly_path</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestRegister</td>
<td class="text-center">8</td>
<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('c42', 8)">Detail</a>
</td>
</tr>
<tr id='pt42.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='pt42.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='pt42.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='pt42.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='pt42.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='pt42.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='pt42.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='pt42.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_user_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestReverseProxy</td>
<td class="text-center">3</td>
<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('c43', 3)">Detail</a>
</td>
</tr>
<tr id='pt43.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_logout</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.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='pt43.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_reverse_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestShelf</td>
<td class="text-center">16</td>
<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('c44', 16)">Detail</a>
</td>
</tr>
<tr id='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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='pt44.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="st44.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_st44.14')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st44.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_st44.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>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt44.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='pt44.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_xss_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestSocket</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">
<a onclick="showClassDetail('c45', 1)">Detail</a>
</td>
</tr>
<tr id="ft45.1" class="none bg-danger">
<td>
<div class='testcase'>TestSocket - test_socket_communication</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft45.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft45.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_ft45.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_socket.py&#34;, line 70, in test_socket_communication
self.assertTrue(re.findall(&#39;Reached error page:\sabout:neterror\?e=connectionFailure&#39;, error))
AssertionError: [] is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="errorClass">
<td>TestSystemdActivation</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('c46', 1)">Detail</a>
</td>
</tr>
<tr id="et46.1" class="none bg-info">
<td>
<div class='testcase'>TestSystemdActivation - test_systemd_activation</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et46.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et46.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_et46.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_systemd_activation.py&#34;, line 101, in test_systemd_activation
self.fill_db_config({&#39;config_calibre_dir&#39;: TEST_DB})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 258, in fill_db_config
cls.login(&#39;admin&#39;, &#39;admin123&#39;)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 90, in login
WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, &#34;username&#34;)))
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&#34;, line 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="errorClass">
<td>TestThumbnailsEnv</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('c47', 1)">Detail</a>
</td>
</tr>
<tr id="et47.1" class="none bg-info">
<td>
<div class='testcase'>TestThumbnailsEnv - test_cover_cache_env_on_database_change</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et47.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et47.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_et47.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f029472e3e0&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_thumbnail_env.py&#34;, line 57, in test_cover_cache_env_on_database_change
self.fill_thumbnail_config({&#39;schedule_generate_book_covers&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 244, in fill_thumbnail_config
ele = cls.driver.find_element(By.ID, checkbox)
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=45161): Max retries exceeded with url: /session/c07742ed-3422-4a0a-8af9-b0c6c57aaaa8/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f029472e3e0&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="su" class="errorClass">
<td>TestThumbnails</td>
<td class="text-center">8</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">7</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c48', 8)">Detail</a>
</td>
</tr>
<tr id="et48.1" class="none bg-info">
<td>
<div class='testcase'>TestThumbnails - test_cache_non_writable</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et48.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f029472d0f0&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_thumbnails.py&#34;, line 209, in test_cache_non_writable
self.fill_thumbnail_config({&#39;schedule_generate_book_covers&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 244, in fill_thumbnail_config
ele = cls.driver.find_element(By.ID, checkbox)
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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f029472d0f0&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="et48.2" class="none bg-info">
<td>
<div class='testcase'>TestThumbnails - test_cache_of_deleted_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et48.2')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f0294af08b0&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_thumbnails.py&#34;, line 174, in test_cache_of_deleted_book
self.fill_basic_config({&#39;config_uploading&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f0294af08b0&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="et48.3" class="none bg-info">
<td>
<div class='testcase'>TestThumbnails - test_cover_cache_on_database_change</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et48.3')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f029472e500&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_thumbnails.py&#34;, line 76, in test_cover_cache_on_database_change
self.fill_thumbnail_config({&#39;schedule_generate_book_covers&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 244, in fill_thumbnail_config
ele = cls.driver.find_element(By.ID, checkbox)
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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f029472e500&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="et48.4" class="none bg-info">
<td>
<div class='testcase'>TestThumbnails - test_cover_change_on_upload_new_cover</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et48.4')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f02947439d0&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_thumbnails.py&#34;, line 116, in test_cover_change_on_upload_new_cover
self.fill_thumbnail_config({&#39;schedule_generate_book_covers&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 244, in fill_thumbnail_config
ele = cls.driver.find_element(By.ID, checkbox)
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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f02947439d0&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='st48.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="et48.6" class="none bg-info">
<td>
<div class='testcase'>TestThumbnails - test_cover_on_upload_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et48.6')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f0294ab78e0&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_thumbnails.py&#34;, line 224, in test_cover_on_upload_book
self.fill_thumbnail_config({&#39;schedule_generate_book_covers&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 244, in fill_thumbnail_config
ele = cls.driver.find_element(By.ID, checkbox)
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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f0294ab78e0&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="et48.7" class="none bg-info">
<td>
<div class='testcase'>TestThumbnails - test_remove_cover_from_cache</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et48.7')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f029472e2f0&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_thumbnails.py&#34;, line 149, in test_remove_cover_from_cache
self.get_book_details(5)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 1472, in get_book_details
cls.driver.get(root_url + &#34;/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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/url (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f029472e2f0&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="et48.8" class="none bg-info">
<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_et48.8')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et48.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_et48.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 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 1038, in _send_output
self.send(msg)
File &#34;/usr/lib/python3.10/http/client.py&#34;, line 976, 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 0x7f0294ab4310&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_thumbnails.py&#34;, line 263, in test_sideloaded_book
self.fill_thumbnail_config({&#39;schedule_generate_book_covers&#39;: 1})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 244, in fill_thumbnail_config
ele = cls.driver.find_element(By.ID, checkbox)
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=47647): Max retries exceeded with url: /session/b4d2729b-51dc-47f9-b07a-52f878c5bf78/element (Caused by NewConnectionError(&#39;&lt;urllib3.connection.HTTPConnection object at 0x7f0294ab4310&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="su" class="errorClass">
<td>TestUpdater</td>
<td class="text-center">9</td>
<td class="text-center">0</td>
<td class="text-center">6</td>
<td class="text-center">2</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c49', 9)">Detail</a>
</td>
</tr>
<tr id="ft49.1" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_nightly_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.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_ft49.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_updater.py&#34;, line 229, in test_check_update_nightly_errors
self.check_updater(&#39;Timeout&#39;, &#34;alert&#34;, 13)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 81, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft49.2" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_nightly_request_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.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_ft49.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/test/test_updater.py&#34;, line 257, in test_check_update_nightly_request_errors
self.check_updater(&#39;Timeout&#39;, &#34;alert&#34;, 13)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 81, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft49.3" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_stable_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.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_ft49.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/test/test_updater.py&#34;, line 147, in test_check_update_stable_errors
self.check_updater(&#39;Timeout&#39;, &#34;alert&#34;, 13)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 81, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft49.4" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_stable_versions</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.4')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.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_ft49.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/test/test_updater.py&#34;, line 175, in test_check_update_stable_versions
self.check_updater(&#39;{}.{}.{}&#39;.format(*version3), &#34;alert-warning&#34;)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 81, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft49.5" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_perform_update</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.5')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.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_ft49.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/test/test_updater.py&#34;, line 368, in test_perform_update
self.assertTrue(os.path.isdir(thumbnail_cache_path))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft49.6" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_perform_update_stable_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.6')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.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_ft49.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/test/test_updater.py&#34;, line 326, in test_perform_update_stable_errors
self.assertTrue(&#39;HTTP Error&#39; in self.check_element_on_page((By.ID, &#34;DialogContent&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="st49.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_st49.7')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st49.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_st49.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>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et49.8" class="none bg-info">
<td>
<div class='testcase'>TestUpdater - test_reconnect_database</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et49.8')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et49.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_et49.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_updater.py&#34;, line 450, in test_reconnect_database
self.reconnect_database()
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 475, in reconnect_database
element.click()
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 93, in click
self._execute(Command.CLICK_ELEMENT)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 403, in _execute
return self._parent.execute(command, params)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 440, in execute
self.error_handler.check_response(response)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py&#34;, line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element &lt;button id=&#34;DialogFinished&#34; class=&#34;btn btn-default hidden&#34; type=&#34;button&#34;&gt; could not be scrolled into view
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
ElementNotInteractableError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:349:5
webdriverClickElement@chrome://remote/content/marionette/interaction.sys.mjs:150:11
interaction.clickElement@chrome://remote/content/marionette/interaction.sys.mjs:119:11
clickElement@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:202:29
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:84:31</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et49.9" class="none bg-info">
<td>
<div class='testcase'>TestUpdater - test_update_write_protect</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et49.9')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et49.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_et49.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/test/test_updater.py&#34;, line 410, in test_update_write_protect
self.fill_basic_config({&#39;config_updatechannel&#39;: &#39;Stable&#39;})
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 399, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 303, 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 95, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:132:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='total_row' class="text-center bg-grey">
<td>Total</td>
<td>380</td>
<td>327</td>
<td>14</td>
<td>30</td>
<td>9</td>
<td>&nbsp;</td>
</tr>
</table>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" href="#collapseOne">
<span class="glyphicon glyphicon-plus"></span>
Tested environment
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body">
<table id="libs" class="table">
<thead>
<tr>
<th>Program library</th>
<th>Installed Version</th>
<th>Test class</th>
</tr>
</thead>
<tbody>
<tr>
<th>Platform</th>
<td>Linux 6.2.0-36-generic #37~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 9 15:34:04 UTC 2 x86_64 x86_64</td>
<td>Basic</td>
</tr>
<tr>
<th>Python</th>
<td>3.10.12</td>
<td>Basic</td>
</tr>
<tr>
<th>advocate</th>
<td>1.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>APScheduler</th>
<td>3.10.4</td>
<td>Basic</td>
</tr>
<tr>
<th>Babel</th>
<td>2.13.1</td>
<td>Basic</td>
</tr>
<tr>
<th>chardet</th>
<td>4.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask</th>
<td>2.3.3</td>
<td>Basic</td>
</tr>
<tr>
<th>flask-babel</th>
<td>3.1.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Limiter</th>
<td>3.4.1</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Login</th>
<td>0.6.2</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Principal</th>
<td>0.4.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-WTF</th>
<td>1.1.2</td>
<td>Basic</td>
</tr>
<tr>
<th>greenlet</th>
<td>3.0.1</td>
<td>Basic</td>
</tr>
<tr>
<th>iso-639</th>
<td>0.4.5</td>
<td>Basic</td>
</tr>
<tr>
<th>Jinja2</th>
<td>3.1.2</td>
<td>Basic</td>
</tr>
<tr>
<th>lxml</th>
<td>4.9.3</td>
<td>Basic</td>
</tr>
<tr>
<th>pyasn1</th>
<td>0.5.0</td>
<td>Basic</td>
</tr>
<tr>
<th>pypdf</th>
<td>3.15.5</td>
<td>Basic</td>
</tr>
<tr>
<th>pytz</th>
<td>2023.3.post1</td>
<td>Basic</td>
</tr>
<tr>
<th>requests</th>
<td>2.31.0</td>
<td>Basic</td>
</tr>
<tr>
<th>SQLAlchemy</th>
<td>2.0.23</td>
<td>Basic</td>
</tr>
<tr>
<th>tornado</th>
<td>6.3.3</td>
<td>Basic</td>
</tr>
<tr>
<th>Unidecode</th>
<td>1.3.7</td>
<td>Basic</td>
</tr>
<tr>
<th>Wand</th>
<td>0.6.13</td>
<td>Basic</td>
</tr>
<tr>
<th>Werkzeug</th>
<td>2.3.7</td>
<td>Basic</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>comicapi</th>
<td>3.2.0</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>py7zr</th>
<td>0.20.7</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>rarfile</th>
<td>4.1</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>py7zr</th>
<td>0.20.7</td>
<td>TestEditBooks</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>beautifulsoup4</th>
<td>4.12.2</td>
<td>TestLoadMetadata</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>beautifulsoup4</th>
<td>4.12.2</td>
<td>TestLoadMetadataScholar</td>
</tr>
<tr>
<th>scholarly</th>
<td>1.7.11</td>
<td>TestLoadMetadataScholar</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.107.0</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.17.0</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>goodreads</th>
<td>0.3.2</td>
<td>TestGoodreads</td>
</tr>
<tr>
<th>python-Levenshtein</th>
<td>0.23.0</td>
<td>TestGoodreads</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.19.2</td>
<td>TestKoboSync</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.19.2</td>
<td>TestKoboSyncBig</td>
</tr>
<tr>
<th>Flask-SimpleLDAP</th>
<td>1.4.0</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.19.2</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>python-ldap</th>
<td>3.4.3</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>Flask-Dance</th>
<td>7.0.0</td>
<td>TestOAuthLogin</td>
</tr>
<tr>
<th>SQLAlchemy-Utils</th>
<td>0.41.1</td>
<td>TestOAuthLogin</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
drawCircle(327, 14, 30, 9);
showCase(5);
</script>
<footer>
<div id='foter' class="text-center">
<p>Made with HTMLTestRunner from https://github.com/oldani/HtmlTestRunner</p>
</div>
</footer>
</body>
</html>