Difference between revisions of "User:Alvonruff/ISFDB Tests"
Jump to navigation
Jump to search
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
These are formal tests using the unittest module. The tests are mostly concerned with: | These are formal tests using the unittest module. The tests are mostly concerned with: | ||
− | * Testing return types (int, string, float, etc). | + | * Testing return types (int, string, float, etc). We're especially interested in DATE fields returning as an '''str''' and not a datetime. Note that under python2 '''type(intVariable)''' returns: |
− | * Testing input arguments. | + | ** <type 'int'> |
− | * Testing for select statements that return nothing. | + | * While under python3 it returns: |
+ | ** <class 'int'> | ||
+ | * Testing input arguments. Some of the methods will take, say a title_id, as either an int or a str. Some only str. Some only int. Maybe clean this up at a later date. | ||
+ | * Testing for select statements that return nothing. Sometimes this returns an empty string, sometimes [], and sometimes 'None' | ||
− | Although non-destructive, these tests should probably not be run against the production server. The goal is to be able to run the tests on both Python2 and Python3, and generate exactly the same results. | + | The tests should not reply on precise string values which may be modified at a later date through normal editing (not unless we construct a specific, stable testing database). Although non-destructive, these tests should probably not be run against the production server. The goal is to be able to run the tests on both Python2 and Python3, and generate exactly the same results. |
==SQLparsing Tests== | ==SQLparsing Tests== | ||
Line 12: | Line 15: | ||
These are mostly methods that perform a select on the authors table. | These are mostly methods that perform a select on the authors table. | ||
− | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width: | + | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" |
! SQL Method | ! SQL Method | ||
! Status | ! Status | ||
Line 26: | Line 29: | ||
|- | |- | ||
| SQLFindReviewParent(title, author, referral_lang) | | SQLFindReviewParent(title, author, referral_lang) | ||
− | | | + | | |
|- | |- | ||
| SQLgetActualFromPseudo(au_id) | | SQLgetActualFromPseudo(au_id) | ||
Line 53: | Line 56: | ||
|- | |- | ||
| SQLInterviewBriefAuthorRecords(title_id) | | SQLInterviewBriefAuthorRecords(title_id) | ||
− | | | + | | DONE |
|- | |- | ||
| SQLIntervieweeAuthors(title_id, author_id = 0) | | SQLIntervieweeAuthors(title_id, author_id = 0) | ||
− | | | + | | DONE |
|- | |- | ||
| SQLloadAuthorData(author_id) | | SQLloadAuthorData(author_id) | ||
Line 68: | Line 71: | ||
|- | |- | ||
| SQLPubAuthors(pub_id) | | SQLPubAuthors(pub_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLPubBriefAuthorRecords(pub_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLPubListBriefAuthorRecords(pub_list) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLReviewAuthors(title_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLReviewBriefAuthorRecords(title_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLReviewedAuthors(title_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLTitleAuthors(title_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLTitleBriefAuthorRecords(title_id) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLTitleListBriefAuthorRecords(title_list, author_id = 0) | ||
+ | | DONE | ||
+ | |- | ||
+ | | SQLtransLegalNames(author_ids) | ||
+ | | DONE | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Title-Related Methods=== | ||
+ | These are mostly methods that perform a select on the titles table. | ||
+ | |||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | SQLaddTagToTitle(tag, title_id, user_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLCountPubsForTitle(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLDeletedTitle(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindExactTitles(target) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindFictionTitles(target) | ||
+ | | | ||
+ | |- | ||
+ | | SQLfindReviewedTitle(review_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindSeriesTitles(target) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindTitles(target) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetAllTitleTags(title_id, parent_id, user_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetCoverPubsByTitle(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetLangIdByTitle(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByTitle(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByTitleNoParent(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByTitleNoTranslations(titlerec) | ||
| | | | ||
|- | |- | ||
− | | | + | | SQLGetPubsForChildTitles(titlerec) |
+ | | | ||
+ | |- | ||
+ | | SQLgetPubTitle(pubId) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTagsByTitleForTitleList(title_ids, user_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitle(titleId) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleByTagId(tagmap_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleListTags(title_list, user_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleReferral(pub_id, pub_ctype, include_editors=0) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleReferralList(pubs, include_editors=0) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitlesForAuthorAndTag(tag_id, author_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitlesForTag(tag_id, start) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitlesForTagForUser(tag_id, user_id, start) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleTags(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleTagsByUser(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetTitleVariants(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAllAuthorTitles(aurec, page_type, languages_all, languages) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAllTitleReviews(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAnyTitles(aurec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadReviewsForTitle(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadSeriesListTitles(series_list) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTitle(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTitleFromAward(award_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTitleList(title_ids) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTitlesXBS(series) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTitlesXBT(recno) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTitleWebpages(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTransPubTitles(pub_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadTransPubTitlesList(pub_ids) | ||
| | | | ||
|- | |- | ||
− | | | + | | SQLloadTransTitles(title_id) |
| | | | ||
|- | |- | ||
− | | | + | | SQLLoadTransTitlesList(title_ids) |
| | | | ||
|- | |- | ||
− | | | + | | SQLloadVTsForAuthor(author_id) |
| | | | ||
|- | |- | ||
− | | | + | | SQLloadVTsForTitleList(title_list) |
| | | | ||
|- | |- | ||
| SQLTitleAuthors(title_id) | | SQLTitleAuthors(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLTitleAwards(title_id) | ||
| | | | ||
|- | |- | ||
| SQLTitleBriefAuthorRecords(title_id) | | SQLTitleBriefAuthorRecords(title_id) | ||
− | | | + | | |
|- | |- | ||
| SQLTitleListBriefAuthorRecords(title_list, author_id = 0) | | SQLTitleListBriefAuthorRecords(title_list, author_id = 0) | ||
| | | | ||
|- | |- | ||
− | | | + | | SQLTitlesWithPubs(title_list) |
+ | | | ||
+ | |- | ||
+ | | SQLupdateTitleViews(title_id) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Publication-Related Methods=== | ||
+ | These are mostly methods that perform a select on the pubs table. | ||
+ | |||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | SQLGetFrontPagePubs(front_page) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetNextMonthPubs(additional_pubs = 0) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubByTag(tag) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubById(id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetCoverAuthorsForPubs(pub_list) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetCoverPubsByTitle(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByTitle(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByTitleNoParent(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByTitleNoTranslations(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsForChildTitles(titlerec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByPublisherYear(publisher_id, year) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsByAuthor(aurec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubContentByAuthor(aurec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPublisher(pubrec) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPublisherList(publisher_list) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPublisherDirectory() | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubSeries(pub_series_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubSeriesByName(pub_series_name) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubSeriesList(pub_series_list) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadPubSeries(pub_series_ids) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubSeriesPubs(pub_series_id, display_order) | ||
+ | | | ||
+ | |- | ||
+ | | SQLCountPubsNotInPubSeries(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsNotInSeries(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindPublisher(target, mode = 'contains') | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPublisherYears(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindPubSeries(target, mode = 'contains') | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindPubsByIsbn(targets, excluded_pub_id = 0) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindPubsByCatalogId(value) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindPubSeriesForPublisher(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetPublisherName(id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLPubBriefAuthorRecords(pub_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLPubListBriefAuthorRecords(pub_list) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadPublisherWebpages(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTransPubSeriesNames(pub_series_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadTransPubSeriesList(pub_series_ids) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTransPublisherNames(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadTransPublisherList(publisher_ids) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadTransPubTitles(pub_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLLoadTransPubTitlesList(pub_ids) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadPubSeriesWebpages(publisher_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadPubWebpages(pub_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLgetPubTitle(pubId) | ||
+ | | | ||
+ | |- | ||
+ | | SQLTitlesWithPubs(title_list) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubContentList(pub_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLPubArtists(pubid) | ||
+ | | | ||
+ | |- | ||
+ | | SQLPubCovers(pubid) | ||
+ | | | ||
+ | |- | ||
+ | | SQLFindPubByExternalID(id_type, id_value) | ||
+ | | | ||
+ | |- | ||
+ | | SQLCountPubsForTitle(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLDeletedPub(pubid) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetPubsForAuthorPublisher(publisher_id, author_id) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Award-Related Methods=== | ||
+ | These are mostly methods that perform a select on the awards table. | ||
+ | |||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | SQLloadTitleFromAward(award_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwardsXBA(author, titles, pseudonyms) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwardsForYearType(award_type_id, year) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwardsForCat(award_cat_id, win_nom) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwardsForCatYear(award_cat_id, award_year) | ||
+ | | | ||
+ | |- | ||
+ | | SQLTitleAwards(title_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwards(award_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwardTypeWebpages(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLloadAwardCatWebpages(award_cat_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLListAwardTypes() | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardTypeByCode(award_type_code) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardTypeByName(award_type_name) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardTypeByShortName(award_type_short_name) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardTypeById(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardYears(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardCategories(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardCatById(award_cat_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardCatByName(award_cat_name, award_cat_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLSearchAwards(award) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetAwardCatBreakdown(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLGetEmptyAwardCategories(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLDeletedAward(award_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLDeletedAwardType(award_type_id) | ||
+ | | | ||
+ | |- | ||
+ | | SQLDeletedAwardCategory(award_cat_id) | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==Class Tests== | ||
+ | ===authorClass Methods=== | ||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | load(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | obj2xml(self) | ||
+ | | | ||
+ | |- | ||
+ | | xml2obj(self, xml) | ||
+ | | | ||
+ | |- | ||
+ | | cgi2obj(self) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===awardcatClass Methods=== | ||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | load(self) | ||
+ | | | ||
+ | |- | ||
+ | | cgi2obj(self) | ||
+ | | | ||
+ | |- | ||
+ | | PrintAwardCatYear(self, year) | ||
+ | | | ||
+ | |- | ||
+ | | PrintAwardCatTable(self, years) | ||
+ | | | ||
+ | |- | ||
+ | | PrintAwardCatSummary(self, win_nom) | ||
+ | | | ||
+ | |- | ||
+ | | PrintAwardCatPageHeader(self) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===awardClass Methods=== | ||
+ | |||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | awardShared::PrintOneAwardList(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::authors(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::load(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | awards::loadXML(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | awards::cgi2obj(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintAwardTable(self, award_list, print_title = 1, print_authors = 0, limit = 10000) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintAwardRow(self, print_title, print_authors, bgcolor) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintYear(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintLevel(self, print_title) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintAwardSummary(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::PrintAwardAuthors(self) | ||
+ | | | ||
+ | |- | ||
+ | | awards::displayAuthor(self, author) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===awardtypeClass Methods=== | ||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | load(self) | ||
+ | | | ||
+ | |- | ||
+ | | cgi2obj(self) | ||
+ | | | ||
+ | |- | ||
+ | | display_table_grid(self, current_year = 0) | ||
+ | | | ||
+ | |- | ||
+ | | display_categories(self) | ||
+ | | | ||
+ | |- | ||
+ | | display_awards_for_year(self, year) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===pubClass Methods=== | ||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | titleEntry::setPage(self, page) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setTitle(self, title) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setID(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setDate(self, date) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setType(self, type) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setLength(self, length) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setAuthors(self, authors) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::setOldTitle(self, oldtitle) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::xmlTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::xmlCloneTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | titleEntry::printTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setPage(self, page) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setTitle(self, title) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setID(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setDate(self, date) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setBookAuthors(self, authors) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setReviewers(self, authors) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::setOldReview(self, oldreview) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::xmlTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::xmlCloneTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | reviewEntry::printTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setPage(self, page) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setTitle(self, title) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setID(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setDate(self, date) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setInterviewees(self, authors) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setInterviewers(self, authors) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::setOldInterview(self, oldinterview) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::xmlTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::xmlCloneTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | interviewEntry::printTitle(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::pushTitle(self, titleEntry) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::pushReview(self, reviewEntry) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::pushInterview(self, interviewEntry) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::xmlCoverArt(self, clone) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::xmlArtists(self, cover_record) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::xmlContent(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::xmlCloneContent(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::xmlIdentifiers(self, include_type_name = 0) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::printContent(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::authors(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::artists(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::load(self, id) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::loadTransTitles(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::loadPubWebpages(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::loadExternalIDs(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::obj2xml(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::cgi2obj(self, reference_title = 'explicit') | ||
+ | | | ||
+ | |- | ||
+ | | pubs::PrintPrimaryVerifications(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::PrintAllSecondaryVerifications(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::PrintActiveSecondaryVerifications(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::PrintSecondaryVerificationsHeaders(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::printExternalIDs(self, format = 'list') | ||
+ | | | ||
+ | |- | ||
+ | | pubs::formatExternalIDs(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::printModNoteRequired(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::requiresModeratorNote(self, user_id) | ||
+ | | | ||
+ | |- | ||
+ | | pubs::PrintTitleLine(self, title, page, reference_lang, reference = 0) | ||
+ | | | ||
+ | |- | ||
+ | | pubBody::build_page_body(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubBody::_build_image(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubBody::_build_pub_title_line(self) | ||
+ | | | ||
+ | |- | ||
+ | | pubBody::_build_magazine_link(self) | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===publisherClass Methods=== | ||
+ | ===pubseriesClass Methods=== | ||
+ | ===seriesClass Methods=== | ||
+ | |||
+ | {| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;" | ||
+ | ! SQL Method | ||
+ | ! Status | ||
+ | |- | ||
+ | | load(self, id, fullLoad = 1) | ||
+ | | DONE. Required 4 tests to cover all fields. | ||
+ | |- | ||
+ | | loadXML(self, id, fullLoad = 1) | ||
+ | | ?? This doesn't actually load XML. It just does a load() | ||
+ | |- | ||
+ | | cgi2obj(self) | ||
+ | | | ||
+ | |- | ||
+ | | PrintMetaData(self, user, tags_type, seriesTags, display_type) | ||
+ | | | ||
+ | |- | ||
+ | | PrintSeriesTagsBrief(self, seriesTags) | ||
+ | | | ||
+ | |- | ||
+ | | PrintSeriesTagsFull(self, seriesTags) | ||
+ | | | ||
+ | |- | ||
+ | | BuildTreeData(self, user) | ||
+ | | | ||
+ | |- | ||
+ | | BuildSeriesTree(self, seriesData, seriesTree) | ||
| | | | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | ===templateClass Methods=== | ||
+ | ===titleClass Methods=== | ||
+ | ===verificationsourceClass Methods=== |
Latest revision as of 10:54, 6 June 2023
These are formal tests using the unittest module. The tests are mostly concerned with:
- Testing return types (int, string, float, etc). We're especially interested in DATE fields returning as an str and not a datetime. Note that under python2 type(intVariable) returns:
- <type 'int'>
- While under python3 it returns:
- <class 'int'>
- Testing input arguments. Some of the methods will take, say a title_id, as either an int or a str. Some only str. Some only int. Maybe clean this up at a later date.
- Testing for select statements that return nothing. Sometimes this returns an empty string, sometimes [], and sometimes 'None'
The tests should not reply on precise string values which may be modified at a later date through normal editing (not unless we construct a specific, stable testing database). Although non-destructive, these tests should probably not be run against the production server. The goal is to be able to run the tests on both Python2 and Python3, and generate exactly the same results.
SQLparsing Tests
Author-Related Methods
These are mostly methods that perform a select on the authors table.
SQL Method | Status |
---|---|
SQLAuthorsBorn(date) | DONE |
SQLAuthorsDied(date) | DONE |
SQLFindAuthors(target, mode = 'contains') | DONE |
SQLFindReviewParent(title, author, referral_lang) | |
SQLgetActualFromPseudo(au_id) | DONE |
SQLGetAllAuthorsForPublisher(publisher_id, sort_by) | DONE |
SQLgetAuthorData(author) | DONE |
SQLGetAuthorDirectory() | DONE |
SQLgetBriefActualFromPseudo(au_id) | DONE |
SQLgetBriefPseudoFromActual(au_id) | DONE |
SQLGetCoverAuthorsForPubs(pub_list) | DONE |
SQLInterviewAuthors(title_id) | DONE |
SQLInterviewBriefAuthorRecords(title_id) | DONE |
SQLIntervieweeAuthors(title_id, author_id = 0) | DONE |
SQLloadAuthorData(author_id) | DONE |
SQLLoadTransAuthorNamesList(author_ids) | DONE |
SQLMultipleAuthors(name) | DONE |
SQLPubAuthors(pub_id) | DONE |
SQLPubBriefAuthorRecords(pub_id) | DONE |
SQLPubListBriefAuthorRecords(pub_list) | DONE |
SQLReviewAuthors(title_id) | DONE |
SQLReviewBriefAuthorRecords(title_id) | DONE |
SQLReviewedAuthors(title_id) | DONE |
SQLTitleAuthors(title_id) | DONE |
SQLTitleBriefAuthorRecords(title_id) | DONE |
SQLTitleListBriefAuthorRecords(title_list, author_id = 0) | DONE |
SQLtransLegalNames(author_ids) | DONE |
Title-Related Methods
These are mostly methods that perform a select on the titles table.
SQL Method | Status |
---|---|
SQLaddTagToTitle(tag, title_id, user_id) | |
SQLCountPubsForTitle(title_id) | |
SQLDeletedTitle(title_id) | |
SQLFindExactTitles(target) | |
SQLFindFictionTitles(target) | |
SQLfindReviewedTitle(review_id) | |
SQLFindSeriesTitles(target) | |
SQLFindTitles(target) | |
SQLgetAllTitleTags(title_id, parent_id, user_id) | |
SQLGetCoverPubsByTitle(titlerec) | |
SQLGetLangIdByTitle(title_id) | |
SQLGetPubsByTitle(titlerec) | |
SQLGetPubsByTitleNoParent(titlerec) | |
SQLGetPubsByTitleNoTranslations(titlerec) | |
SQLGetPubsForChildTitles(titlerec) | |
SQLgetPubTitle(pubId) | |
SQLgetTagsByTitleForTitleList(title_ids, user_id) | |
SQLgetTitle(titleId) | |
SQLgetTitleByTagId(tagmap_id) | |
SQLgetTitleListTags(title_list, user_id) | |
SQLgetTitleReferral(pub_id, pub_ctype, include_editors=0) | |
SQLgetTitleReferralList(pubs, include_editors=0) | |
SQLgetTitlesForAuthorAndTag(tag_id, author_id) | |
SQLgetTitlesForTag(tag_id, start) | |
SQLgetTitlesForTagForUser(tag_id, user_id, start) | |
SQLgetTitleTags(title_id) | |
SQLgetTitleTagsByUser(title_id) | |
SQLgetTitleVariants(title_id) | |
SQLloadAllAuthorTitles(aurec, page_type, languages_all, languages) | |
SQLloadAllTitleReviews(title_id) | |
SQLloadAnyTitles(aurec) | |
SQLLoadReviewsForTitle(title_id) | |
SQLLoadSeriesListTitles(series_list) | |
SQLloadTitle(titlerec) | |
SQLloadTitleFromAward(award_id) | |
SQLloadTitleList(title_ids) | |
SQLloadTitlesXBS(series) | |
SQLloadTitlesXBT(recno) | |
SQLloadTitleWebpages(title_id) | |
SQLloadTransPubTitles(pub_id) | |
SQLLoadTransPubTitlesList(pub_ids) | |
SQLloadTransTitles(title_id) | |
SQLLoadTransTitlesList(title_ids) | |
SQLloadVTsForAuthor(author_id) | |
SQLloadVTsForTitleList(title_list) | |
SQLTitleAuthors(title_id) | |
SQLTitleAwards(title_id) | |
SQLTitleBriefAuthorRecords(title_id) | |
SQLTitleListBriefAuthorRecords(title_list, author_id = 0) | |
SQLTitlesWithPubs(title_list) | |
SQLupdateTitleViews(title_id) |
Publication-Related Methods
These are mostly methods that perform a select on the pubs table.
SQL Method | Status |
---|---|
SQLGetFrontPagePubs(front_page) | |
SQLGetNextMonthPubs(additional_pubs = 0) | |
SQLGetPubByTag(tag) | |
SQLGetPubById(id) | |
SQLGetCoverAuthorsForPubs(pub_list) | |
SQLGetCoverPubsByTitle(titlerec) | |
SQLGetPubsByTitle(titlerec) | |
SQLGetPubsByTitleNoParent(titlerec) | |
SQLGetPubsByTitleNoTranslations(titlerec) | |
SQLGetPubsForChildTitles(titlerec) | |
SQLGetPubsByPublisherYear(publisher_id, year) | |
SQLGetPubsByAuthor(aurec) | |
SQLGetPubContentByAuthor(aurec) | |
SQLGetPublisher(pubrec) | |
SQLGetPublisherList(publisher_list) | |
SQLGetPublisherDirectory() | |
SQLGetPubSeries(pub_series_id) | |
SQLGetPubSeriesByName(pub_series_name) | |
SQLGetPubSeriesList(pub_series_list) | |
SQLLoadPubSeries(pub_series_ids) | |
SQLGetPubSeriesPubs(pub_series_id, display_order) | |
SQLCountPubsNotInPubSeries(publisher_id) | |
SQLGetPubsNotInSeries(publisher_id) | |
SQLFindPublisher(target, mode = 'contains') | |
SQLGetPublisherYears(publisher_id) | |
SQLFindPubSeries(target, mode = 'contains') | |
SQLFindPubsByIsbn(targets, excluded_pub_id = 0) | |
SQLFindPubsByCatalogId(value) | |
SQLFindPubSeriesForPublisher(publisher_id) | |
SQLgetPublisherName(id) | |
SQLPubBriefAuthorRecords(pub_id) | |
SQLPubListBriefAuthorRecords(pub_list) | |
SQLloadPublisherWebpages(publisher_id) | |
SQLloadTransPubSeriesNames(pub_series_id) | |
SQLLoadTransPubSeriesList(pub_series_ids) | |
SQLloadTransPublisherNames(publisher_id) | |
SQLLoadTransPublisherList(publisher_ids) | |
SQLloadTransPubTitles(pub_id) | |
SQLLoadTransPubTitlesList(pub_ids) | |
SQLloadPubSeriesWebpages(publisher_id) | |
SQLloadPubWebpages(pub_id) | |
SQLgetPubTitle(pubId) | |
SQLTitlesWithPubs(title_list) | |
SQLGetPubContentList(pub_id) | |
SQLPubArtists(pubid) | |
SQLPubCovers(pubid) | |
SQLFindPubByExternalID(id_type, id_value) | |
SQLCountPubsForTitle(title_id) | |
SQLDeletedPub(pubid) | |
SQLGetPubsForAuthorPublisher(publisher_id, author_id) |
Award-Related Methods
These are mostly methods that perform a select on the awards table.
SQL Method | Status |
---|---|
SQLloadTitleFromAward(award_id) | |
SQLloadAwardsXBA(author, titles, pseudonyms) | |
SQLloadAwardsForYearType(award_type_id, year) | |
SQLloadAwardsForCat(award_cat_id, win_nom) | |
SQLloadAwardsForCatYear(award_cat_id, award_year) | |
SQLTitleAwards(title_id) | |
SQLloadAwards(award_id) | |
SQLloadAwardTypeWebpages(award_type_id) | |
SQLloadAwardCatWebpages(award_cat_id) | |
SQLListAwardTypes() | |
SQLGetAwardTypeByCode(award_type_code) | |
SQLGetAwardTypeByName(award_type_name) | |
SQLGetAwardTypeByShortName(award_type_short_name) | |
SQLGetAwardTypeById(award_type_id) | |
SQLGetAwardYears(award_type_id) | |
SQLGetAwardCategories(award_type_id) | |
SQLGetAwardCatById(award_cat_id) | |
SQLGetAwardCatByName(award_cat_name, award_cat_type_id) | |
SQLSearchAwards(award) | |
SQLGetAwardCatBreakdown(award_type_id) | |
SQLGetEmptyAwardCategories(award_type_id) | |
SQLDeletedAward(award_id) | |
SQLDeletedAwardType(award_type_id) | |
SQLDeletedAwardCategory(award_cat_id) |
Class Tests
authorClass Methods
SQL Method | Status |
---|---|
load(self, id) | |
obj2xml(self) | |
xml2obj(self, xml) | |
cgi2obj(self) |
awardcatClass Methods
SQL Method | Status |
---|---|
load(self) | |
cgi2obj(self) | |
PrintAwardCatYear(self, year) | |
PrintAwardCatTable(self, years) | |
PrintAwardCatSummary(self, win_nom) | |
PrintAwardCatPageHeader(self) |
awardClass Methods
SQL Method | Status |
---|---|
awardShared::PrintOneAwardList(self) | |
awards::authors(self) | |
awards::load(self, id) | |
awards::loadXML(self, id) | |
awards::cgi2obj(self) | |
awards::PrintAwardTable(self, award_list, print_title = 1, print_authors = 0, limit = 10000) | |
awards::PrintAwardRow(self, print_title, print_authors, bgcolor) | |
awards::PrintYear(self) | |
awards::PrintLevel(self, print_title) | |
awards::PrintTitle(self) | |
awards::PrintAwardSummary(self) | |
awards::PrintAwardAuthors(self) | |
awards::displayAuthor(self, author) |
awardtypeClass Methods
SQL Method | Status |
---|---|
load(self) | |
cgi2obj(self) | |
display_table_grid(self, current_year = 0) | |
display_categories(self) | |
display_awards_for_year(self, year) |
pubClass Methods
SQL Method | Status |
---|---|
titleEntry::setPage(self, page) | |
titleEntry::setTitle(self, title) | |
titleEntry::setID(self, id) | |
titleEntry::setDate(self, date) | |
titleEntry::setType(self, type) | |
titleEntry::setLength(self, length) | |
titleEntry::setAuthors(self, authors) | |
titleEntry::setOldTitle(self, oldtitle) | |
titleEntry::xmlTitle(self) | |
titleEntry::xmlCloneTitle(self) | |
titleEntry::printTitle(self) | |
reviewEntry::setPage(self, page) | |
reviewEntry::setTitle(self, title) | |
reviewEntry::setID(self, id) | |
reviewEntry::setDate(self, date) | |
reviewEntry::setBookAuthors(self, authors) | |
reviewEntry::setReviewers(self, authors) | |
reviewEntry::setOldReview(self, oldreview) | |
reviewEntry::xmlTitle(self) | |
reviewEntry::xmlCloneTitle(self) | |
reviewEntry::printTitle(self) | |
interviewEntry::setPage(self, page) | |
interviewEntry::setTitle(self, title) | |
interviewEntry::setID(self, id) | |
interviewEntry::setDate(self, date) | |
interviewEntry::setInterviewees(self, authors) | |
interviewEntry::setInterviewers(self, authors) | |
interviewEntry::setOldInterview(self, oldinterview) | |
interviewEntry::xmlTitle(self) | |
interviewEntry::xmlCloneTitle(self) | |
interviewEntry::printTitle(self) | |
pubs::pushTitle(self, titleEntry) | |
pubs::pushReview(self, reviewEntry) | |
pubs::pushInterview(self, interviewEntry) | |
pubs::xmlCoverArt(self, clone) | |
pubs::xmlArtists(self, cover_record) | |
pubs::xmlContent(self) | |
pubs::xmlCloneContent(self) | |
pubs::xmlIdentifiers(self, include_type_name = 0) | |
pubs::printContent(self) | |
pubs::authors(self) | |
pubs::artists(self) | |
pubs::load(self, id) | |
pubs::loadTransTitles(self) | |
pubs::loadPubWebpages(self) | |
pubs::loadExternalIDs(self) | |
pubs::obj2xml(self) | |
pubs::cgi2obj(self, reference_title = 'explicit') | |
pubs::PrintPrimaryVerifications(self) | |
pubs::PrintAllSecondaryVerifications(self) | |
pubs::PrintActiveSecondaryVerifications(self) | |
pubs::PrintSecondaryVerificationsHeaders(self) | |
pubs::printExternalIDs(self, format = 'list') | |
pubs::formatExternalIDs(self) | |
pubs::printModNoteRequired(self) | |
pubs::requiresModeratorNote(self, user_id) | |
pubs::PrintTitleLine(self, title, page, reference_lang, reference = 0) | |
pubBody::build_page_body(self) | |
pubBody::_build_image(self) | |
pubBody::_build_pub_title_line(self) | |
pubBody::_build_magazine_link(self) |
publisherClass Methods
pubseriesClass Methods
seriesClass Methods
SQL Method | Status |
---|---|
load(self, id, fullLoad = 1) | DONE. Required 4 tests to cover all fields. |
loadXML(self, id, fullLoad = 1) | ?? This doesn't actually load XML. It just does a load() |
cgi2obj(self) | |
PrintMetaData(self, user, tags_type, seriesTags, display_type) | |
PrintSeriesTagsBrief(self, seriesTags) | |
PrintSeriesTagsFull(self, seriesTags) | |
BuildTreeData(self, user) | |
BuildSeriesTree(self, seriesData, seriesTree) |