1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-09-19 18:59:45 +00:00
calibre-web/test/Calibre-Web TestSummary_Linux.html
2024-07-17 19:42:12 +02:00

6309 lines
222 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>2024-07-15 20:39:37</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>2024-07-16 03:41:10</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Duration: </strong>5h 50 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="passClass">
<td>TestBackupMetadata</td>
<td class="text-center">21</td>
<td class="text-center">21</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c2', 21)">Detail</a>
</td>
</tr>
<tr id='pt2.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_all</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_description</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_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_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="failClass">
<td>TestCli</td>
<td class="text-center">13</td>
<td class="text-center">12</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('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="ft4.12" class="none bg-danger">
<td>
<div class='testcase'>TestCli - test_settingsdb_not_writeable</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft4.12')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft4.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_ft4.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_cli.py&#34;, line 431, in test_settingsdb_not_writeable
self.assertEqual(result, 2)
AssertionError: 1 != 2</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</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">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('c9', 7)">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='pt9.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_thumbnail_cache</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="skipClass">
<td>TestEditAdditionalBooks</td>
<td class="text-center">20</td>
<td class="text-center">18</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('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='pt12.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_change_upload_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='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='pt12.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_delete_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='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='pt12.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_title_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_cbz_coverformats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_edit_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cb7</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbr</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbt</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="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='pt12.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_writeonly_path</div>
</td>
<td colspan='6' align='center'>PASS</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="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('c13', 38)">Detail</a>
</td>
</tr>
<tr id='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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="st13.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_st13.20')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st13.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_st13.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="st13.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_st13.21')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st13.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_st13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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='pt13.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">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('c14', 8)">Detail</a>
</td>
</tr>
<tr id='pt14.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='pt14.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='pt14.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='pt14.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_change_capital_one_author_two_books_coauthor</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.5' 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='pt14.6' 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='pt14.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_rename_author_accent_onupload</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.8' 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">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('c15', 7)">Detail</a>
</td>
</tr>
<tr id='pt15.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='pt15.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='pt15.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='pt15.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_change_capital_one_author_two_books_coauthor</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.5' 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='pt15.6' 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='pt15.7' 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">19</td>
<td class="text-center">19</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', 19)">Detail</a>
</td>
</tr>
<tr id='pt16.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_booklist_xss</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.2' 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='pt16.3' 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='pt16.4' 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='pt16.5' 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='pt16.6' 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='pt16.7' 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='pt16.8' 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='pt16.9' 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='pt16.10' 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='pt16.11' 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='pt16.12' 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='pt16.13' 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='pt16.14' 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='pt16.15' 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='pt16.16' 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='pt16.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_list_visibility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_restricted_rights</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.19' 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('c17', 1)">Detail</a>
</td>
</tr>
<tr id="et17.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_et17.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et17.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_et17.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 90, 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="failClass">
<td>TestEditBooksOnGdrive</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('c18', 18)">Detail</a>
</td>
</tr>
<tr id='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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='pt18.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="ft18.18" class="none bg-danger">
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_watch_metadata</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft18.18')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft18.18" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft18.18').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py&#34;, line 963, in test_watch_metadata
self.assertNotIn(&#39;series&#39;, book)
AssertionError: &#39;series&#39; unexpectedly found in {&#39;id&#39;: 5, &#39;reader&#39;: [], &#39;title&#39;: &#39;testbook&#39;, &#39;author&#39;: [&#39;John Döe&#39;], &#39;rating&#39;: 0, &#39;languages&#39;: [&#39;English&#39;], &#39;identifier&#39;: [], &#39;cover&#39;: &#39;/cover/5/og?c=1721073398&#39;, &#39;tag&#39;: [], &#39;publisher&#39;: [&#39;Randomhäus&#39;], &#39;pubdate&#39;: &#39;Jan 19, 2017&#39;, &#39;comment&#39;: &#39;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Aenean commodo ligula eget dolor.Aenean massa.Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.Nulla consequat massa quis enim.Donec pede justo, fringilla vel, aliquet nec, vulputate&#39;, &#39;add_shelf&#39;: [], &#39;del_shelf&#39;: [], &#39;edit_enable&#39;: True, &#39;kindle&#39;: None, &#39;kindlebtn&#39;: None, &#39;download&#39;: [&#39;EPUB\n (6.7 kB)&#39;], &#39;read&#39;: False, &#39;archived&#39;: False, &#39;series_all&#39;: &#39;Book 1 of test&#39;, &#39;series_index&#39;: &#39;1&#39;, &#39;series&#39;: &#39;test&#39;, &#39;cust_columns&#39;: []}</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</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('c19', 1)">Detail</a>
</td>
</tr>
<tr id='pt19.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('c20', 3)">Detail</a>
</td>
</tr>
<tr id='pt20.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSTARTTLS - test_STARTTLS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt20.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='pt20.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('c21', 7)">Detail</a>
</td>
</tr>
<tr id='pt21.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='pt21.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='pt21.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='pt21.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='pt21.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='pt21.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='pt21.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>TestEmbedMetadata</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('c22', 6)">Detail</a>
</td>
</tr>
<tr id='pt22.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_convert_file_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_convert_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_download_check_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_download_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_download_permissions_missing_file</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_email_epub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEmbedMetadataGdrive</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('c23', 4)">Detail</a>
</td>
</tr>
<tr id='pt23.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_convert_file_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt23.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_convert_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt23.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_download_check_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt23.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_download_kepub_embed_metadata</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('c24', 1)">Detail</a>
</td>
</tr>
<tr id='pt24.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('c25', 2)">Detail</a>
</td>
</tr>
<tr id='pt25.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='pt25.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('c26', 3)">Detail</a>
</td>
</tr>
<tr id='pt26.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="st26.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_st26.2')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st26.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_st26.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='pt26.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('c27', 1)">Detail</a>
</td>
</tr>
<tr id='pt27.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('c28', 3)">Detail</a>
</td>
</tr>
<tr id='pt28.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='pt28.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='pt28.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="passClass">
<td>TestKoboSync</td>
<td class="text-center">12</td>
<td class="text-center">12</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c29', 12)">Detail</a>
</td>
</tr>
<tr id='pt29.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_book_download</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.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='pt29.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='pt29.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_kobo_no_download</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.5' 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='pt29.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='pt29.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='pt29.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='pt29.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='pt29.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='pt29.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='pt29.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('c30', 6)">Detail</a>
</td>
</tr>
<tr id='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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='pt30.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="errorClass">
<td>TestLdapLogin</td>
<td class="text-center">13</td>
<td class="text-center">11</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c31', 13)">Detail</a>
</td>
</tr>
<tr id='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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='pt31.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="ft31.12" class="none bg-danger">
<td>
<div class='testcase'>TestLdapLogin - test_ldap_opds_anonymous</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft31.12')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft31.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_ft31.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_ldap.py&#34;, line 1018, in test_ldap_opds_anonymous
self.assertEqual(200, r.status_code)
AssertionError: 200 != 500</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et31.13" class="none bg-info">
<td>
<div class='testcase'>TestLdapLogin - test_ldap_opds_download_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et31.13')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et31.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_et31.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_ldap.py&#34;, line 841, in test_ldap_opds_download_book
self.fill_basic_config({&#39;config_ldap_provider_url&#39;: &#39;127.0.0.1&#39;,
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 392, in fill_basic_config
cls._fill_basic_config(elements)
File &#34;/home/ozzie/Development/calibre-web-test/test/helper_ui.py&#34;, line 304, 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:193:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5
dom.find/&lt;/&lt;@chrome://remote/content/shared/DOM.sys.mjs:136:16</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestSecurity</td>
<td class="text-center">5</td>
<td class="text-center">5</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c32', 5)">Detail</a>
</td>
</tr>
<tr id='pt32.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='pt32.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='pt32.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='pt32.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSecurity - test_redis_backend</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt32.5' 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">16</td>
<td class="text-center">16</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c33', 16)">Detail</a>
</td>
</tr>
<tr id='pt33.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='pt33.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='pt33.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='pt33.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_formats_click_none</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_lang_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_language_click_none</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.7' 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='pt33.8' 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='pt33.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_publisher_click_none</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_publisher_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_ratings_click_none</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_ratings_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_series_click_none</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_series_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_tags_click_none</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.16' 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('c34', 9)">Detail</a>
</td>
</tr>
<tr id='pt34.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='pt34.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='pt34.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='pt34.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="st34.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_st34.5')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st34.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_st34.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='pt34.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='pt34.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='pt34.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='pt34.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">19</td>
<td class="text-center">16</td>
<td class="text-center">3</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c35', 19)">Detail</a>
</td>
</tr>
<tr id='pt35.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='pt35.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="ft35.3" class="none bg-danger">
<td>
<div class='testcase'>TestLogin - test_login_cookie_steal</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft35.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft35.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_ft35.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_login.py&#34;, line 784, in test_login_cookie_steal
self.assertNotIn(&#34;logout&#34;, resp.text)
AssertionError: &#39;logout&#39; unexpectedly found in &#39;\n\n\n&lt;!DOCTYPE html&gt;\n&lt;html lang=&#34;en&#34;&gt;\n &lt;head&gt;\n &lt;title&gt;Calibre-Web | Books&lt;/title&gt;\n &lt;meta charset=&#34;utf-8&#34;&gt;\n &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;\n &lt;meta http-equiv=&#34;X-UA-Compatible&#34; content=&#34;IE=edge,chrome=1&#34;&gt;\n &lt;meta name=&#34;apple-mobile-web-app-capable&#34; content=&#34;yes&#34;&gt;\n \n &lt;!-- Bootstrap --&gt;\n &lt;link rel=&#34;apple-touch-icon&#34; sizes=&#34;140x140&#34; href=&#34;/static/favicon.ico&#34;&gt;\n &lt;link rel=&#34;shortcut icon&#34; href=&#34;/static/favicon.ico&#34;&gt;\n &lt;link href=&#34;/static/css/libs/bootstrap.min.css&#34; rel=&#34;stylesheet&#34; media=&#34;screen&#34;&gt;\n \n &lt;link href=&#34;/static/css/style.css&#34; rel=&#34;stylesheet&#34; media=&#34;screen&#34;&gt;\n &lt;link href=&#34;/static/css/upload.css&#34; rel=&#34;stylesheet&#34; media=&#34;screen&#34;&gt;\n \n &lt;/head&gt;\n &lt;body class=&#34;newest &#34; data-text=&#34;Home&#34; data-textback=&#34;Back&#34;&gt;\n &lt;!-- Static navbar --&gt;\n &lt;div class=&#34;navbar navbar-default navbar-static-top&#34; role=&#34;navigation&#34;&gt;\n &lt;div class=&#34;container-fluid&#34;&gt;\n &lt;div class=&#34;navbar-header&#34;&gt;\n &lt;button type=&#34;button&#34; class=&#34;navbar-toggle&#34; data-toggle=&#34;collapse&#34; data-target=&#34;.navbar-collapse&#34;&gt;\n &lt;span class=&#34;sr-only&#34;&gt;Toggle Navigation&lt;/span&gt;\n &lt;span class=&#34;icon-bar&#34;&gt;&lt;/span&gt;\n &lt;span class=&#34;icon-bar&#34;&gt;&lt;/span&gt;\n &lt;span class=&#34;icon-bar&#34;&gt;&lt;/span&gt;\n &lt;/button&gt;\n &lt;a class=&#34;navbar-brand&#34; href=&#34;/&#34;&gt;Calibre-Web&lt;/a&gt;\n &lt;/div&gt;\n \n \n &lt;form class=&#34;navbar-form navbar-left&#34; role=&#34;search&#34; action=&#34;/search&#34; method=&#34;GET&#34;&gt;\n &lt;div class=&#34;form-group input-group input-group-sm&#34;&gt;\n &lt;label for=&#34;query&#34; class=&#34;sr-only&#34;&gt;Search&lt;/label&gt;\n &lt;input type=&#34;text&#34; class=&#34;form-control&#34; id=&#34;query&#34; name=&#34;query&#34; placeholder=&#34;Search Library&#34; value=&#34;&#34;&gt;\n &lt;span class=&#34;input-group-btn&#34;&gt;\n &lt;button type=&#34;submit&#34; id=&#34;query_submit&#34; class=&#34;btn btn-default&#34;&gt;Search&lt;/button&gt;\n &lt;/span&gt;\n &lt;/div&gt;\n &lt;/form&gt;\n \n &lt;div class=&#34;navbar-collapse collapse&#34;&gt;\n \n &lt;ul class=&#34;nav navbar-nav &#34;&gt;\n &lt;li&gt;&lt;a href=&#34;/advsearch&#34; id=&#34;advanced_search&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-search&#34;&gt;&lt;/span&gt;&lt;span class=&#34;hidden-sm&#34;&gt; Advanced Search&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n &lt;/ul&gt;\n \n &lt;ul class=&#34;nav navbar-nav navbar-right&#34; id=&#34;main-nav&#34;&gt;\n \n \n \n \n &lt;li class=&#34;top_tasks&#34;&gt;&lt;a id=&#34;top_tasks&#34; href=&#34;/tasks&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-tasks&#34;&gt;&lt;/span&gt; &lt;span class=&#34;hidden-sm&#34;&gt;Tasks&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n \n \n &lt;li&gt;&lt;a id=&#34;top_admin&#34; data-text=&#34;Settings&#34; href=&#34;/admin/view&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-dashboard&#34;&gt;&lt;/span&gt; &lt;span class=&#34;hidden-sm&#34;&gt;Admin&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n \n \n &lt;li&gt;&lt;a id=&#34;top_user&#34; data-text=&#34;Account&#34; href=&#34;/me&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-user&#34;&gt;&lt;/span&gt; &lt;span class=&#34;hidden-sm&#34;&gt;admin&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n \n &lt;li&gt;&lt;a id=&#34;logout&#34; href=&#34;/logout?next=/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-log-out&#34;&gt;&lt;/span&gt; &lt;span class=&#34;hidden-sm&#34;&gt;Logout&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n \n \n \n \n &lt;/ul&gt;\n &lt;/div&gt;&lt;!--/.nav-collapse --&gt;\n &lt;/div&gt;\n &lt;/div&gt;\n \n \n \n &lt;div class=&#34;container-fluid&#34;&gt;\n &lt;div class=&#34;row-fluid&#34;&gt;\n \n &lt;div class=&#34;col-sm-2&#34;&gt;\n &lt;nav class=&#34;navigation&#34;&gt;\n &lt;ul class=&#34;list-unstyled&#34; id=&#34;scnd-nav&#34; intent in-standard-append=&#34;nav.navigation&#34; in-mobile-after=&#34;#main-nav&#34; in-mobile-class=&#34;nav navbar-nav&#34;&gt;\n &lt;li class=&#34;nav-head hidden-xs&#34;&gt;Browse&lt;/li&gt;\n \n \n &lt;li id=&#34;nav_new&#34; &gt;&lt;a href=&#34;/?data=root&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-book&#34;&gt;&lt;/span&gt; Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_hot&#34; &gt;&lt;a href=&#34;/hot/stored/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-fire&#34;&gt;&lt;/span&gt; Hot Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_download&#34; &gt;&lt;a href=&#34;/downloadlist?data=download&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-download&#34;&gt;&lt;/span&gt; Downloaded Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_rated&#34; &gt;&lt;a href=&#34;/rated/stored/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-star&#34;&gt;&lt;/span&gt; Top Rated Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_read&#34; &gt;&lt;a href=&#34;/read/stored/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-eye-open&#34;&gt;&lt;/span&gt; Read Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_unread&#34; &gt;&lt;a href=&#34;/unread/stored/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-eye-close&#34;&gt;&lt;/span&gt; Unread Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_rand&#34; &gt;&lt;a href=&#34;/discover/stored/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-random&#34;&gt;&lt;/span&gt; Discover&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_cat&#34; &gt;&lt;a href=&#34;/category?data=category&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-inbox&#34;&gt;&lt;/span&gt; Categories&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_serie&#34; &gt;&lt;a href=&#34;/series?data=series&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-bookmark&#34;&gt;&lt;/span&gt; Series&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_author&#34; &gt;&lt;a href=&#34;/author?data=author&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-user&#34;&gt;&lt;/span&gt; Authors&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_publisher&#34; &gt;&lt;a href=&#34;/publisher?data=publisher&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-text-size&#34;&gt;&lt;/span&gt; Publishers&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_lang&#34; &gt;&lt;a href=&#34;/language?data=language&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-flag&#34;&gt;&lt;/span&gt; Languages&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_rate&#34; &gt;&lt;a href=&#34;/ratings?data=rating&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt; Ratings&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_format&#34; &gt;&lt;a href=&#34;/formats?data=format&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-file&#34;&gt;&lt;/span&gt; File formats&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_archived&#34; &gt;&lt;a href=&#34;/archived/stored/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-trash&#34;&gt;&lt;/span&gt; Archived Books&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li id=&#34;nav_list&#34; &gt;&lt;a href=&#34;/table?data=list&amp;amp;sort_param=stored&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-th-list&#34;&gt;&lt;/span&gt; Books List&lt;/a&gt;&lt;/li&gt;\n \n \n \n &lt;li class=&#34;nav-head hidden-xs public-shelves&#34;&gt;Shelves&lt;/li&gt;\n \n \n &lt;li id=&#34;nav_createshelf&#34; class=&#34;create-shelf&#34;&gt;&lt;a href=&#34;/shelf/create&#34;&gt;Create a Shelf&lt;/a&gt;&lt;/li&gt;\n &lt;li id=&#34;nav_about&#34; &gt;&lt;a href=&#34;/stats&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-info-sign&#34;&gt;&lt;/span&gt; About&lt;/a&gt;&lt;/li&gt;\n \n \n\n &lt;/ul&gt;\n &lt;/nav&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-10&#34;&gt;\n \n\n&lt;div class=&#34;discover random-books&#34;&gt;\n &lt;h2 class=&#34;random-books&#34;&gt;Discover (Random Books)&lt;/h2&gt;\n &lt;div class=&#34;row display-flex&#34;&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books_rand&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/5&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;testbook&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/5/sm?c=1547291931 1x, /cover/5/md?c=1547291931 2x, /cover/5/lg?c=1547291931 3x&#34;\n src=&#34;/cover/5/og?c=1547291931&#34;\n alt=&#34;testbook&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/5&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;testbook&#34; class=&#34;title&#34;&gt;testbook&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/2&#34;&gt;John Döe&lt;/a&gt;\n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books_rand&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/12&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book10&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/12/sm?c=1547291931 1x, /cover/12/md?c=1547291931 2x, /cover/12/lg?c=1547291931 3x&#34;\n src=&#34;/cover/12/og?c=1547291931&#34;\n alt=&#34;book10&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/12&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book10&#34; class=&#34;title&#34;&gt;book10&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/13&#34;&gt;Lulu de Marco&lt;/a&gt;\n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books_rand&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/7&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;Buuko&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/7/sm?c=1549819180 1x, /cover/7/md?c=1549819180 2x, /cover/7/lg?c=1549819180 3x&#34;\n src=&#34;/cover/7/og?c=1549819180&#34;\n alt=&#34;Buuko&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/7&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;Buuko&#34; class=&#34;title&#34;&gt;Buuko&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/2&#34;&gt;John Döe&lt;/a&gt;\n \n \n &lt;/p&gt;\n \n &lt;p class=&#34;series&#34;&gt;\n &lt;a href=&#34;/series/stored/&#34;&gt;\n Djüngel\n &lt;/a&gt;\n (3)\n &lt;/p&gt;\n \n \n &lt;div class=&#34;rating&#34;&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt;\n \n \n \n &lt;/div&gt;\n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books_rand&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/8&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book8&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/8/sm?c=1547291931 1x, /cover/8/md?c=1547291931 2x, /cover/8/lg?c=1547291931 3x&#34;\n src=&#34;/cover/8/og?c=1547291931&#34;\n alt=&#34;book8&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/8&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book8&#34; class=&#34;title&#34;&gt;book8&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/11&#34;&gt;Leo Baskerville&lt;/a&gt;\n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=&#34;discover load-more&#34;&gt;\n &lt;h2 class=&#34;Books&#34;&gt;Books&lt;/h2&gt;\n \n &lt;div class=&#34;filterheader hidden-xs&#34;&gt;\n \n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort according to book date, newest first&#34; id=&#34;new&#34; class=&#34;btn btn-primary active&#34; href=&#34;/newest/new/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-book&#34;&gt;&lt;/span&gt; &lt;span class=&#34;glyphicon glyphicon-calendar&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-order&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort according to book date, oldest first&#34; id=&#34;old&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/old/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-book&#34;&gt;&lt;/span&gt; &lt;span class=&#34;glyphicon glyphicon-calendar&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-order-alt&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort title in alphabetical order&#34; id=&#34;asc&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/abc/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-font&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-alphabet&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort title in reverse alphabetical order&#34; id=&#34;desc&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/zyx/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-font&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-alphabet-alt&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort authors in alphabetical order&#34; id=&#34;auth_az&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/authaz/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-user&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-alphabet&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort authors in reverse alphabetical order&#34; id=&#34;auth_za&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/authza/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-user&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-alphabet-alt&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort according to publishing date, newest first&#34; id=&#34;pub_new&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/pubnew/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-calendar&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-order&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n &lt;a data-toggle=&#34;tooltip&#34; title=&#34;Sort according to publishing date, oldest first&#34; id=&#34;pub_old&#34; class=&#34;btn btn-primary&#34; href=&#34;/newest/pubold/&#34;&gt;&lt;span class=&#34;glyphicon glyphicon-calendar&#34;&gt;&lt;/span&gt;&lt;span class=&#34;glyphicon glyphicon-sort-by-order-alt&#34;&gt;&lt;/span&gt;&lt;/a&gt;\n \n \n &lt;/div&gt;\n \n &lt;div class=&#34;row display-flex&#34;&gt;\n \n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/13&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book11&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/13/sm?c=1547291931 1x, /cover/13/md?c=1547291931 2x, /cover/13/lg?c=1547291931 3x&#34;\n src=&#34;/cover/13/og?c=1547291931&#34;\n alt=&#34;book11&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/13&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book11&#34; class=&#34;title&#34;&gt;book11&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/6&#34;&gt;Norbert Halagal&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/12&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book10&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/12/sm?c=1547291931 1x, /cover/12/md?c=1547291931 2x, /cover/12/lg?c=1547291931 3x&#34;\n src=&#34;/cover/12/og?c=1547291931&#34;\n alt=&#34;book10&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/12&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book10&#34; class=&#34;title&#34;&gt;book10&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/13&#34;&gt;Lulu de Marco&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/11&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book9&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/11/sm?c=1547291931 1x, /cover/11/md?c=1547291931 2x, /cover/11/lg?c=1547291931 3x&#34;\n src=&#34;/cover/11/og?c=1547291931&#34;\n alt=&#34;book9&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/11&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book9&#34; class=&#34;title&#34;&gt;book9&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/8&#34;&gt;Hector Gonçalves&lt;/a&gt;\n \n \n \n \n &lt;span&gt;&amp;amp;&lt;/span&gt;\n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/12&#34;&gt;Unbekannt&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/10&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book7&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/10/sm?c=1547291931 1x, /cover/10/md?c=1547291931 2x, /cover/10/lg?c=1547291931 3x&#34;\n src=&#34;/cover/10/og?c=1547291931&#34;\n alt=&#34;book7&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/10&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book7&#34; class=&#34;title&#34;&gt;book7&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/3&#34;&gt;Peter Parker&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;div class=&#34;rating&#34;&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;/div&gt;\n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/9&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book6&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/9/sm?c=1589697654 1x, /cover/9/md?c=1589697654 2x, /cover/9/lg?c=1589697654 3x&#34;\n src=&#34;/cover/9/og?c=1589697654&#34;\n alt=&#34;book6&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/9&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book6&#34; class=&#34;title&#34;&gt;book6&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/10&#34;&gt;Sigurd Lindgren&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n &lt;p class=&#34;series&#34;&gt;\n \n &lt;a href=&#34;/series/stored/2&#34;&gt;\n Loko\n &lt;/a&gt;\n \n (0)\n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/8&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;book8&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/8/sm?c=1547291931 1x, /cover/8/md?c=1547291931 2x, /cover/8/lg?c=1547291931 3x&#34;\n src=&#34;/cover/8/og?c=1547291931&#34;\n alt=&#34;book8&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/8&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;book8&#34; class=&#34;title&#34;&gt;book8&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/11&#34;&gt;Leo Baskerville&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/7&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;Buuko&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/7/sm?c=1549819180 1x, /cover/7/md?c=1549819180 2x, /cover/7/lg?c=1549819180 3x&#34;\n src=&#34;/cover/7/og?c=1549819180&#34;\n alt=&#34;Buuko&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/7&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;Buuko&#34; class=&#34;title&#34;&gt;Buuko&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/2&#34;&gt;John Döe&lt;/a&gt;\n \n \n \n \n \n \n \n &lt;/p&gt;\n \n &lt;p class=&#34;series&#34;&gt;\n \n &lt;a href=&#34;/series/stored/&#34;&gt;\n Djüngel\n &lt;/a&gt;\n \n (3)\n &lt;/p&gt;\n \n \n &lt;div class=&#34;rating&#34;&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star good&#34;&gt;&lt;/span&gt;\n \n \n &lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt;\n \n &lt;span class=&#34;glyphicon glyphicon-star-empty&#34;&gt;&lt;/span&gt;\n \n \n \n &lt;/div&gt;\n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/5&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;testbook&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/5/sm?c=1547291931 1x, /cover/5/md?c=1547291931 2x, /cover/5/lg?c=1547291931 3x&#34;\n src=&#34;/cover/5/og?c=1547291931&#34;\n alt=&#34;testbook&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/5&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;testbook&#34; class=&#34;title&#34;&gt;testbook&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/2&#34;&gt;John Döe&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/4&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/4/sm?c=1547291931 1x, /cover/4/md?c=1547291931 2x, /cover/4/lg?c=1547291931 3x&#34;\n src=&#34;/cover/4/og?c=1547291931&#34;\n alt=&#34;Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/4&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters&#34; class=&#34;title&#34;&gt;Very long extra super turbo cool title without any issue of ...&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/3&#34;&gt;Peter Parker&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/3&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;comicdemo&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/3/sm?c=1547291931 1x, /cover/3/md?c=1547291931 2x, /cover/3/lg?c=1547291931 3x&#34;\n src=&#34;/cover/3/og?c=1547291931&#34;\n alt=&#34;comicdemo&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/3&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;comicdemo&#34; class=&#34;title&#34;&gt;comicdemo&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/4&#34;&gt;Asterix Lionherd&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n &lt;p class=&#34;series&#34;&gt;\n \n &lt;a href=&#34;/series/stored/&#34;&gt;\n Djüngel\n &lt;/a&gt;\n \n (1)\n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;div class=&#34;col-sm-3 col-lg-2 col-xs-6 book session&#34; id=&#34;books&#34;&gt;\n &lt;div class=&#34;cover&#34;&gt;\n &lt;a href=&#34;/book/1&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;span class=&#34;img&#34; title=&#34;Der Buchtitel&#34;&gt;\n \n &lt;img\n srcset=&#34;/cover/1/sm?c=1547291931 1x, /cover/1/md?c=1547291931 2x, /cover/1/lg?c=1547291931 3x&#34;\n src=&#34;/cover/1/og?c=1547291931&#34;\n alt=&#34;Der Buchtitel&#34;\n /&gt;\n \n &lt;/span&gt;\n &lt;/a&gt;\n &lt;/div&gt;\n &lt;div class=&#34;meta&#34;&gt;\n &lt;a href=&#34;/book/1&#34; data-toggle=&#34;modal&#34; data-target=&#34;#bookDetailsModal&#34; data-remote=&#34;false&#34;&gt;\n &lt;p title=&#34;Der Buchtitel&#34; class=&#34;title&#34;&gt;Der Buchtitel&lt;/p&gt;\n &lt;/a&gt;\n &lt;p class=&#34;author&#34;&gt;\n \n \n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/5&#34;&gt;Frodo Beutlin&lt;/a&gt;\n \n \n \n \n &lt;span&gt;&amp;amp;&lt;/span&gt;\n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/6&#34;&gt;Norbert Halagal&lt;/a&gt;\n \n \n \n \n &lt;span&gt;&amp;amp;&lt;/span&gt;\n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/7&#34;&gt;Liu Yang&lt;/a&gt;\n \n \n \n \n &lt;span&gt;&amp;amp;&lt;/span&gt;\n \n &lt;a class=&#34;author-name&#34; href=&#34;/author/stored/8&#34;&gt;Hector Gonçalves&lt;/a&gt;\n \n \n \n \n \n &lt;/p&gt;\n \n \n &lt;/div&gt;\n &lt;/div&gt;\n \n \n &lt;/div&gt;\n&lt;/div&gt;\n\n \n &lt;/div&gt;\n &lt;/div&gt;\n &lt;/div&gt;\n &lt;div class=&#34;modal fade&#34; id=&#34;bookDetailsModal&#34; tabindex=&#34;-1&#34; role=&#34;dialog&#34; aria-labelledby=&#34;bookDetailsModalLabel&#34;&gt;\n &lt;div class=&#34;modal-dialog modal-lg&#34; role=&#34;document&#34;&gt;\n &lt;div class=&#34;modal-content&#34;&gt;\n &lt;div class=&#34;modal-header&#34;&gt;\n &lt;button type=&#34;button&#34; class=&#34;close&#34; data-dismiss=&#34;modal&#34; aria-label=&#34;Close&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;\n &lt;h4 class=&#34;modal-title&#34; id=&#34;bookDetailsModalLabel&#34;&gt;Book Details&lt;/h4&gt;\n &lt;/div&gt;\n &lt;div class=&#34;modal-body&#34;&gt;...&lt;/div&gt;\n &lt;div class=&#34;modal-footer&#34;&gt;\n &lt;button type=&#34;button&#34; id=&#34;details_close&#34; class=&#34;btn btn-default&#34; data-dismiss=&#34;modal&#34;&gt;Close&lt;/button&gt;\n &lt;/div&gt;\n &lt;/div&gt;\n &lt;/div&gt;\n &lt;/div&gt;\n \n &lt;!-- jQuery (necessary for Bootstrap\&#39;s JavaScript plugins) --&gt;\n &lt;script src=&#34;/static/js/libs/jquery.min.js&#34;&gt;&lt;/script&gt;\n &lt;!-- Include all compiled plugins (below), or include individual files as needed --&gt;\n &lt;script src=&#34;/static/js/libs/bootstrap.min.js&#34;&gt;&lt;/script&gt;\n &lt;script src=&#34;/static/js/libs/underscore-umd-min.js&#34;&gt;&lt;/script&gt;\n &lt;script src=&#34;/static/js/libs/intention.min.js&#34;&gt;&lt;/script&gt;\n &lt;script src=&#34;/static/js/libs/context.min.js&#34;&gt;&lt;/script&gt;\n &lt;script src=&#34;/static/js/libs/plugins.js&#34;&gt;&lt;/script&gt;\n &lt;script src=&#34;/static/js/libs/jquery.form.min.js&#34;&gt;&lt;/script&gt;\n &lt;script src=&#34;/static/js/uploadprogress.js&#34;&gt; &lt;/script&gt;\n &lt;script src=&#34;/static/js/main.js&#34;&gt;&lt;/script&gt;\n \n \n &lt;/body&gt;\n&lt;/html&gt;&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt35.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='pt35.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='pt35.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='pt35.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_log_hack</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_protected</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft35.9" class="none bg-danger">
<td>
<div class='testcase'>TestLogin - test_login_remember_me</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft35.9')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft35.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_ft35.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_login.py&#34;, line 619, in test_login_remember_me
self.assertEqual(&#39;21896&#39;, cover.headers[&#39;Content-Length&#39;])
AssertionError: &#39;21896&#39; != &#39;4245&#39;
- 21896
+ 4245</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt35.10' 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='pt35.11' 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='pt35.12' 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='pt35.13' 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="ft35.14" class="none bg-danger">
<td>
<div class='testcase'>TestLogin - test_next</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft35.14')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft35.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_ft35.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_login.py&#34;, line 661, in test_next
self.assertTrue(&#34;&lt;title&gt;Calibre-Web | Books&lt;/title&gt;&#34; in page.text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt35.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_password_policy</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_proxy_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_proxy_login_multi_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.18' 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='pt35.19' 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('c36', 2)">Detail</a>
</td>
</tr>
<tr id='pt36.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='pt36.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('c37', 2)">Detail</a>
</td>
</tr>
<tr id='pt37.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='pt37.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">26</td>
<td class="text-center">26</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', 26)">Detail</a>
</td>
</tr>
<tr id='pt38.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_access_right_guest</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_access_right_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.6' 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='pt38.7' 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='pt38.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.9' 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='pt38.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.11' 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='pt38.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.14' 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='pt38.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_random</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_ratings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.18' 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='pt38.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_search</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.21' 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='pt38.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_stats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.24' 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='pt38.25' 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='pt38.26' 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('c39', 1)">Detail</a>
</td>
</tr>
<tr id='pt39.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="errorClass">
<td>_FailedTest</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('c40', 1)">Detail</a>
</td>
</tr>
<tr id="et40.1" class="none bg-info">
<td>
<div class='testcase'>_FailedTest - test_pip_install</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et40.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et40.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_et40.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">ImportError: Failed to import test module: test_pip_install
Traceback (most recent call last):
File &#34;/usr/lib/python3.10/unittest/loader.py&#34;, line 436, in _find_test_path
module = self._get_module_from_name(name)
File &#34;/usr/lib/python3.10/unittest/loader.py&#34;, line 377, in _get_module_from_name
__import__(name)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_pip_install.py&#34;, line 14, in &lt;module&gt;
from build_release import make_release
ModuleNotFoundError: No module named &#39;build_release&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="skipClass">
<td>TestReader</td>
<td class="text-center">8</td>
<td class="text-center">7</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c41', 8)">Detail</a>
</td>
</tr>
<tr id='st41.1' class='none bg-warning'>
<td>
<div class='testcase'>TestReader - test_cb7_reader</div>
</td>
<td colspan='6' align='center'>SKIP</td>
</tr>
<tr id='pt41.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_comic_MACOS_files</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_comic_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.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='pt41.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='pt41.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_single_file_comic</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.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='pt41.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('c42', 1)">Detail</a>
</td>
</tr>
<tr id='pt42.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('c43', 8)">Detail</a>
</td>
</tr>
<tr id='pt43.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='pt43.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='pt43.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='pt43.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='pt43.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='pt43.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='pt43.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='pt43.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">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('c44', 4)">Detail</a>
</td>
</tr>
<tr id='pt44.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_logout</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt44.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='pt44.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_next</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt44.4' 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('c45', 16)">Detail</a>
</td>
</tr>
<tr id='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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='pt45.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="st45.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_st45.14')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st45.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_st45.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='pt45.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='pt45.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="passClass">
<td>TestSocket</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('c46', 1)">Detail</a>
</td>
</tr>
<tr id='pt46.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSocket - test_socket_communication</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSplitLibrary</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('c47', 7)">Detail</a>
</td>
</tr>
<tr id='pt47.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_change_ebook</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt47.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_convert_ebook</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt47.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt47.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_email_ebook</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt47.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_kobo</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt47.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_thumbnails</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt47.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSplitLibrary - test_upload_ebook</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSystemdActivation</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('c48', 1)">Detail</a>
</td>
</tr>
<tr id='pt48.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSystemdActivation - test_systemd_activation</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestThumbnailsEnv</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('c49', 1)">Detail</a>
</td>
</tr>
<tr id='pt49.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnailsEnv - test_cover_cache_env_on_database_change</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestThumbnails</td>
<td class="text-center">8</td>
<td class="text-center">7</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c50', 8)">Detail</a>
</td>
</tr>
<tr id='pt50.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cache_non_writable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt50.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cache_of_deleted_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt50.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cover_cache_on_database_change</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt50.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cover_change_on_upload_new_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st50.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='pt50.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cover_on_upload_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt50.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_remove_cover_from_cache</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt50.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_sideloaded_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestUpdater</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('c51', 9)">Detail</a>
</td>
</tr>
<tr id='pt51.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_check_update_nightly_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt51.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_check_update_nightly_request_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt51.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_check_update_stable_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt51.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_check_update_stable_versions</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt51.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_perform_update</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt51.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_perform_update_stable_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="st51.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_st51.7')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st51.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_st51.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='pt51.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_reconnect_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt51.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_update_write_protect</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUploadEPubs</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('c52', 6)">Detail</a>
</td>
</tr>
<tr id='pt52.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_comments</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_cover_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_duplicate</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_identifier</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_lang</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUserList</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('c53', 18)">Detail</a>
</td>
</tr>
<tr id='pt53.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_edit_user_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_list_visibility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_admin_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_check_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_denied_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_download_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_button</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_kindle</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_locale</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_name</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_visiblility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_guest_edit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_remove_admin</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_requests</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_search</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt53.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUserLoad</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('c54', 1)">Detail</a>
</td>
</tr>
<tr id='pt54.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserLoad - test_user_change_vis</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUserTemplate</td>
<td class="text-center">21</td>
<td class="text-center">21</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c55', 21)">Detail</a>
</td>
</tr>
<tr id='pt55.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_allow_column_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_allow_tag_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_archived_format_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_author_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_best_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_category_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_deny_column_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_deny_tag_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_detail_random_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_download_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_format_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_hot_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_language_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_limit_book_languages</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_list_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_publisher_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_random_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_read_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_recent_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_series_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_ui_language_settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCalibreWebVisibilitys</td>
<td class="text-center">35</td>
<td class="text-center">35</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c56', 35)">Detail</a>
</td>
</tr>
<tr id='pt56.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_SMTP_Settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_add_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_archived</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_random</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_read</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_allow_columns</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_allow_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_archive_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_authors_max_settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_change_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_checked_logged_in</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_hide_custom_column</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_link_column_to_read_status</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.25' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_random_books_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.26' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_read_status_visible</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.27' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_request_link_column_to_read_status</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.28' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_restrict_columns</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.29' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_restrict_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.30' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_save_views_recent</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.31' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_search_functions</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.32' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_search_order</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.33' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_search_string</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.34' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_user_email_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.35' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_user_visibility_sidebar</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCalibreHelper</td>
<td class="text-center">16</td>
<td class="text-center">16</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c57', 16)">Detail</a>
</td>
</tr>
<tr id='pt57.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_comma</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_junior</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_oneword</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_roman</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_Limit_Length</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_char_replacement</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_chinese_Characters</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_deg_eur_replacement</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_doubleS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_finish_Dot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_high23</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_umlauts</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_random_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_split_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt57.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_whitespaces</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='total_row' class="text-center bg-grey">
<td>Total</td>
<td>498</td>
<td>479</td>
<td>6</td>
<td>3</td>
<td>10</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.5.0-41-generic #41~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 3 11:32:55 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.15.0</td>
<td>Basic</td>
</tr>
<tr>
<th>bleach</th>
<td>6.1.0</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>4.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-HTTPAuth</th>
<td>4.8.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Limiter</th>
<td>3.5.1</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.2.1</td>
<td>Basic</td>
</tr>
<tr>
<th>greenlet</th>
<td>3.0.3</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.4</td>
<td>Basic</td>
</tr>
<tr>
<th>lxml</th>
<td>5.2.2</td>
<td>Basic</td>
</tr>
<tr>
<th>pyasn1</th>
<td>0.6.0</td>
<td>Basic</td>
</tr>
<tr>
<th>pypdf</th>
<td>4.2.0</td>
<td>Basic</td>
</tr>
<tr>
<th>python-magic</th>
<td>0.4.27</td>
<td>Basic</td>
</tr>
<tr>
<th>pytz</th>
<td>2024.1</td>
<td>Basic</td>
</tr>
<tr>
<th>regex</th>
<td>2024.5.15</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.31</td>
<td>Basic</td>
</tr>
<tr>
<th>tornado</th>
<td>6.4.1</td>
<td>Basic</td>
</tr>
<tr>
<th>Unidecode</th>
<td>1.3.8</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.8</td>
<td>Basic</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.137.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.20.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.137.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.20.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.137.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.20.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.137.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.20.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>rarfile</th>
<td>4.2</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>py7zr</th>
<td>0.21.1</td>
<td>TestEditBooks</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.137.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.20.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.3</td>
<td>TestLoadMetadata</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.137.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.20.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.3</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.137.0</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.20.0</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.137.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.20.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.25.1</td>
<td>TestGoodreads</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.23.0</td>
<td>TestKoboSync</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.23.0</td>
<td>TestKoboSyncBig</td>
</tr>
<tr>
<th>Flask-SimpleLDAP</th>
<td>2.0.0</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.23.0</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>python-ldap</th>
<td>3.4.4</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>Flask-Dance</th>
<td>7.1.0</td>
<td>TestOAuthLogin</td>
</tr>
<tr>
<th>SQLAlchemy-Utils</th>
<td>0.41.2</td>
<td>TestOAuthLogin</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
drawCircle(479, 6, 3, 10);
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>