calibre-web/test/Calibre-Web TestSummary.html
Ozzieisaacs 4749eccfa5 Added fix for python2 regex
Fix for python2 attributeError instead of TypeError on login with wrong openLDAP setting
Added default empty string on LDAPCertificate
Fix ldap as scheme for tls connection
Enabled add user on LDAP Authentication
LDAP config port is now number input
Added header for user import config
Added python ldap version to about section
Fix: It's no longer possible to login via fallback password as long as LDAP server is available
Fix: TypeError on bind is now catched and transformed to error message
Update Readme
Fixes for ldap
2020-04-14 10:58:32 +02:00

2289 lines
70 KiB
HTML
Executable File

<!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>2020-04-13 20:58:27</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>2020-04-13 21:36:17</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>2002.47 s</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 class="result['header']['style']">
<td>test_anonymous.test_anonymous</td>
<td class="text-center">11</td>
<td class="text-center">11</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c1', 11)">Detail</a>
</td>
</tr>
<tr id='pt1.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>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'>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'>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'>test_guest_change_visibility_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_change_visibility_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_change_visibility_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_change_visibility_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_change_visibility_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_random_books_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_visibility_read</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_guest_visibility_sidebar</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_cli.test_cli</td>
<td class="text-center">6</td>
<td class="text-center">5</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('c2', 6)">Detail</a>
</td>
</tr>
<tr id='pt2.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_already_started</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_cli_SSL_files</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_cli_different_folder</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt2.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_cli_different_settings_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st2.5' class='none bg-warning'>
<td>
<div class='testcase'>test_cli_gdrive_location</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st2.5')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st2.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_st2.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='pt2.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_environ_port_setting</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_ebook_convert.test_ebook_convert</td>
<td class="text-center">11</td>
<td class="text-center">7</td>
<td class="text-center">4</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c3', 11)">Detail</a>
</td>
</tr>
<tr id='pt3.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_smtp_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt3.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_STARTTLS_smtp_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt3.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_convert_deactivate</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='ft3.4' class='none bg-danger'>
<td>
<div class='testcase'>test_convert_email</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft3.4')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft3.4' 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_ft3.4').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_ebook_convert.py", line 194, in test_convert_email
self.assertEqual(ret[-1]['result'], 'Finished')
AssertionError: 'Failed' != 'Finished'
- Failed
+ Finished</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt3.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_convert_failed_and_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='ft3.6' class='none bg-danger'>
<td>
<div class='testcase'>test_convert_only</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft3.6')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft3.6' 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_ft3.6').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_ebook_convert.py", line 329, in test_convert_only
self.assertEqual(ret[-3]['result'], 'Finished')
AssertionError: 'Failed' != 'Finished'
- Failed
+ Finished</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='ft3.7' class='none bg-danger'>
<td>
<div class='testcase'>test_convert_parameter</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft3.7')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft3.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_ft3.7').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_ebook_convert.py", line 157, in test_convert_parameter
self.assertEqual(ret[-1]['result'], 'Finished')
AssertionError: 'Failed' != 'Finished'
- Failed
+ Finished</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt3.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_convert_wrong_excecutable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt3.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_email_failed</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='ft3.10' class='none bg-danger'>
<td>
<div class='testcase'>test_email_only</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft3.10')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft3.10' 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_ft3.10').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_ebook_convert.py", line 381, in test_email_only
self.assertEqual(ret[-1]['result'], 'Finished')
AssertionError: 'Failed' != 'Finished'
- Failed
+ Finished</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt3.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_kindle_send_not_configured</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_edit_books.test_edit_books</td>
<td class="text-center">30</td>
<td class="text-center">27</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">3</td>
<td class="text-center">
<a onclick="showClassDetail('c4', 30)">Detail</a>
</td>
</tr>
<tr id='st4.1' class='none bg-warning'>
<td>
<div class='testcase'>test_delete_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st4.1')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st4.1' 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_st4.1').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='pt4.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_comments</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_custom_bool</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_custom_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_custom_single_select</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_custom_text</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st4.12' class='none bg-warning'>
<td>
<div class='testcase'>test_edit_publishing_date</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st4.12')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st4.12' 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_st4.12').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='pt4.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_edit_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st4.16' class='none bg-warning'>
<td>
<div class='testcase'>test_rename_uppercase_lowercase</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st4.16')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st4.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_st4.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='pt4.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_typeahead_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_typeahead_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_typeahead_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_typeahead_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_typeahead_tag</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_cbr</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_cbt</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_cbz</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.25' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_epub</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.26' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_fb2</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.27' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_lit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.28' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_mobi</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.29' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_book_pdf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.30' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_upload_cover_hdd</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_email_STARTTLS.test_STARTTLS</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('c5', 2)">Detail</a>
</td>
</tr>
<tr id='pt5.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_STARTTLS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt5.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_STARTTLS_SSL_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_email_ssl.test_SSL</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('c6', 4)">Detail</a>
</td>
</tr>
<tr id='pt6.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_None_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt6.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_STARTTLS_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt6.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_logging_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt6.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>unittest.suite._ErrorHolder</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('c7', 1)">Detail</a>
</td>
</tr>
<tr id='et7.1' class='none bg-info'>
<td>
<div class='testcase'>setUpClass (test_helper)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et7.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id='div_et7.1' 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_et7.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 "/home/matthias/Entwicklung/calibre-web-test/test/test_helper.py", line 18, in setUpClass
from cps import helper
File "/home/matthias/Entwicklung/calibre-web/cps/__init__.py", line 28, in <module>
from babel import Locale as LC
ModuleNotFoundError: No module named 'babel'</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr class="result['header']['style']">
<td>test_kobo_sync.test_kobo_sync</td>
<td class="text-center">2</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">
<a onclick="showClassDetail('c8', 2)">Detail</a>
</td>
</tr>
<tr id='ft8.1' class='none bg-danger'>
<td>
<div class='testcase'>test_check_sync</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft8.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft8.1' 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_ft8.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 "/home/matthias/Entwicklung/calibre-web-test/test/test_kobo_sync.py", line 87, in test_check_sync
self.assertEqual(r.json()['Resources']['image_url_quality_template'], self.kobo_adress+"/{ImageId}/{width}/{height}/image.jpg")
AssertionError: 'http[35 chars]1d50f75da2a5578ea9baa6a77/{ImageId}/image.jpg' != 'http[35 chars]1d50f75da2a5578ea9baa6a77/{ImageId}/{width}/{height}/image.jpg'
- http://192.168.188.33:8083/kobo/c97e71f1d50f75da2a5578ea9baa6a77/{ImageId}/image.jpg
+ http://192.168.188.33:8083/kobo/c97e71f1d50f75da2a5578ea9baa6a77/{ImageId}/{width}/{height}/image.jpg
? +++++++++++++++++</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt8.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_sync_invalid</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>unittest.loader._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('c9', 1)">Detail</a>
</td>
</tr>
<tr id='et9.1' class='none bg-info'>
<td>
<div class='testcase'>unittestloader_FailedTest)</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et9.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id='div_et9.1' 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_et9.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_ldap
Traceback (most recent call last):
File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/home/matthias/Entwicklung/calibre-web-test/test/test_ldap.py", line 9, in <module>
from helper_ldap import TestLDApServer
File "/home/matthias/Entwicklung/calibre-web-test/test/helper_ldap.py", line 13, in <module>
from ldaptor.inmemory import fromLDIFFile
File "/home/matthias/.local/lib/python3.8/site-packages/ldaptor/inmemory.py", line 5, in <module>
from ldaptor import interfaces, entry, entryhelpers
File "/home/matthias/.local/lib/python3.8/site-packages/ldaptor/entry.py", line 10, in <module>
from ldaptor import interfaces, attributeset, delta
File "/home/matthias/.local/lib/python3.8/site-packages/ldaptor/delta.py", line 11, in <module>
from ldaptor.protocols import pureldap, pureber
File "/home/matthias/.local/lib/python3.8/site-packages/ldaptor/protocols/pureldap.py", line 22, in <module>
from ldaptor.protocols.pureber import (
File "/home/matthias/.local/lib/python3.8/site-packages/ldaptor/protocols/pureber.py", line 394
raise UnknownBERTag(i, context)
^
TabError: inconsistent use of tabs and spaces in indentation</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr class="result['header']['style']">
<td>test_logging.test_logging</td>
<td class="text-center">6</td>
<td class="text-center">4</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c10', 6)">Detail</a>
</td>
</tr>
<tr id='pt10.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_debug_log</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt10.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_failed_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st10.3' class='none bg-warning'>
<td>
<div class='testcase'>test_failed_register</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st10.3')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st10.3' 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_st10.3').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='pt10.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_logfile_change</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='ft10.5' class='none bg-danger'>
<td>
<div class='testcase'>test_logfile_recover</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft10.5')">FAIL</a>
</div>
<!--css div popup start-->
<div id='div_ft10.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_ft10.5').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_logging.py", line 136, in test_logfile_recover
self.assertTrue(logpath=="", "logfile config value is not empty after reseting to default")
AssertionError: False is not true : logfile config value is not empty after reseting to default</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt10.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_logviewer</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_login.test_login</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('c11', 8)">Detail</a>
</td>
</tr>
<tr id='pt11.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_digest_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_capital_letters_user_unicode_password_passwort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_delete_admin</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_empty_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_locale_select</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_protected</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_unicode_user_space_end_passwort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt11.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_user_with_space_passwort_end_space</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_opds_feed.test_opds_feed</td>
<td class="text-center">20</td>
<td class="text-center">20</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('c12', 20)">Detail</a>
</td>
</tr>
<tr id='pt12.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_calibre_companion</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_guest_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_non_admin</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_random</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_ratings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_read_unread</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_search</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_shelf_access</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_top_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_recently_added</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_register.test_register</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('c13', 6)">Detail</a>
</td>
</tr>
<tr id='pt13.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_forgot_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_limit_domain</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_register_no_server</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_registering_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_registering_user_fail</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_user_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_shelf.test_shelf</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('c14', 8)">Detail</a>
</td>
</tr>
<tr id='pt14.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_arrange_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_delete_book_of_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_private_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_public_private_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_public_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_rename_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st14.7' class='none bg-warning'>
<td>
<div class='testcase'>test_shelf_database_change</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st14.7')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st14.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_st14.7').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='pt14.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_shelf_long_name</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_updater.test_updater</td>
<td class="text-center">7</td>
<td class="text-center">6</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('c15', 7)">Detail</a>
</td>
</tr>
<tr id='pt15.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_nightly_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_nightly_request_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_stable_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_stable_versions</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_perform_update</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_perform_update_stable_errors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st15.7' class='none bg-warning'>
<td>
<div class='testcase'>test_perform_update_timeout</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st15.7')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st15.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_st15.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 class="result['header']['style']">
<td>test_user_template.test_user_template</td>
<td class="text-center">17</td>
<td class="text-center">17</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c16', 17)">Detail</a>
</td>
</tr>
<tr id='pt16.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_column_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_tag_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_best_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_category_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_deny_column_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_deny_tag_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_detail_random_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_hot_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_language_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_limit_book_languages</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_publisher_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_random_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_read_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_recent_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_series_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_ui_language_settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_visiblilitys.calibre_web_visibilitys</td>
<td class="text-center">22</td>
<td class="text-center">22</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c17', 22)">Detail</a>
</td>
</tr>
<tr id='pt17.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_SMTP_Settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_add_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_file_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_read</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_columns</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_checked_logged_in</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_random_books_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_restrict_columns</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_restrict_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_user_email_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt17.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_user_visibility_sidebar</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='total_row' class="text-center bg-grey">
<td>Total</td>
<td>162</td>
<td>147</td>
<td>6</td>
<td>2</td>
<td>7</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 5.5.16-1-MANJARO #1 SMP PREEMPT Wed Apr 8 10:07:00 UTC 2020 x86_64</td>
<td>Basic</td>
</tr>
<tr>
<th>Python</th>
<td>3.8.2</td>
<td>Basic</td>
</tr>
<tr>
<th>Babel</th>
<td>2.8.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask</th>
<td>1.1.2</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Babel</th>
<td>1.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Login</th>
<td>0.5.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Principal</th>
<td>0.4.0</td>
<td>Basic</td>
</tr>
<tr>
<th>iso-639</th>
<td>0.4.5</td>
<td>Basic</td>
</tr>
<tr>
<th>PyPDF2</th>
<td>1.26.0</td>
<td>Basic</td>
</tr>
<tr>
<th>pytz</th>
<td>2019.3</td>
<td>Basic</td>
</tr>
<tr>
<th>requests</th>
<td>2.22.0</td>
<td>Basic</td>
</tr>
<tr>
<th>singledispatch</th>
<td>3.4.0.3</td>
<td>Basic</td>
</tr>
<tr>
<th>six</th>
<td>1.14.0</td>
<td>Basic</td>
</tr>
<tr>
<th>SQLAlchemy</th>
<td>1.3.16</td>
<td>Basic</td>
</tr>
<tr>
<th>tornado</th>
<td>6.0.4</td>
<td>Basic</td>
</tr>
<tr>
<th>Wand</th>
<td>0.5.9</td>
<td>Basic</td>
</tr>
<tr>
<th>lxml</th>
<td>4.5.0</td>
<td>test_edit_books</td>
</tr>
<tr>
<th>Pillow</th>
<td>7.1.1</td>
<td>test_edit_books</td>
</tr>
<tr>
<th>jsonschema</th>
<td>3.2.0</td>
<td>test_kobo_sync</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
drawCircle(147, 6, 2, 7);
</script>
</div>
<footer>
<div id='foter' class="text-center">
<p>Made with HTMLTestRunner from https://github.com/oldani/HtmlTestRunner</p>
</div>
</footer>
</body>
</html>