Start Time: 2024-07-15 20:39:37
Stop Time: 2024-07-16 03:41:10
Duration: 5h 50 min
Test Group/Test case | Count | Pass | Fail | Error | Skip | View |
TestAnonymous | 13 | 13 | 0 | 0 | 0 | Detail |
TestAnonymous - test_check_locale_guest
|
PASS | |||||
TestAnonymous - test_guest_about
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_category
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_format
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_hot
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_language
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_publisher
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_rated
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_rating
|
PASS | |||||
TestAnonymous - test_guest_change_visibility_series
|
PASS | |||||
TestAnonymous - test_guest_random_books_available
|
PASS | |||||
TestAnonymous - test_guest_restricted_settings_visibility
|
PASS | |||||
TestAnonymous - test_guest_visibility_sidebar
|
PASS | |||||
TestBackupMetadata | 21 | 21 | 0 | 0 | 0 | Detail |
TestBackupMetadata - test_backup_all
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_author
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_description
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_identifier
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_language
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_publisher
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_publishing_date
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_rating
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_series_index
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_tags
|
PASS | |||||
TestBackupMetadata - test_backup_change_book_title
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_Comment
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_Enum
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_bool
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_categories
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_date
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_float
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_int
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_rating
|
PASS | |||||
TestBackupMetadata - test_backup_change_custom_text
|
PASS | |||||
TestBackupMetadata - test_upload_book
|
PASS | |||||
TestBackupMetadataGdrive | 1 | 1 | 0 | 0 | 0 | Detail |
TestBackupMetadataGdrive - test_backup_gdrive
|
PASS | |||||
TestCli | 13 | 12 | 1 | 0 | 0 | Detail |
TestCli - test_already_started
|
PASS | |||||
TestCli - test_bind_to_single_interface
|
PASS | |||||
TestCli - test_change_password
|
PASS | |||||
TestCli - test_cli_SSL_files
|
PASS | |||||
TestCli - test_cli_different_folder
|
PASS | |||||
TestCli - test_cli_different_settings_database
|
PASS | |||||
TestCli - test_dryrun_update
|
PASS | |||||
TestCli - test_enable_reconnect
|
PASS | |||||
TestCli - test_environ_port_setting
|
PASS | |||||
TestCli - test_logfile
|
PASS | |||||
TestCli - test_no_database
|
PASS | |||||
TestCli - test_settingsdb_not_writeable
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_cli.py", line 431, in test_settingsdb_not_writeable self.assertEqual(result, 2) AssertionError: 1 != 2 |
|||||
TestCli - test_writeonly_static_files
|
PASS | |||||
TestCliGdrivedb | 4 | 4 | 0 | 0 | 0 | Detail |
TestCliGdrivedb - test_cli_gdrive_folder
|
PASS | |||||
TestCliGdrivedb - test_cli_gdrive_location
|
PASS | |||||
TestCliGdrivedb - test_gdrive_db_nonwrite
|
PASS | |||||
TestCliGdrivedb - test_no_database
|
PASS | |||||
TestCoverEditBooks | 2 | 2 | 0 | 0 | 0 | Detail |
TestCoverEditBooks - test_invalid_jpg_hdd
|
PASS | |||||
TestCoverEditBooks - test_upload_jpg
|
PASS | |||||
TestDeleteDatabase | 1 | 1 | 0 | 0 | 0 | Detail |
TestDeleteDatabase - test_delete_books_in_database
|
PASS | |||||
TestEbookConvertCalibre | 15 | 15 | 0 | 0 | 0 | Detail |
TestEbookConvertCalibre - test_calibre_log
|
PASS | |||||
TestEbookConvertCalibre - test_convert_deactivate
|
PASS | |||||
TestEbookConvertCalibre - test_convert_email
|
PASS | |||||
TestEbookConvertCalibre - test_convert_failed_and_email
|
PASS | |||||
TestEbookConvertCalibre - test_convert_only
|
PASS | |||||
TestEbookConvertCalibre - test_convert_options
|
PASS | |||||
TestEbookConvertCalibre - test_convert_parameter
|
PASS | |||||
TestEbookConvertCalibre - test_convert_wrong_excecutable
|
PASS | |||||
TestEbookConvertCalibre - test_convert_xss
|
PASS | |||||
TestEbookConvertCalibre - test_email_failed
|
PASS | |||||
TestEbookConvertCalibre - test_email_only
|
PASS | |||||
TestEbookConvertCalibre - test_kindle_send_not_configured
|
PASS | |||||
TestEbookConvertCalibre - test_ssl_smtp_setup_error
|
PASS | |||||
TestEbookConvertCalibre - test_starttls_smtp_setup_error
|
PASS | |||||
TestEbookConvertCalibre - test_user_convert_xss
|
PASS | |||||
TestEbookConvertCalibreGDrive | 7 | 7 | 0 | 0 | 0 | Detail |
TestEbookConvertCalibreGDrive - test_convert_email
|
PASS | |||||
TestEbookConvertCalibreGDrive - test_convert_failed_and_email
|
PASS | |||||
TestEbookConvertCalibreGDrive - test_convert_only
|
PASS | |||||
TestEbookConvertCalibreGDrive - test_convert_parameter
|
PASS | |||||
TestEbookConvertCalibreGDrive - test_email_failed
|
PASS | |||||
TestEbookConvertCalibreGDrive - test_email_only
|
PASS | |||||
TestEbookConvertCalibreGDrive - test_thumbnail_cache
|
PASS | |||||
TestEbookConvertKepubify | 3 | 3 | 0 | 0 | 0 | Detail |
TestEbookConvertKepubify - test_convert_deactivate
|
PASS | |||||
TestEbookConvertKepubify - test_convert_only
|
PASS | |||||
TestEbookConvertKepubify - test_convert_wrong_excecutable
|
PASS | |||||
TestEbookConvertGDriveKepubify | 3 | 3 | 0 | 0 | 0 | Detail |
TestEbookConvertGDriveKepubify - test_convert_deactivate
|
PASS | |||||
TestEbookConvertGDriveKepubify - test_convert_only
|
PASS | |||||
TestEbookConvertGDriveKepubify - test_convert_wrong_excecutable
|
PASS | |||||
TestEditAdditionalBooks | 20 | 18 | 0 | 0 | 2 | Detail |
TestEditAdditionalBooks - test_cbz_comicinfo
|
PASS | |||||
TestEditAdditionalBooks - test_change_upload_formats
|
PASS | |||||
TestEditAdditionalBooks - test_delete_book
|
PASS | |||||
TestEditAdditionalBooks - test_delete_role
|
PASS | |||||
TestEditAdditionalBooks - test_details_popup
|
PASS | |||||
TestEditAdditionalBooks - test_edit_book_identifier
|
PASS | |||||
TestEditAdditionalBooks - test_edit_book_identifier_capital
|
PASS | |||||
TestEditAdditionalBooks - test_edit_book_identifier_standard
|
PASS | |||||
TestEditAdditionalBooks - test_edit_special_book_identifier
|
PASS | |||||
TestEditAdditionalBooks - test_title_sort
|
PASS | |||||
TestEditAdditionalBooks - test_upload_cbz_coverformats
|
PASS | |||||
TestEditAdditionalBooks - test_upload_edit_role
|
PASS | |||||
TestEditAdditionalBooks - test_upload_metadata_cb7
|
PASS | |||||
TestEditAdditionalBooks - test_upload_metadata_cbr
|
PASS | |||||
TestEditAdditionalBooks - test_upload_metadata_cbt
|
PASS | |||||
TestEditAdditionalBooks - test_writeonly_calibre_database
|
||||||
TestEditAdditionalBooks - test_writeonly_path
|
PASS | |||||
TestEditAdditionalBooks - test_xss_author_edit
|
SKIP | |||||
TestEditAdditionalBooks - test_xss_comment_edit
|
PASS | |||||
TestEditAdditionalBooks - test_xss_custom_comment_edit
|
PASS | |||||
TestEditBooks | 38 | 36 | 0 | 0 | 2 | Detail |
TestEditBooks - test_download_book
|
PASS | |||||
TestEditBooks - test_edit_author
|
PASS | |||||
TestEditBooks - test_edit_category
|
PASS | |||||
TestEditBooks - test_edit_comments
|
PASS | |||||
TestEditBooks - test_edit_custom_bool
|
PASS | |||||
TestEditBooks - test_edit_custom_categories
|
PASS | |||||
TestEditBooks - test_edit_custom_comment
|
PASS | |||||
TestEditBooks - test_edit_custom_date
|
PASS | |||||
TestEditBooks - test_edit_custom_float
|
PASS | |||||
TestEditBooks - test_edit_custom_int
|
PASS | |||||
TestEditBooks - test_edit_custom_rating
|
PASS | |||||
TestEditBooks - test_edit_custom_single_select
|
PASS | |||||
TestEditBooks - test_edit_custom_text
|
PASS | |||||
TestEditBooks - test_edit_language
|
PASS | |||||
TestEditBooks - test_edit_publisher
|
PASS | |||||
TestEditBooks - test_edit_publishing_date
|
PASS | |||||
TestEditBooks - test_edit_rating
|
PASS | |||||
TestEditBooks - test_edit_series
|
PASS | |||||
TestEditBooks - test_edit_title
|
PASS | |||||
TestEditBooks - test_rename_upper_lowercase
|
||||||
TestEditBooks - test_rename_uppercase_lowercase
|
||||||
TestEditBooks - test_typeahead_author
|
PASS | |||||
TestEditBooks - test_typeahead_functions
|
PASS | |||||
TestEditBooks - test_typeahead_language
|
PASS | |||||
TestEditBooks - test_typeahead_publisher
|
PASS | |||||
TestEditBooks - test_typeahead_series
|
PASS | |||||
TestEditBooks - test_typeahead_tag
|
PASS | |||||
TestEditBooks - test_upload_book_cb7
|
PASS | |||||
TestEditBooks - test_upload_book_cbr
|
PASS | |||||
TestEditBooks - test_upload_book_cbt
|
PASS | |||||
TestEditBooks - test_upload_book_cbz
|
PASS | |||||
TestEditBooks - test_upload_book_epub
|
PASS | |||||
TestEditBooks - test_upload_book_fb2
|
PASS | |||||
TestEditBooks - test_upload_book_lit
|
PASS | |||||
TestEditBooks - test_upload_book_mobi
|
PASS | |||||
TestEditBooks - test_upload_book_pdf
|
PASS | |||||
TestEditBooks - test_upload_cbz_coverformats
|
PASS | |||||
TestEditBooks - test_upload_cover_hdd
|
PASS | |||||
TestEditAuthors | 8 | 8 | 0 | 0 | 0 | Detail |
TestEditAuthors - test_change_capital_co_author
|
PASS | |||||
TestEditAuthors - test_change_capital_one_author_one_book
|
PASS | |||||
TestEditAuthors - test_change_capital_one_author_two_books
|
PASS | |||||
TestEditAuthors - test_change_capital_one_author_two_books_coauthor
|
PASS | |||||
TestEditAuthors - test_change_capital_rename_co_author
|
PASS | |||||
TestEditAuthors - test_change_capital_rename_two_co_authors
|
PASS | |||||
TestEditAuthors - test_rename_author_accent_onupload
|
PASS | |||||
TestEditAuthors - test_rename_capital_on_upload
|
PASS | |||||
TestEditAuthorsGdrive | 7 | 7 | 0 | 0 | 0 | Detail |
TestEditAuthorsGdrive - test_change_capital_co_author
|
PASS | |||||
TestEditAuthorsGdrive - test_change_capital_one_author_one_book
|
PASS | |||||
TestEditAuthorsGdrive - test_change_capital_one_author_two_books
|
PASS | |||||
TestEditAuthorsGdrive - test_change_capital_one_author_two_books_coauthor
|
PASS | |||||
TestEditAuthorsGdrive - test_change_capital_rename_co_author
|
PASS | |||||
TestEditAuthorsGdrive - test_change_capital_rename_two_co_authors
|
PASS | |||||
TestEditAuthorsGdrive - test_rename_capital_on_upload
|
PASS | |||||
TestEditBooksList | 19 | 19 | 0 | 0 | 0 | Detail |
TestEditBooksList - test_booklist_xss
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_author
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_categories
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_comment
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_category
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_comment
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_enum
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_float
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_int
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_ratings
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_cust_text
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_languages
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_publisher
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_series
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_seriesindex
|
PASS | |||||
TestEditBooksList - test_bookslist_edit_title
|
PASS | |||||
TestEditBooksList - test_list_visibility
|
PASS | |||||
TestEditBooksList - test_restricted_rights
|
PASS | |||||
TestEditBooksList - test_search_books_list
|
PASS | |||||
TestLoadMetadata | 1 | 0 | 0 | 1 | 0 | Detail |
TestLoadMetadata - test_load_metadata
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 90, in test_load_metadata elif 'https://amazon.com/' == results[20]['source']: IndexError: list index out of range |
|||||
TestEditBooksOnGdrive | 18 | 17 | 1 | 0 | 0 | Detail |
TestEditBooksOnGdrive - test_download_book
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_author
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_category
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_comments
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_bool
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_categories
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_float
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_int
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_rating
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_single_select
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_custom_text
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_language
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_publisher
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_rating
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_series
|
PASS | |||||
TestEditBooksOnGdrive - test_edit_title
|
PASS | |||||
TestEditBooksOnGdrive - test_upload_book_lit
|
PASS | |||||
TestEditBooksOnGdrive - test_watch_metadata
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 963, in test_watch_metadata self.assertNotIn('series', book) AssertionError: 'series' unexpectedly found in {'id': 5, 'reader': [], 'title': 'testbook', 'author': ['John Döe'], 'rating': 0, 'languages': ['English'], 'identifier': [], 'cover': '/cover/5/og?c=1721073398', 'tag': [], 'publisher': ['Randomhäus'], 'pubdate': 'Jan 19, 2017', 'comment': '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', 'add_shelf': [], 'del_shelf': [], 'edit_enable': True, 'kindle': None, 'kindlebtn': None, 'download': ['EPUB\n (6.7 kB)'], 'read': False, 'archived': False, 'series_all': 'Book 1 of test', 'series_index': '1', 'series': 'test', 'cust_columns': []} |
|||||
TestLoadMetadataScholar | 1 | 1 | 0 | 0 | 0 | Detail |
TestLoadMetadataScholar - test_load_metadata
|
PASS | |||||
TestSTARTTLS | 3 | 3 | 0 | 0 | 0 | Detail |
TestSTARTTLS - test_STARTTLS
|
PASS | |||||
TestSTARTTLS - test_STARTTLS_SSL_setup_error
|
PASS | |||||
TestSTARTTLS - test_STARTTLS_resend_password
|
PASS | |||||
TestSSL | 7 | 7 | 0 | 0 | 0 | Detail |
TestSSL - test_SSL_None_setup_error
|
PASS | |||||
TestSSL - test_SSL_STARTTLS_setup_error
|
PASS | |||||
TestSSL - test_SSL_logging_email
|
PASS | |||||
TestSSL - test_SSL_non_admin_user
|
PASS | |||||
TestSSL - test_SSL_only
|
PASS | |||||
TestSSL - test_email_limit
|
PASS | |||||
TestSSL - test_filepicker_two_file
|
PASS | |||||
TestEmbedMetadata | 6 | 6 | 0 | 0 | 0 | Detail |
TestEmbedMetadata - test_convert_file_embed_metadata
|
PASS | |||||
TestEmbedMetadata - test_convert_kepub_embed_metadata
|
PASS | |||||
TestEmbedMetadata - test_download_check_metadata
|
PASS | |||||
TestEmbedMetadata - test_download_kepub_embed_metadata
|
PASS | |||||
TestEmbedMetadata - test_download_permissions_missing_file
|
PASS | |||||
TestEmbedMetadata - test_email_epub_embed_metadata
|
PASS | |||||
TestEmbedMetadataGdrive | 4 | 4 | 0 | 0 | 0 | Detail |
TestEmbedMetadataGdrive - test_convert_file_embed_metadata
|
PASS | |||||
TestEmbedMetadataGdrive - test_convert_kepub_embed_metadata
|
PASS | |||||
TestEmbedMetadataGdrive - test_download_check_metadata
|
PASS | |||||
TestEmbedMetadataGdrive - test_download_kepub_embed_metadata
|
PASS | |||||
TestBookDatabase | 1 | 1 | 0 | 0 | 0 | Detail |
TestBookDatabase - test_invalid_book_path
|
PASS | |||||
TestErrorReadColumn | 2 | 2 | 0 | 0 | 0 | Detail |
TestErrorReadColumn - test_invalid_custom_column
|
PASS | |||||
TestErrorReadColumn - test_invalid_custom_read_column
|
PASS | |||||
TestFilePicker | 3 | 2 | 0 | 0 | 1 | Detail |
TestFilePicker - test_filepicker_limited_file
|
PASS | |||||
TestFilePicker - test_filepicker_new_file
|
||||||
TestFilePicker - test_two_filepickers
|
PASS | |||||
TestSetupGdrive | 1 | 1 | 0 | 0 | 0 | Detail |
TestSetupGdrive - test_config_gdrive
|
PASS | |||||
TestGoodreads | 3 | 3 | 0 | 0 | 0 | Detail |
TestGoodreads - test_author_page
|
PASS | |||||
TestGoodreads - test_author_page_invalid
|
PASS | |||||
TestGoodreads - test_goodreads_about
|
PASS | |||||
TestKoboSync | 12 | 12 | 0 | 0 | 0 | Detail |
TestKoboSync - test_book_download
|
PASS | |||||
TestKoboSync - test_kobo_about
|
PASS | |||||
TestKoboSync - test_kobo_limit
|
PASS | |||||
TestKoboSync - test_kobo_no_download
|
PASS | |||||
TestKoboSync - test_kobo_sync_selected_shelfs
|
PASS | |||||
TestKoboSync - test_shelves_add_remove_books
|
PASS | |||||
TestKoboSync - test_sync_changed_book
|
PASS | |||||
TestKoboSync - test_sync_invalid
|
PASS | |||||
TestKoboSync - test_sync_reading_state
|
PASS | |||||
TestKoboSync - test_sync_shelf
|
PASS | |||||
TestKoboSync - test_sync_unchanged
|
PASS | |||||
TestKoboSync - test_sync_upload
|
PASS | |||||
TestKoboSyncBig | 6 | 6 | 0 | 0 | 0 | Detail |
TestKoboSyncBig - test_download_cover
|
PASS | |||||
TestKoboSyncBig - test_kobo_sync_multi_user
|
PASS | |||||
TestKoboSyncBig - test_kobo_sync_selected_shelves
|
PASS | |||||
TestKoboSyncBig - test_sync_changed_book
|
PASS | |||||
TestKoboSyncBig - test_sync_reading_state
|
PASS | |||||
TestKoboSyncBig - test_sync_shelf
|
PASS | |||||
TestLdapLogin | 13 | 11 | 1 | 1 | 0 | Detail |
TestLdapLogin - test_LDAP_SSL
|
PASS | |||||
TestLdapLogin - test_LDAP_SSL_CERTIFICATE
|
PASS | |||||
TestLdapLogin - test_LDAP_STARTTLS
|
PASS | |||||
TestLdapLogin - test_LDAP_fallback_Login
|
PASS | |||||
TestLdapLogin - test_LDAP_import
|
PASS | |||||
TestLdapLogin - test_LDAP_import_memberfield
|
PASS | |||||
TestLdapLogin - test_LDAP_login
|
PASS | |||||
TestLdapLogin - test_invalid_LDAP
|
PASS | |||||
TestLdapLogin - test_ldap_about
|
PASS | |||||
TestLdapLogin - test_ldap_authentication
|
PASS | |||||
TestLdapLogin - test_ldap_kobo_sync
|
PASS | |||||
TestLdapLogin - test_ldap_opds_anonymous
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_ldap.py", line 1018, in test_ldap_opds_anonymous self.assertEqual(200, r.status_code) AssertionError: 200 != 500 |
|||||
TestLdapLogin - test_ldap_opds_download_book
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_ldap.py", line 841, in test_ldap_opds_download_book self.fill_basic_config({'config_ldap_provider_url': '127.0.0.1', File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 392, in fill_basic_config cls._fill_basic_config(elements) File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 304, in _fill_basic_config WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "config_port"))) File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py", 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/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 |
|||||
TestSecurity | 5 | 5 | 0 | 0 | 0 | Detail |
TestSecurity - test_login_limit
|
PASS | |||||
TestSecurity - test_opds_limit
|
PASS | |||||
TestSecurity - test_password_strength
|
PASS | |||||
TestSecurity - test_redis_backend
|
PASS | |||||
TestSecurity - test_register_limit
|
PASS | |||||
TestCalibreWebListOrders | 16 | 16 | 0 | 0 | 0 | Detail |
TestCalibreWebListOrders - test_author_sort
|
PASS | |||||
TestCalibreWebListOrders - test_download_sort
|
PASS | |||||
TestCalibreWebListOrders - test_format_sort
|
PASS | |||||
TestCalibreWebListOrders - test_formats_click_none
|
PASS | |||||
TestCalibreWebListOrders - test_lang_sort
|
PASS | |||||
TestCalibreWebListOrders - test_language_click_none
|
PASS | |||||
TestCalibreWebListOrders - test_order_authors_all_links
|
PASS | |||||
TestCalibreWebListOrders - test_order_series_all_links
|
PASS | |||||
TestCalibreWebListOrders - test_publisher_click_none
|
PASS | |||||
TestCalibreWebListOrders - test_publisher_sort
|
PASS | |||||
TestCalibreWebListOrders - test_ratings_click_none
|
PASS | |||||
TestCalibreWebListOrders - test_ratings_sort
|
PASS | |||||
TestCalibreWebListOrders - test_series_click_none
|
PASS | |||||
TestCalibreWebListOrders - test_series_sort
|
PASS | |||||
TestCalibreWebListOrders - test_tags_click_none
|
PASS | |||||
TestCalibreWebListOrders - test_tags_sort
|
PASS | |||||
TestLogging | 9 | 8 | 0 | 0 | 1 | Detail |
TestLogging - test_access_log_recover
|
PASS | |||||
TestLogging - test_debug_log
|
PASS | |||||
TestLogging - test_debuginfo_download
|
PASS | |||||
TestLogging - test_failed_login
|
PASS | |||||
TestLogging - test_failed_register
|
||||||
TestLogging - test_logbook_download
|
PASS | |||||
TestLogging - test_logfile_change
|
PASS | |||||
TestLogging - test_logfile_recover
|
PASS | |||||
TestLogging - test_logviewer
|
PASS | |||||
TestLogin | 19 | 16 | 3 | 0 | 0 | Detail |
TestLogin - test_digest_login
|
PASS | |||||
TestLogin - test_login_capital_letters_user_unicode_password
|
PASS | |||||
TestLogin - test_login_cookie_steal
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_login.py", line 784, in test_login_cookie_steal self.assertNotIn("logout", resp.text) AssertionError: 'logout' unexpectedly found in '\n\n\n<!DOCTYPE html>\n<html lang="en">\n <head>\n <title>Calibre-Web | Books</title>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n <meta name="apple-mobile-web-app-capable" content="yes">\n \n <!-- Bootstrap -->\n <link rel="apple-touch-icon" sizes="140x140" href="/static/favicon.ico">\n <link rel="shortcut icon" href="/static/favicon.ico">\n <link href="/static/css/libs/bootstrap.min.css" rel="stylesheet" media="screen">\n \n <link href="/static/css/style.css" rel="stylesheet" media="screen">\n <link href="/static/css/upload.css" rel="stylesheet" media="screen">\n \n </head>\n <body class="newest " data-text="Home" data-textback="Back">\n <!-- Static navbar -->\n <div class="navbar navbar-default navbar-static-top" role="navigation">\n <div class="container-fluid">\n <div class="navbar-header">\n <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">\n <span class="sr-only">Toggle Navigation</span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </button>\n <a class="navbar-brand" href="/">Calibre-Web</a>\n </div>\n \n \n <form class="navbar-form navbar-left" role="search" action="/search" method="GET">\n <div class="form-group input-group input-group-sm">\n <label for="query" class="sr-only">Search</label>\n <input type="text" class="form-control" id="query" name="query" placeholder="Search Library" value="">\n <span class="input-group-btn">\n <button type="submit" id="query_submit" class="btn btn-default">Search</button>\n </span>\n </div>\n </form>\n \n <div class="navbar-collapse collapse">\n \n <ul class="nav navbar-nav ">\n <li><a href="/advsearch" id="advanced_search"><span class="glyphicon glyphicon-search"></span><span class="hidden-sm"> Advanced Search</span></a></li>\n </ul>\n \n <ul class="nav navbar-nav navbar-right" id="main-nav">\n \n \n \n \n <li class="top_tasks"><a id="top_tasks" href="/tasks"><span class="glyphicon glyphicon-tasks"></span> <span class="hidden-sm">Tasks</span></a></li>\n \n \n <li><a id="top_admin" data-text="Settings" href="/admin/view"><span class="glyphicon glyphicon-dashboard"></span> <span class="hidden-sm">Admin</span></a></li>\n \n \n <li><a id="top_user" data-text="Account" href="/me"><span class="glyphicon glyphicon-user"></span> <span class="hidden-sm">admin</span></a></li>\n \n <li><a id="logout" href="/logout?next=/"><span class="glyphicon glyphicon-log-out"></span> <span class="hidden-sm">Logout</span></a></li>\n \n \n \n \n </ul>\n </div><!--/.nav-collapse -->\n </div>\n </div>\n \n \n \n <div class="container-fluid">\n <div class="row-fluid">\n \n <div class="col-sm-2">\n <nav class="navigation">\n <ul class="list-unstyled" id="scnd-nav" intent in-standard-append="nav.navigation" in-mobile-after="#main-nav" in-mobile-class="nav navbar-nav">\n <li class="nav-head hidden-xs">Browse</li>\n \n \n <li id="nav_new" ><a href="/?data=root&sort_param=stored"><span class="glyphicon glyphicon-book"></span> Books</a></li>\n \n \n \n <li id="nav_hot" ><a href="/hot/stored/"><span class="glyphicon glyphicon-fire"></span> Hot Books</a></li>\n \n \n \n <li id="nav_download" ><a href="/downloadlist?data=download&sort_param=stored"><span class="glyphicon glyphicon-download"></span> Downloaded Books</a></li>\n \n \n \n <li id="nav_rated" ><a href="/rated/stored/"><span class="glyphicon glyphicon-star"></span> Top Rated Books</a></li>\n \n \n \n <li id="nav_read" ><a href="/read/stored/"><span class="glyphicon glyphicon-eye-open"></span> Read Books</a></li>\n \n \n \n <li id="nav_unread" ><a href="/unread/stored/"><span class="glyphicon glyphicon-eye-close"></span> Unread Books</a></li>\n \n \n \n <li id="nav_rand" ><a href="/discover/stored/"><span class="glyphicon glyphicon-random"></span> Discover</a></li>\n \n \n \n <li id="nav_cat" ><a href="/category?data=category&sort_param=stored"><span class="glyphicon glyphicon-inbox"></span> Categories</a></li>\n \n \n \n <li id="nav_serie" ><a href="/series?data=series&sort_param=stored"><span class="glyphicon glyphicon-bookmark"></span> Series</a></li>\n \n \n \n <li id="nav_author" ><a href="/author?data=author&sort_param=stored"><span class="glyphicon glyphicon-user"></span> Authors</a></li>\n \n \n \n <li id="nav_publisher" ><a href="/publisher?data=publisher&sort_param=stored"><span class="glyphicon glyphicon-text-size"></span> Publishers</a></li>\n \n \n \n <li id="nav_lang" ><a href="/language?data=language&sort_param=stored"><span class="glyphicon glyphicon-flag"></span> Languages</a></li>\n \n \n \n <li id="nav_rate" ><a href="/ratings?data=rating&sort_param=stored"><span class="glyphicon glyphicon-star-empty"></span> Ratings</a></li>\n \n \n \n <li id="nav_format" ><a href="/formats?data=format&sort_param=stored"><span class="glyphicon glyphicon-file"></span> File formats</a></li>\n \n \n \n <li id="nav_archived" ><a href="/archived/stored/"><span class="glyphicon glyphicon-trash"></span> Archived Books</a></li>\n \n \n \n <li id="nav_list" ><a href="/table?data=list&sort_param=stored"><span class="glyphicon glyphicon-th-list"></span> Books List</a></li>\n \n \n \n <li class="nav-head hidden-xs public-shelves">Shelves</li>\n \n \n <li id="nav_createshelf" class="create-shelf"><a href="/shelf/create">Create a Shelf</a></li>\n <li id="nav_about" ><a href="/stats"><span class="glyphicon glyphicon-info-sign"></span> About</a></li>\n \n \n\n </ul>\n </nav>\n </div>\n \n <div class="col-sm-10">\n \n\n<div class="discover random-books">\n <h2 class="random-books">Discover (Random Books)</h2>\n <div class="row display-flex">\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books_rand">\n <div class="cover">\n <a href="/book/5" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="testbook">\n \n <img\n srcset="/cover/5/sm?c=1547291931 1x, /cover/5/md?c=1547291931 2x, /cover/5/lg?c=1547291931 3x"\n src="/cover/5/og?c=1547291931"\n alt="testbook"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/5" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="testbook" class="title">testbook</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/2">John Döe</a>\n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books_rand">\n <div class="cover">\n <a href="/book/12" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book10">\n \n <img\n srcset="/cover/12/sm?c=1547291931 1x, /cover/12/md?c=1547291931 2x, /cover/12/lg?c=1547291931 3x"\n src="/cover/12/og?c=1547291931"\n alt="book10"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/12" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book10" class="title">book10</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/13">Lulu de Marco</a>\n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books_rand">\n <div class="cover">\n <a href="/book/7" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="Buuko">\n \n <img\n srcset="/cover/7/sm?c=1549819180 1x, /cover/7/md?c=1549819180 2x, /cover/7/lg?c=1549819180 3x"\n src="/cover/7/og?c=1549819180"\n alt="Buuko"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/7" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="Buuko" class="title">Buuko</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/2">John Döe</a>\n \n \n </p>\n \n <p class="series">\n <a href="/series/stored/">\n Djüngel\n </a>\n (3)\n </p>\n \n \n <div class="rating">\n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star-empty"></span>\n \n <span class="glyphicon glyphicon-star-empty"></span>\n \n <span class="glyphicon glyphicon-star-empty"></span>\n \n \n \n </div>\n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books_rand">\n <div class="cover">\n <a href="/book/8" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book8">\n \n <img\n srcset="/cover/8/sm?c=1547291931 1x, /cover/8/md?c=1547291931 2x, /cover/8/lg?c=1547291931 3x"\n src="/cover/8/og?c=1547291931"\n alt="book8"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/8" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book8" class="title">book8</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/11">Leo Baskerville</a>\n \n \n </p>\n \n \n </div>\n </div>\n \n </div>\n</div>\n\n<div class="discover load-more">\n <h2 class="Books">Books</h2>\n \n <div class="filterheader hidden-xs">\n \n <a data-toggle="tooltip" title="Sort according to book date, newest first" id="new" class="btn btn-primary active" href="/newest/new/"><span class="glyphicon glyphicon-book"></span> <span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order"></span></a>\n <a data-toggle="tooltip" title="Sort according to book date, oldest first" id="old" class="btn btn-primary" href="/newest/old/"><span class="glyphicon glyphicon-book"></span> <span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order-alt"></span></a>\n <a data-toggle="tooltip" title="Sort title in alphabetical order" id="asc" class="btn btn-primary" href="/newest/abc/"><span class="glyphicon glyphicon-font"></span><span class="glyphicon glyphicon-sort-by-alphabet"></span></a>\n <a data-toggle="tooltip" title="Sort title in reverse alphabetical order" id="desc" class="btn btn-primary" href="/newest/zyx/"><span class="glyphicon glyphicon-font"></span><span class="glyphicon glyphicon-sort-by-alphabet-alt"></span></a>\n <a data-toggle="tooltip" title="Sort authors in alphabetical order" id="auth_az" class="btn btn-primary" href="/newest/authaz/"><span class="glyphicon glyphicon-user"></span><span class="glyphicon glyphicon-sort-by-alphabet"></span></a>\n <a data-toggle="tooltip" title="Sort authors in reverse alphabetical order" id="auth_za" class="btn btn-primary" href="/newest/authza/"><span class="glyphicon glyphicon-user"></span><span class="glyphicon glyphicon-sort-by-alphabet-alt"></span></a>\n <a data-toggle="tooltip" title="Sort according to publishing date, newest first" id="pub_new" class="btn btn-primary" href="/newest/pubnew/"><span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order"></span></a>\n <a data-toggle="tooltip" title="Sort according to publishing date, oldest first" id="pub_old" class="btn btn-primary" href="/newest/pubold/"><span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order-alt"></span></a>\n \n \n </div>\n \n <div class="row display-flex">\n \n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/13" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book11">\n \n <img\n srcset="/cover/13/sm?c=1547291931 1x, /cover/13/md?c=1547291931 2x, /cover/13/lg?c=1547291931 3x"\n src="/cover/13/og?c=1547291931"\n alt="book11"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/13" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book11" class="title">book11</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/6">Norbert Halagal</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/12" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book10">\n \n <img\n srcset="/cover/12/sm?c=1547291931 1x, /cover/12/md?c=1547291931 2x, /cover/12/lg?c=1547291931 3x"\n src="/cover/12/og?c=1547291931"\n alt="book10"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/12" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book10" class="title">book10</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/13">Lulu de Marco</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/11" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book9">\n \n <img\n srcset="/cover/11/sm?c=1547291931 1x, /cover/11/md?c=1547291931 2x, /cover/11/lg?c=1547291931 3x"\n src="/cover/11/og?c=1547291931"\n alt="book9"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/11" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book9" class="title">book9</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/8">Hector Gonçalves</a>\n \n \n \n \n <span>&</span>\n \n <a class="author-name" href="/author/stored/12">Unbekannt</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/10" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book7">\n \n <img\n srcset="/cover/10/sm?c=1547291931 1x, /cover/10/md?c=1547291931 2x, /cover/10/lg?c=1547291931 3x"\n src="/cover/10/og?c=1547291931"\n alt="book7"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/10" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book7" class="title">book7</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/3">Peter Parker</a>\n \n \n \n \n \n </p>\n \n \n <div class="rating">\n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n </div>\n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/9" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book6">\n \n <img\n srcset="/cover/9/sm?c=1589697654 1x, /cover/9/md?c=1589697654 2x, /cover/9/lg?c=1589697654 3x"\n src="/cover/9/og?c=1589697654"\n alt="book6"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/9" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book6" class="title">book6</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/10">Sigurd Lindgren</a>\n \n \n \n \n \n </p>\n \n <p class="series">\n \n <a href="/series/stored/2">\n Loko\n </a>\n \n (0)\n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/8" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="book8">\n \n <img\n srcset="/cover/8/sm?c=1547291931 1x, /cover/8/md?c=1547291931 2x, /cover/8/lg?c=1547291931 3x"\n src="/cover/8/og?c=1547291931"\n alt="book8"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/8" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="book8" class="title">book8</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/11">Leo Baskerville</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/7" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="Buuko">\n \n <img\n srcset="/cover/7/sm?c=1549819180 1x, /cover/7/md?c=1549819180 2x, /cover/7/lg?c=1549819180 3x"\n src="/cover/7/og?c=1549819180"\n alt="Buuko"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/7" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="Buuko" class="title">Buuko</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/2">John Döe</a>\n \n \n \n \n \n \n \n </p>\n \n <p class="series">\n \n <a href="/series/stored/">\n Djüngel\n </a>\n \n (3)\n </p>\n \n \n <div class="rating">\n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star good"></span>\n \n \n <span class="glyphicon glyphicon-star-empty"></span>\n \n <span class="glyphicon glyphicon-star-empty"></span>\n \n <span class="glyphicon glyphicon-star-empty"></span>\n \n \n \n </div>\n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/5" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="testbook">\n \n <img\n srcset="/cover/5/sm?c=1547291931 1x, /cover/5/md?c=1547291931 2x, /cover/5/lg?c=1547291931 3x"\n src="/cover/5/og?c=1547291931"\n alt="testbook"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/5" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="testbook" class="title">testbook</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/2">John Döe</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/4" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters">\n \n <img\n srcset="/cover/4/sm?c=1547291931 1x, /cover/4/md?c=1547291931 2x, /cover/4/lg?c=1547291931 3x"\n src="/cover/4/og?c=1547291931"\n alt="Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/4" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters" class="title">Very long extra super turbo cool title without any issue of ...</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/3">Peter Parker</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/3" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="comicdemo">\n \n <img\n srcset="/cover/3/sm?c=1547291931 1x, /cover/3/md?c=1547291931 2x, /cover/3/lg?c=1547291931 3x"\n src="/cover/3/og?c=1547291931"\n alt="comicdemo"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/3" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="comicdemo" class="title">comicdemo</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/4">Asterix Lionherd</a>\n \n \n \n \n \n </p>\n \n <p class="series">\n \n <a href="/series/stored/">\n Djüngel\n </a>\n \n (1)\n </p>\n \n \n </div>\n </div>\n \n <div class="col-sm-3 col-lg-2 col-xs-6 book session" id="books">\n <div class="cover">\n <a href="/book/1" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <span class="img" title="Der Buchtitel">\n \n <img\n srcset="/cover/1/sm?c=1547291931 1x, /cover/1/md?c=1547291931 2x, /cover/1/lg?c=1547291931 3x"\n src="/cover/1/og?c=1547291931"\n alt="Der Buchtitel"\n />\n \n </span>\n </a>\n </div>\n <div class="meta">\n <a href="/book/1" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">\n <p title="Der Buchtitel" class="title">Der Buchtitel</p>\n </a>\n <p class="author">\n \n \n \n <a class="author-name" href="/author/stored/5">Frodo Beutlin</a>\n \n \n \n \n <span>&</span>\n \n <a class="author-name" href="/author/stored/6">Norbert Halagal</a>\n \n \n \n \n <span>&</span>\n \n <a class="author-name" href="/author/stored/7">Liu Yang</a>\n \n \n \n \n <span>&</span>\n \n <a class="author-name" href="/author/stored/8">Hector Gonçalves</a>\n \n \n \n \n \n </p>\n \n \n </div>\n </div>\n \n \n </div>\n</div>\n\n \n </div>\n </div>\n </div>\n <div class="modal fade" id="bookDetailsModal" tabindex="-1" role="dialog" aria-labelledby="bookDetailsModalLabel">\n <div class="modal-dialog modal-lg" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>\n <h4 class="modal-title" id="bookDetailsModalLabel">Book Details</h4>\n </div>\n <div class="modal-body">...</div>\n <div class="modal-footer">\n <button type="button" id="details_close" class="btn btn-default" data-dismiss="modal">Close</button>\n </div>\n </div>\n </div>\n </div>\n \n <!-- jQuery (necessary for Bootstrap\'s JavaScript plugins) -->\n <script src="/static/js/libs/jquery.min.js"></script>\n <!-- Include all compiled plugins (below), or include individual files as needed -->\n <script src="/static/js/libs/bootstrap.min.js"></script>\n <script src="/static/js/libs/underscore-umd-min.js"></script>\n <script src="/static/js/libs/intention.min.js"></script>\n <script src="/static/js/libs/context.min.js"></script>\n <script src="/static/js/libs/plugins.js"></script>\n <script src="/static/js/libs/jquery.form.min.js"></script>\n <script src="/static/js/uploadprogress.js"> </script>\n <script src="/static/js/main.js"></script>\n \n \n </body>\n</html>' |
|||||
TestLogin - test_login_delete_admin
|
PASS | |||||
TestLogin - test_login_empty_password
|
PASS | |||||
TestLogin - test_login_locale_select
|
PASS | |||||
TestLogin - test_login_log_hack
|
PASS | |||||
TestLogin - test_login_protected
|
PASS | |||||
TestLogin - test_login_remember_me
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_login.py", line 619, in test_login_remember_me self.assertEqual('21896', cover.headers['Content-Length']) AssertionError: '21896' != '4245' - 21896 + 4245 |
|||||
TestLogin - test_login_rename_user
|
PASS | |||||
TestLogin - test_login_unicode_user_space_end_password
|
PASS | |||||
TestLogin - test_login_user_with_space_password_end_space
|
PASS | |||||
TestLogin - test_magic_remote_login
|
PASS | |||||
TestLogin - test_next
|
Traceback (most recent call last): File "/home/ozzie/Development/calibre-web-test/test/test_login.py", line 661, in test_next self.assertTrue("<title>Calibre-Web | Books</title>" in page.text) AssertionError: False is not true |
|||||
TestLogin - test_password_policy
|
PASS | |||||
TestLogin - test_proxy_login
|
PASS | |||||
TestLogin - test_proxy_login_multi_user
|
PASS | |||||
TestLogin - test_proxy_login_opds
|
PASS | |||||
TestLogin - test_robots
|
PASS | |||||
TestMergeBooksList | 2 | 2 | 0 | 0 | 0 | Detail |
TestMergeBooksList - test_book_merge
|
PASS | |||||
TestMergeBooksList - test_delete_book
|
PASS | |||||
TestOAuthLogin | 2 | 2 | 0 | 0 | 0 | Detail |
TestOAuthLogin - test_oauth_about
|
PASS | |||||
TestOAuthLogin - test_visible_oauth
|
PASS | |||||
TestOPDSFeed | 26 | 26 | 0 | 0 | 0 | Detail |
TestOPDSFeed - test_access_right_guest
|
PASS | |||||
TestOPDSFeed - test_access_right_user
|
PASS | |||||
TestOPDSFeed - test_opds
|
PASS | |||||
TestOPDSFeed - test_opds_author
|
PASS | |||||
TestOPDSFeed - test_opds_books
|
PASS | |||||
TestOPDSFeed - test_opds_calibre_companion
|
PASS | |||||
TestOPDSFeed - test_opds_colon_password
|
PASS | |||||
TestOPDSFeed - test_opds_cover
|
PASS | |||||
TestOPDSFeed - test_opds_download_book
|
PASS | |||||
TestOPDSFeed - test_opds_formats
|
PASS | |||||
TestOPDSFeed - test_opds_guest_user
|
PASS | |||||
TestOPDSFeed - test_opds_hot
|
PASS | |||||
TestOPDSFeed - test_opds_language
|
PASS | |||||
TestOPDSFeed - test_opds_non_admin
|
PASS | |||||
TestOPDSFeed - test_opds_publisher
|
PASS | |||||
TestOPDSFeed - test_opds_random
|
PASS | |||||
TestOPDSFeed - test_opds_ratings
|
PASS | |||||
TestOPDSFeed - test_opds_read_unread
|
PASS | |||||
TestOPDSFeed - test_opds_search
|
PASS | |||||
TestOPDSFeed - test_opds_series
|
PASS | |||||
TestOPDSFeed - test_opds_shelf_access
|
PASS | |||||
TestOPDSFeed - test_opds_stats
|
PASS | |||||
TestOPDSFeed - test_opds_tags
|
PASS | |||||
TestOPDSFeed - test_opds_top_rated
|
PASS | |||||
TestOPDSFeed - test_opds_unicode_user
|
PASS | |||||
TestOPDSFeed - test_recently_added
|
PASS | |||||
TestUploadPDF | 1 | 1 | 0 | 0 | 0 | Detail |
TestUploadPDF - test_upload_invalid_pdf
|
PASS | |||||
_FailedTest | 1 | 0 | 0 | 1 | 0 | Detail |
_FailedTest - test_pip_install
|
ImportError: Failed to import test module: test_pip_install Traceback (most recent call last): File "/usr/lib/python3.10/unittest/loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "/usr/lib/python3.10/unittest/loader.py", line 377, in _get_module_from_name __import__(name) File "/home/ozzie/Development/calibre-web-test/test/test_pip_install.py", line 14, in <module> from build_release import make_release ModuleNotFoundError: No module named 'build_release' |
|||||
TestReader | 8 | 7 | 0 | 0 | 1 | Detail |
TestReader - test_cb7_reader
|
SKIP | |||||
TestReader - test_comic_MACOS_files
|
PASS | |||||
TestReader - test_comic_reader
|
PASS | |||||
TestReader - test_epub_reader
|
PASS | |||||
TestReader - test_pdf_reader
|
PASS | |||||
TestReader - test_single_file_comic
|
PASS | |||||
TestReader - test_sound_listener
|
PASS | |||||
TestReader - test_txt_reader
|
PASS | |||||
TestReadOnlyDatabase | 1 | 1 | 0 | 0 | 0 | Detail |
TestReadOnlyDatabase - test_readonly_path
|
PASS | |||||
TestRegister | 8 | 8 | 0 | 0 | 0 | Detail |
TestRegister - test_forgot_password
|
PASS | |||||
TestRegister - test_illegal_email
|
PASS | |||||
TestRegister - test_limit_domain
|
PASS | |||||
TestRegister - test_register_no_server
|
PASS | |||||
TestRegister - test_registering_only_email
|
PASS | |||||
TestRegister - test_registering_user
|
PASS | |||||
TestRegister - test_registering_user_fail
|
PASS | |||||
TestRegister - test_user_change_password
|
PASS | |||||
TestReverseProxy | 4 | 4 | 0 | 0 | 0 | Detail |
TestReverseProxy - test_logout
|
PASS | |||||
TestReverseProxy - test_move_page
|
PASS | |||||
TestReverseProxy - test_next
|
PASS | |||||
TestReverseProxy - test_reverse_about
|
PASS | |||||
TestShelf | 16 | 15 | 0 | 0 | 1 | Detail |
TestShelf - test_access_shelf
|
PASS | |||||
TestShelf - test_add_shelf_from_search
|
PASS | |||||
TestShelf - test_adv_search_shelf
|
PASS | |||||
TestShelf - test_arrange_shelf
|
PASS | |||||
TestShelf - test_create_public_shelf
|
PASS | |||||
TestShelf - test_create_public_shelf_no_permission
|
PASS | |||||
TestShelf - test_delete_book_of_shelf
|
PASS | |||||
TestShelf - test_private_shelf
|
PASS | |||||
TestShelf - test_public_private_shelf
|
PASS | |||||
TestShelf - test_public_shelf
|
PASS | |||||
TestShelf - test_rename_shelf
|
PASS | |||||
TestShelf - test_shelf_action_non_shelf_edit_role
|
PASS | |||||
TestShelf - test_shelf_anonymous
|
PASS | |||||
TestShelf - test_shelf_database_change
|
||||||
TestShelf - test_shelf_long_name
|
PASS | |||||
TestShelf - test_xss_shelf
|
PASS | |||||
TestSocket | 1 | 1 | 0 | 0 | 0 | Detail |
TestSocket - test_socket_communication
|
PASS | |||||
TestSplitLibrary | 7 | 7 | 0 | 0 | 0 | Detail |
TestSplitLibrary - test_change_ebook
|
PASS | |||||
TestSplitLibrary - test_convert_ebook
|
PASS | |||||
TestSplitLibrary - test_download_book
|
PASS | |||||
TestSplitLibrary - test_email_ebook
|
PASS | |||||
TestSplitLibrary - test_kobo
|
PASS | |||||
TestSplitLibrary - test_thumbnails
|
PASS | |||||
TestSplitLibrary - test_upload_ebook
|
PASS | |||||
TestSystemdActivation | 1 | 1 | 0 | 0 | 0 | Detail |
TestSystemdActivation - test_systemd_activation
|
PASS | |||||
TestThumbnailsEnv | 1 | 1 | 0 | 0 | 0 | Detail |
TestThumbnailsEnv - test_cover_cache_env_on_database_change
|
PASS | |||||
TestThumbnails | 8 | 7 | 0 | 0 | 1 | Detail |
TestThumbnails - test_cache_non_writable
|
PASS | |||||
TestThumbnails - test_cache_of_deleted_book
|
PASS | |||||
TestThumbnails - test_cover_cache_on_database_change
|
PASS | |||||
TestThumbnails - test_cover_change_on_upload_new_cover
|
PASS | |||||
TestThumbnails - test_cover_for_series
|
SKIP | |||||
TestThumbnails - test_cover_on_upload_book
|
PASS | |||||
TestThumbnails - test_remove_cover_from_cache
|
PASS | |||||
TestThumbnails - test_sideloaded_book
|
PASS | |||||
TestUpdater | 9 | 8 | 0 | 0 | 1 | Detail |
TestUpdater - test_check_update_nightly_errors
|
PASS | |||||
TestUpdater - test_check_update_nightly_request_errors
|
PASS | |||||
TestUpdater - test_check_update_stable_errors
|
PASS | |||||
TestUpdater - test_check_update_stable_versions
|
PASS | |||||
TestUpdater - test_perform_update
|
PASS | |||||
TestUpdater - test_perform_update_stable_errors
|
PASS | |||||
TestUpdater - test_perform_update_timeout
|
||||||
TestUpdater - test_reconnect_database
|
PASS | |||||
TestUpdater - test_update_write_protect
|
PASS | |||||
TestUploadEPubs | 6 | 6 | 0 | 0 | 0 | Detail |
TestUploadEPubs - test_upload_epub_comments
|
PASS | |||||
TestUploadEPubs - test_upload_epub_cover
|
PASS | |||||
TestUploadEPubs - test_upload_epub_cover_formats
|
PASS | |||||
TestUploadEPubs - test_upload_epub_duplicate
|
PASS | |||||
TestUploadEPubs - test_upload_epub_identifier
|
PASS | |||||
TestUploadEPubs - test_upload_epub_lang
|
PASS | |||||
TestUserList | 18 | 18 | 0 | 0 | 0 | Detail |
TestUserList - test_edit_user_email
|
PASS | |||||
TestUserList - test_list_visibility
|
PASS | |||||
TestUserList - test_user_list_admin_role
|
PASS | |||||
TestUserList - test_user_list_check_sort
|
PASS | |||||
TestUserList - test_user_list_denied_tags
|
PASS | |||||
TestUserList - test_user_list_download_role
|
PASS | |||||
TestUserList - test_user_list_edit_button
|
PASS | |||||
TestUserList - test_user_list_edit_email
|
PASS | |||||
TestUserList - test_user_list_edit_kindle
|
PASS | |||||
TestUserList - test_user_list_edit_language
|
PASS | |||||
TestUserList - test_user_list_edit_locale
|
PASS | |||||
TestUserList - test_user_list_edit_name
|
PASS | |||||
TestUserList - test_user_list_edit_visiblility
|
PASS | |||||
TestUserList - test_user_list_guest_edit
|
PASS | |||||
TestUserList - test_user_list_remove_admin
|
PASS | |||||
TestUserList - test_user_list_requests
|
PASS | |||||
TestUserList - test_user_list_search
|
PASS | |||||
TestUserList - test_user_list_sort
|
PASS | |||||
TestUserLoad | 1 | 1 | 0 | 0 | 0 | Detail |
TestUserLoad - test_user_change_vis
|
PASS | |||||
TestUserTemplate | 21 | 21 | 0 | 0 | 0 | Detail |
TestUserTemplate - test_allow_column_restriction
|
PASS | |||||
TestUserTemplate - test_allow_tag_restriction
|
PASS | |||||
TestUserTemplate - test_archived_format_template
|
PASS | |||||
TestUserTemplate - test_author_user_template
|
PASS | |||||
TestUserTemplate - test_best_user_template
|
PASS | |||||
TestUserTemplate - test_category_user_template
|
PASS | |||||
TestUserTemplate - test_deny_column_restriction
|
PASS | |||||
TestUserTemplate - test_deny_tag_restriction
|
PASS | |||||
TestUserTemplate - test_detail_random_user_template
|
PASS | |||||
TestUserTemplate - test_download_user_template
|
PASS | |||||
TestUserTemplate - test_format_user_template
|
PASS | |||||
TestUserTemplate - test_hot_user_template
|
PASS | |||||
TestUserTemplate - test_language_user_template
|
PASS | |||||
TestUserTemplate - test_limit_book_languages
|
PASS | |||||
TestUserTemplate - test_list_user_template
|
PASS | |||||
TestUserTemplate - test_publisher_user_template
|
PASS | |||||
TestUserTemplate - test_random_user_template
|
PASS | |||||
TestUserTemplate - test_read_user_template
|
PASS | |||||
TestUserTemplate - test_recent_user_template
|
PASS | |||||
TestUserTemplate - test_series_user_template
|
PASS | |||||
TestUserTemplate - test_ui_language_settings
|
PASS | |||||
TestCalibreWebVisibilitys | 35 | 35 | 0 | 0 | 0 | Detail |
TestCalibreWebVisibilitys - test_about
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_SMTP_Settings
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_add_user
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_password
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_archived
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_authors
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_category
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_hot
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_language
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_publisher
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_random
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_rated
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_rating
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_read
|
PASS | |||||
TestCalibreWebVisibilitys - test_admin_change_visibility_series
|
PASS | |||||
TestCalibreWebVisibilitys - test_allow_columns
|
PASS | |||||
TestCalibreWebVisibilitys - test_allow_tags
|
PASS | |||||
TestCalibreWebVisibilitys - test_archive_books
|
PASS | |||||
TestCalibreWebVisibilitys - test_authors_max_settings
|
PASS | |||||
TestCalibreWebVisibilitys - test_change_title
|
PASS | |||||
TestCalibreWebVisibilitys - test_checked_logged_in
|
PASS | |||||
TestCalibreWebVisibilitys - test_hide_custom_column
|
PASS | |||||
TestCalibreWebVisibilitys - test_link_column_to_read_status
|
PASS | |||||
TestCalibreWebVisibilitys - test_random_books_available
|
PASS | |||||
TestCalibreWebVisibilitys - test_read_status_visible
|
PASS | |||||
TestCalibreWebVisibilitys - test_request_link_column_to_read_status
|
PASS | |||||
TestCalibreWebVisibilitys - test_restrict_columns
|
PASS | |||||
TestCalibreWebVisibilitys - test_restrict_tags
|
PASS | |||||
TestCalibreWebVisibilitys - test_save_views_recent
|
PASS | |||||
TestCalibreWebVisibilitys - test_search_functions
|
PASS | |||||
TestCalibreWebVisibilitys - test_search_order
|
PASS | |||||
TestCalibreWebVisibilitys - test_search_string
|
PASS | |||||
TestCalibreWebVisibilitys - test_user_email_available
|
PASS | |||||
TestCalibreWebVisibilitys - test_user_visibility_sidebar
|
PASS | |||||
TestCalibreHelper | 16 | 16 | 0 | 0 | 0 | Detail |
TestCalibreHelper - test_author_sort
|
PASS | |||||
TestCalibreHelper - test_author_sort_comma
|
PASS | |||||
TestCalibreHelper - test_author_sort_junior
|
PASS | |||||
TestCalibreHelper - test_author_sort_oneword
|
PASS | |||||
TestCalibreHelper - test_author_sort_roman
|
PASS | |||||
TestCalibreHelper - test_check_Limit_Length
|
PASS | |||||
TestCalibreHelper - test_check_char_replacement
|
PASS | |||||
TestCalibreHelper - test_check_chinese_Characters
|
PASS | |||||
TestCalibreHelper - test_check_deg_eur_replacement
|
PASS | |||||
TestCalibreHelper - test_check_doubleS
|
PASS | |||||
TestCalibreHelper - test_check_finish_Dot
|
PASS | |||||
TestCalibreHelper - test_check_high23
|
PASS | |||||
TestCalibreHelper - test_check_umlauts
|
PASS | |||||
TestCalibreHelper - test_random_password
|
PASS | |||||
TestCalibreHelper - test_split_authors
|
PASS | |||||
TestCalibreHelper - test_whitespaces
|
PASS | |||||
Total | 498 | 479 | 6 | 3 | 10 |
Program library | Installed Version | Test class |
---|---|---|
Platform | 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 | Basic |
Python | 3.10.12 | Basic |
advocate | 1.0.0 | Basic |
APScheduler | 3.10.4 | Basic |
Babel | 2.15.0 | Basic |
bleach | 6.1.0 | Basic |
chardet | 4.0.0 | Basic |
Flask | 2.3.3 | Basic |
flask-babel | 4.0.0 | Basic |
Flask-HTTPAuth | 4.8.0 | Basic |
Flask-Limiter | 3.5.1 | Basic |
Flask-Principal | 0.4.0 | Basic |
Flask-WTF | 1.2.1 | Basic |
greenlet | 3.0.3 | Basic |
iso-639 | 0.4.5 | Basic |
Jinja2 | 3.1.4 | Basic |
lxml | 5.2.2 | Basic |
pyasn1 | 0.6.0 | Basic |
pypdf | 4.2.0 | Basic |
python-magic | 0.4.27 | Basic |
pytz | 2024.1 | Basic |
regex | 2024.5.15 | Basic |
requests | 2.31.0 | Basic |
SQLAlchemy | 2.0.31 | Basic |
tornado | 6.4.1 | Basic |
Unidecode | 1.3.8 | Basic |
Wand | 0.6.13 | Basic |
Werkzeug | 2.3.8 | Basic |
google-api-python-client | 2.137.0 | TestBackupMetadataGdrive |
httplib2 | 0.22.0 | TestBackupMetadataGdrive |
oauth2client | 4.1.3 | TestBackupMetadataGdrive |
PyDrive2 | 1.20.0 | TestBackupMetadataGdrive |
PyYAML | 6.0.1 | TestBackupMetadataGdrive |
google-api-python-client | 2.137.0 | TestCliGdrivedb |
httplib2 | 0.22.0 | TestCliGdrivedb |
oauth2client | 4.1.3 | TestCliGdrivedb |
PyDrive2 | 1.20.0 | TestCliGdrivedb |
PyYAML | 6.0.1 | TestCliGdrivedb |
google-api-python-client | 2.137.0 | TestEbookConvertCalibreGDrive |
httplib2 | 0.22.0 | TestEbookConvertCalibreGDrive |
oauth2client | 4.1.3 | TestEbookConvertCalibreGDrive |
PyDrive2 | 1.20.0 | TestEbookConvertCalibreGDrive |
PyYAML | 6.0.1 | TestEbookConvertCalibreGDrive |
google-api-python-client | 2.137.0 | TestEbookConvertGDriveKepubify |
httplib2 | 0.22.0 | TestEbookConvertGDriveKepubify |
oauth2client | 4.1.3 | TestEbookConvertGDriveKepubify |
PyDrive2 | 1.20.0 | TestEbookConvertGDriveKepubify |
PyYAML | 6.0.1 | TestEbookConvertGDriveKepubify |
comicapi | 3.2.0 | TestEditAdditionalBooks |
rarfile | 4.2 | TestEditAdditionalBooks |
py7zr | 0.21.1 | TestEditBooks |
google-api-python-client | 2.137.0 | TestEditAuthorsGdrive |
httplib2 | 0.22.0 | TestEditAuthorsGdrive |
oauth2client | 4.1.3 | TestEditAuthorsGdrive |
PyDrive2 | 1.20.0 | TestEditAuthorsGdrive |
PyYAML | 6.0.1 | TestEditAuthorsGdrive |
beautifulsoup4 | 4.12.3 | TestLoadMetadata |
google-api-python-client | 2.137.0 | TestEditBooksOnGdrive |
httplib2 | 0.22.0 | TestEditBooksOnGdrive |
oauth2client | 4.1.3 | TestEditBooksOnGdrive |
PyDrive2 | 1.20.0 | TestEditBooksOnGdrive |
PyYAML | 6.0.1 | TestEditBooksOnGdrive |
beautifulsoup4 | 4.12.3 | TestLoadMetadataScholar |
scholarly | 1.7.11 | TestLoadMetadataScholar |
google-api-python-client | 2.137.0 | TestEmbedMetadataGdrive |
httplib2 | 0.22.0 | TestEmbedMetadataGdrive |
oauth2client | 4.1.3 | TestEmbedMetadataGdrive |
PyDrive2 | 1.20.0 | TestEmbedMetadataGdrive |
PyYAML | 6.0.1 | TestEmbedMetadataGdrive |
google-api-python-client | 2.137.0 | TestSetupGdrive |
httplib2 | 0.22.0 | TestSetupGdrive |
oauth2client | 4.1.3 | TestSetupGdrive |
PyDrive2 | 1.20.0 | TestSetupGdrive |
PyYAML | 6.0.1 | TestSetupGdrive |
goodreads | 0.3.2 | TestGoodreads |
python-Levenshtein | 0.25.1 | TestGoodreads |
jsonschema | 4.23.0 | TestKoboSync |
jsonschema | 4.23.0 | TestKoboSyncBig |
Flask-SimpleLDAP | 2.0.0 | TestLdapLogin |
jsonschema | 4.23.0 | TestLdapLogin |
python-ldap | 3.4.4 | TestLdapLogin |
Flask-Dance | 7.1.0 | TestOAuthLogin |
SQLAlchemy-Utils | 0.41.2 | TestOAuthLogin |