1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-09-05 11:06:23 -07:00

Update tests with new filter schema

This commit is contained in:
Eggbertx 2024-08-21 17:24:47 -07:00
parent 38c4107b15
commit 6a7296b4f6
7 changed files with 18 additions and 92 deletions

View file

@ -7,7 +7,7 @@ var defaultStyle = "test1.css";
var webroot = "/chan";
var serverTZ = 8;
var fileTypes = [];`
expectedMinifiedFront = `<!doctype html><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Gochan</title><link rel=stylesheet href=/chan/css/global.css><link id=theme rel=stylesheet href=/chan/css/test1.css><link rel="shortcut icon" href=/chan/favicon.png><script src=/chan/js/consts.js></script><script src=/chan/js/gochan.js></script><div id=topbar><div class=topbar-section><a href=/chan/ class=topbar-item>home</a></div><div class=topbar-section><a href=/chan/test/ class=topbar-item title="Testing board">/test/</a><a href=/chan/test2/ class=topbar-item title="Testing board 2">/test2/</a></div></div><div id=content><div id=top-pane><span id=site-title>Gochan</span><br><span id=site-slogan></span></div><br><div id=frontpage><div class=section-block style="margin: 16px 64px 16px 64px;"><div class="section-body front-intro">Welcome to Gochan!</div></div><div class=section-block><div class=section-title-block><b>Boards</b></div><div class=section-body><ul style="float:left; list-style: none"><li style="text-align: center; font-weight: bold"><b><u>Main</u></b><li><a href=/chan/test/ title="Board for testing description">/test/</a> — Testing board<li><a href=/chan/test2/ title="Board for testing description 2">/test2/</a> — Testing board 2</ul></div></div><div class=section-block><div class=section-title-block><b>Recent Posts</b></div><div class=section-body><div id=recent-posts><div class=recent-post><a href=/chan/test/res/1.html#1 class=front-reply target=_blank><img src=/chan/test/thumb alt="post thumbnail"></a><br><br><a href=/chan/test/>/test/</a><hr>message_raw</div><div class=recent-post><a href=/chan/test/res/1.html#2 class=front-reply target=_blank><img src=/chan/test/thumb alt="post thumbnail"></a><br><br><a href=/chan/test/>/test/</a><hr>message_raw</div></div></div></div></div><div id=footer>Powered by <a href=http://github.com/gochan-org/gochan/>Gochan 3.11.0</a><br></div></div>`
expectedMinifiedFront = `<!doctype html><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Gochan</title><link rel=stylesheet href=/chan/css/global.css><link id=theme rel=stylesheet href=/chan/css/test1.css><link rel="shortcut icon" href=/chan/favicon.png><script src=/chan/js/consts.js></script><script src=/chan/js/gochan.js></script><div id=topbar><div class=topbar-section><a href=/chan/ class=topbar-item>home</a></div><div class=topbar-section><a href=/chan/test/ class=topbar-item title="Testing board">/test/</a><a href=/chan/test2/ class=topbar-item title="Testing board 2">/test2/</a></div></div><div id=content><div id=top-pane><span id=site-title>Gochan</span><br><span id=site-slogan></span></div><br><div id=frontpage><div class=section-block style="margin: 16px 64px 16px 64px;"><div class="section-body front-intro">Welcome to Gochan!</div></div><div class=section-block><div class=section-title-block><b>Boards</b></div><div class=section-body><ul style="float:left; list-style: none"><li style="text-align: center; font-weight: bold"><b><u>Main</u></b><li><a href=/chan/test/ title="Board for testing description">/test/</a> — Testing board<li><a href=/chan/test2/ title="Board for testing description 2">/test2/</a> — Testing board 2</ul></div></div><div class=section-block><div class=section-title-block><b>Recent Posts</b></div><div class=section-body><div id=recent-posts><div class=recent-post><a href=/chan/test/res/1.html#1 class=front-reply target=_blank><img src=/chan/test/thumb alt="post thumbnail"></a><br><br><a href=/chan/test/>/test/</a><hr>message_raw</div><div class=recent-post><a href=/chan/test/res/1.html#2 class=front-reply target=_blank><img src=/chan/test/thumb alt="post thumbnail"></a><br><br><a href=/chan/test/>/test/</a><hr>message_raw</div></div></div></div></div><div id=footer>Powered by <a href=http://github.com/gochan-org/gochan/>Gochan 3.11</a><br></div></div>`
expectedUnminifiedFront = `<!DOCTYPE html>
<html>
<head>
@ -74,7 +74,7 @@ var fileTypes = [];`
</div>
</div>
<div id="footer">
Powered by <a href="http://github.com/gochan-org/gochan/">Gochan 3.11.0</a><br />
Powered by <a href="http://github.com/gochan-org/gochan/">Gochan 3.11</a><br />
</div>
</div>
</body>

View file

@ -30,10 +30,10 @@ var (
`CREATE TABLE ip_ban_appeals_audit\(\s+appeal_id BIGINT NOT NULL,\s+timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+staff_id BIGINT,\s+appeal_text TEXT NOT NULL,\s+staff_response TEXT,\s+is_denied BOOL NOT NULL,\s+PRIMARY KEY\(appeal_id, timestamp\),\s+CONSTRAINT ip_ban_appeals_audit_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT ip_ban_appeals_audit_appeal_id_fk\s+FOREIGN KEY\(appeal_id\) REFERENCES ip_ban_appeals\(id\)\s+ON DELETE CASCADE \)`,
`CREATE TABLE reports\(\s+id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s+handled_by_staff_id BIGINT,\s+post_id BIGINT NOT NULL,\s+ip VARBINARY\(16\) NOT NULL,\s+reason TEXT NOT NULL,\s+is_cleared BOOL NOT NULL,\s+CONSTRAINT reports_handled_by_staff_id_fk\s+FOREIGN KEY\(handled_by_staff_id\) REFERENCES staff\(id\), CONSTRAINT reports_post_id_fk\s+FOREIGN KEY\(post_id\) REFERENCES posts\(id\) ON DELETE CASCADE \)`,
`CREATE TABLE reports_audit\(\s+report_id BIGINT NOT NULL,\s+timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+handled_by_staff_id BIGINT,\s+is_cleared BOOL NOT NULL,\s+CONSTRAINT reports_audit_handled_by_staff_id_fk\s+FOREIGN KEY\(handled_by_staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT reports_audit_report_id_fk\s+FOREIGN KEY\(report_id\) REFERENCES reports\(id\) ON DELETE CASCADE\s+\)`,
`CREATE TABLE filename_ban\(\s+id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+filename VARCHAR\(255\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+CONSTRAINT filename_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT filename_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\) \)`,
`CREATE TABLE username_ban\(\s+id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+username VARCHAR\(255\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+CONSTRAINT username_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT username_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\) \)`,
`CREATE TABLE file_ban\(\s+id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+checksum TEXT NOT NULL,\s+fingerprinter VARCHAR\(64\),\s+ban_ip BOOL NOT NULL,\s+ban_ip_message TEXT,\s+CONSTRAINT file_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT file_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\)\s+\)`,
`CREATE TABLE wordfilters\(\s+id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s+board_dirs VARCHAR\(255\) DEFAULT '\*',\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+search VARCHAR\(75\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+change_to VARCHAR\(75\) NOT NULL,\s+CONSTRAINT wordfilters_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT wordfilters_search_check CHECK \(search <> ''\) \)`,
`CREATE TABLE filters\(\s*id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s*staff_id BIGINT,\s*staff_note VARCHAR\(255\) NOT NULL,\s*issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s*match_action VARCHAR\(45\) NOT NULL DEFAULT 'replace',\s*match_detail TEXT NOT NULL,\s*is_active BOOL NOT NULL,\s*CONSTRAINT filters_staff_id_fk\s*FOREIGN KEY\(staff_id\) REFERENCES staff\(id\)\s*ON DELETE SET NULL\s*\)`,
`CREATE TABLE filter_boards\(\s*id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s*filter_id BIGINT NOT NULL,\s*board_id BIGINT NOT NULL,\s*CONSTRAINT filter_boards_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE,\s*CONSTRAINT filter_boards_board_id_fk\s*FOREIGN KEY\(board_id\)\s*REFERENCES boards\(id\)\s*ON DELETE CASCADE\s*\)`,
`CREATE TABLE filter_conditions\(\s*id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s*filter_id BIGINT NOT NULL,\s*is_regex SMALLINT NOT NULL,\s*search VARCHAR\(75\) NOT NULL,\s*field VARCHAR\(75\) NOT NULL,\s*CONSTRAINT filter_conditions_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE,\s*CONSTRAINT filter_conditions_search_check CHECK \(search <> ''\)\s*\)`,
`CREATE TABLE filter_hits\(\s*id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,\s*filter_id BIGINT NOT NULL,\s*post_data TEXT NOT NULL,\s*match_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s*CONSTRAINT filter_hits_filter_id_fk\s*FOREIGN KEY\(filter_id\)\s*REFERENCES filters\(id\)\s*ON DELETE CASCADE\s*\)`,
`INSERT INTO database_version\(component, version\)\s+VALUES\('gochan', 3\)`,
}
testInitDBPostgresStatements = []string{
@ -55,10 +55,10 @@ var (
`CREATE TABLE ip_ban_appeals_audit\(\s+appeal_id BIGINT NOT NULL,\s+timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+staff_id BIGINT,\s+appeal_text TEXT NOT NULL,\s+staff_response TEXT,\s+is_denied BOOL NOT NULL,\s+PRIMARY KEY\(appeal_id, timestamp\),\s+CONSTRAINT ip_ban_appeals_audit_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT ip_ban_appeals_audit_appeal_id_fk\s+FOREIGN KEY\(appeal_id\) REFERENCES ip_ban_appeals\(id\)\s+ON DELETE CASCADE \)`,
`CREATE TABLE reports\(\s+id BIGSERIAL PRIMARY KEY,\s+handled_by_staff_id BIGINT,\s+post_id BIGINT NOT NULL,\s+ip INET NOT NULL,\s+reason TEXT NOT NULL,\s+is_cleared BOOL NOT NULL,\s+CONSTRAINT reports_handled_by_staff_id_fk\s+FOREIGN KEY\(handled_by_staff_id\) REFERENCES staff\(id\), CONSTRAINT reports_post_id_fk\s+FOREIGN KEY\(post_id\) REFERENCES posts\(id\) ON DELETE CASCADE \)`,
`CREATE TABLE reports_audit\(\s+report_id BIGINT NOT NULL,\s+timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+handled_by_staff_id BIGINT,\s+is_cleared BOOL NOT NULL,\s+CONSTRAINT reports_audit_handled_by_staff_id_fk\s+FOREIGN KEY\(handled_by_staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT reports_audit_report_id_fk\s+FOREIGN KEY\(report_id\) REFERENCES reports\(id\) ON DELETE CASCADE\s+\)`,
`CREATE TABLE filename_ban\(\s+id BIGSERIAL PRIMARY KEY,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+filename VARCHAR\(255\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+CONSTRAINT filename_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT filename_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\) \)`,
`CREATE TABLE username_ban\(\s+id BIGSERIAL PRIMARY KEY,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+username VARCHAR\(255\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+CONSTRAINT username_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT username_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\) \)`,
`CREATE TABLE file_ban\(\s+id BIGSERIAL PRIMARY KEY,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+checksum TEXT NOT NULL,\s+fingerprinter VARCHAR\(64\),\s+ban_ip BOOL NOT NULL,\s+ban_ip_message TEXT,\s+CONSTRAINT file_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT file_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\)\s+\)`,
`CREATE TABLE wordfilters\(\s+id BIGSERIAL PRIMARY KEY,\s+board_dirs VARCHAR\(255\) DEFAULT '\*',\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+search VARCHAR\(75\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+change_to VARCHAR\(75\) NOT NULL,\s+CONSTRAINT wordfilters_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT wordfilters_search_check CHECK \(search <> ''\) \)`,
`CREATE TABLE filters\(\s*id BIGSERIAL PRIMARY KEY,\s*staff_id BIGINT,\s*staff_note VARCHAR\(255\) NOT NULL,\s*issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s*match_action VARCHAR\(45\) NOT NULL DEFAULT 'replace',\s*match_detail TEXT NOT NULL,\s*is_active BOOL NOT NULL,\s*CONSTRAINT filters_staff_id_fk\s*FOREIGN KEY\(staff_id\) REFERENCES staff\(id\)\s*ON DELETE SET NULL\s*\)`,
`CREATE TABLE filter_boards\(\s*id BIGSERIAL PRIMARY KEY,\s*filter_id BIGINT NOT NULL,\s*board_id BIGINT NOT NULL,\s*CONSTRAINT filter_boards_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE,\s*CONSTRAINT filter_boards_board_id_fk\s*FOREIGN KEY\(board_id\) REFERENCES boards\(id\)\s*ON DELETE CASCADE\s*\)`,
`CREATE TABLE filter_conditions\(\s*id BIGSERIAL PRIMARY KEY,\s*filter_id BIGINT NOT NULL,\s*is_regex SMALLINT NOT NULL,\s*search VARCHAR\(75\) NOT NULL,\s*field VARCHAR\(75\) NOT NULL,\s*CONSTRAINT filter_conditions_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE,\s*CONSTRAINT filter_conditions_search_check CHECK \(search <> ''\)\s*\)`,
`CREATE TABLE filter_hits\(\s*id BIGSERIAL PRIMARY KEY,\s*filter_id BIGINT NOT NULL,\s*post_data TEXT NOT NULL,\s*match_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s*CONSTRAINT filter_hits_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE\s*\)`,
`INSERT INTO database_version\(component, version\)\s+VALUES\('gochan', 3\)`,
}
testInitDBSQLite3Statements = []string{
@ -80,24 +80,14 @@ var (
`CREATE TABLE ip_ban_appeals_audit\(\s+appeal_id BIGINT NOT NULL,\s+timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+staff_id BIGINT,\s+appeal_text TEXT NOT NULL,\s+staff_response TEXT,\s+is_denied BOOL NOT NULL,\s+PRIMARY KEY\(appeal_id, timestamp\),\s+CONSTRAINT ip_ban_appeals_audit_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT ip_ban_appeals_audit_appeal_id_fk\s+FOREIGN KEY\(appeal_id\) REFERENCES ip_ban_appeals\(id\)\s+ON DELETE CASCADE \)`,
`CREATE TABLE reports\(\s+id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s+handled_by_staff_id BIGINT,\s+post_id BIGINT NOT NULL,\s+ip VARCHAR\(45\) NOT NULL,\s+reason TEXT NOT NULL,\s+is_cleared BOOL NOT NULL,\s+CONSTRAINT reports_handled_by_staff_id_fk\s+FOREIGN KEY\(handled_by_staff_id\) REFERENCES staff\(id\), CONSTRAINT reports_post_id_fk\s+FOREIGN KEY\(post_id\) REFERENCES posts\(id\) ON DELETE CASCADE \)`,
`CREATE TABLE reports_audit\(\s+report_id BIGINT NOT NULL,\s+timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+handled_by_staff_id BIGINT,\s+is_cleared BOOL NOT NULL,\s+CONSTRAINT reports_audit_handled_by_staff_id_fk\s+FOREIGN KEY\(handled_by_staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT reports_audit_report_id_fk\s+FOREIGN KEY\(report_id\) REFERENCES reports\(id\) ON DELETE CASCADE\s+\)`,
`CREATE TABLE filename_ban\(\s+id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+filename VARCHAR\(255\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+CONSTRAINT filename_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT filename_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\) \)`,
`CREATE TABLE username_ban\(\s+id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+username VARCHAR\(255\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+CONSTRAINT username_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT username_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\) \)`,
`CREATE TABLE file_ban\(\s+id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s+board_id BIGINT,\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+checksum TEXT NOT NULL,\s+fingerprinter VARCHAR\(64\),\s+ban_ip BOOL NOT NULL,\s+ban_ip_message TEXT,\s+CONSTRAINT file_ban_board_id_fk\s+FOREIGN KEY\(board_id\) REFERENCES boards\(id\) ON DELETE CASCADE,\s+CONSTRAINT file_ban_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\)\s+\)`,
`CREATE TABLE wordfilters\(\s+id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s+board_dirs VARCHAR\(255\) DEFAULT '\*',\s+staff_id BIGINT NOT NULL,\s+staff_note VARCHAR\(255\) NOT NULL,\s+issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s+search VARCHAR\(75\) NOT NULL,\s+is_regex BOOL NOT NULL,\s+change_to VARCHAR\(75\) NOT NULL,\s+CONSTRAINT wordfilters_staff_id_fk\s+FOREIGN KEY\(staff_id\) REFERENCES staff\(id\),\s+CONSTRAINT wordfilters_search_check CHECK \(search <> ''\) \)`,
`CREATE TABLE filters\(\s*id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s*staff_id BIGINT,\s*staff_note VARCHAR\(255\) NOT NULL,\s*issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s*match_action VARCHAR\(45\) NOT NULL DEFAULT 'replace',\s*match_detail TEXT NOT NULL,\s*is_active BOOL NOT NULL,\s*CONSTRAINT filters_staff_id_fk\s*FOREIGN KEY\(staff_id\) REFERENCES staff\(id\)\s*ON DELETE SET NULL\s*\)`,
`CREATE TABLE filter_boards\(\s*id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s*filter_id BIGINT NOT NULL,\s*board_id BIGINT NOT NULL,\s*CONSTRAINT filter_boards_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE,\s*CONSTRAINT filter_boards_board_id_fk\s*FOREIGN KEY\(board_id\) REFERENCES boards\(id\)\s*ON DELETE CASCADE\s*\)`,
`CREATE TABLE filter_conditions\(\s*id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s*filter_id BIGINT NOT NULL,\s*is_regex SMALLINT NOT NULL,\s*search VARCHAR\(75\) NOT NULL,\s*field VARCHAR\(75\) NOT NULL,\s*CONSTRAINT filter_conditions_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE,\s*CONSTRAINT filter_conditions_search_check CHECK \(search <> ''\)\s*\)`,
`CREATE TABLE filter_hits\(\s*id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\s*filter_id BIGINT NOT NULL,\s*post_data TEXT NOT NULL,\s*match_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\s*CONSTRAINT filter_hits_filter_id_fk\s*FOREIGN KEY\(filter_id\) REFERENCES filters\(id\)\s*ON DELETE CASCADE\s*\)`,
`INSERT INTO database_version\(component, version\)\s+VALUES\('gochan', 3\)`,
}
)
// func setupMockDB(t *testing.T, dbType string, dbName string) (mock sqlmock.Sqlmock, err error) {
// gcdb, err = setupDBConn("localhost", dbType, dbName, "gochan", "gochan", "")
// if !assert.NoError(t, err) {
// return
// }
// gcdb.db, mock, err = sqlmock.New()
// assert.NoError(t, err)
// return
// }
func setupAndProvisionMockDB(t *testing.T, mock sqlmock.Sqlmock, dbType string, dbName string) error {
t.Helper()
if gcdb == nil || gcdb.db == nil {

View file

@ -244,22 +244,6 @@ CREATE TABLE DBPREFIXreports_audit(
FOREIGN KEY(report_id) REFERENCES DBPREFIXreports(id) ON DELETE CASCADE
);
CREATE TABLE DBPREFIXfile_ban(
id {serial pk},
board_id {fk to serial},
staff_id {fk to serial} NOT NULL,
staff_note VARCHAR(255) NOT NULL,
issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
checksum TEXT NOT NULL,
fingerprinter VARCHAR(64),
ban_ip BOOL NOT NULL,
ban_ip_message TEXT,
CONSTRAINT file_ban_board_id_fk
FOREIGN KEY(board_id) REFERENCES DBPREFIXboards(id) ON DELETE CASCADE,
CONSTRAINT file_ban_staff_id_fk
FOREIGN KEY(staff_id) REFERENCES DBPREFIXstaff(id)
);
CREATE TABLE DBPREFIXfilters(
id {serial pk},
staff_id {fk to serial},

View file

@ -244,22 +244,6 @@ CREATE TABLE DBPREFIXreports_audit(
FOREIGN KEY(report_id) REFERENCES DBPREFIXreports(id) ON DELETE CASCADE
);
CREATE TABLE DBPREFIXfile_ban(
id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,
board_id BIGINT,
staff_id BIGINT NOT NULL,
staff_note VARCHAR(255) NOT NULL,
issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
checksum TEXT NOT NULL,
fingerprinter VARCHAR(64),
ban_ip BOOL NOT NULL,
ban_ip_message TEXT,
CONSTRAINT file_ban_board_id_fk
FOREIGN KEY(board_id) REFERENCES DBPREFIXboards(id) ON DELETE CASCADE,
CONSTRAINT file_ban_staff_id_fk
FOREIGN KEY(staff_id) REFERENCES DBPREFIXstaff(id)
);
CREATE TABLE DBPREFIXfilters(
id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,
staff_id BIGINT,
@ -300,7 +284,7 @@ CREATE TABLE DBPREFIXfilter_conditions(
CREATE TABLE DBPREFIXfilter_hits(
id BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY,
filter_id BIGINT NOT NULL,
post_data TEXT,
post_data TEXT NOT NULL,
match_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT filter_hits_filter_id_fk
FOREIGN KEY(filter_id) REFERENCES DBPREFIXfilters(id)

View file

@ -244,22 +244,6 @@ CREATE TABLE DBPREFIXreports_audit(
FOREIGN KEY(report_id) REFERENCES DBPREFIXreports(id) ON DELETE CASCADE
);
CREATE TABLE DBPREFIXfile_ban(
id BIGSERIAL PRIMARY KEY,
board_id BIGINT,
staff_id BIGINT NOT NULL,
staff_note VARCHAR(255) NOT NULL,
issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
checksum TEXT NOT NULL,
fingerprinter VARCHAR(64),
ban_ip BOOL NOT NULL,
ban_ip_message TEXT,
CONSTRAINT file_ban_board_id_fk
FOREIGN KEY(board_id) REFERENCES DBPREFIXboards(id) ON DELETE CASCADE,
CONSTRAINT file_ban_staff_id_fk
FOREIGN KEY(staff_id) REFERENCES DBPREFIXstaff(id)
);
CREATE TABLE DBPREFIXfilters(
id BIGSERIAL PRIMARY KEY,
staff_id BIGINT,
@ -300,7 +284,7 @@ CREATE TABLE DBPREFIXfilter_conditions(
CREATE TABLE DBPREFIXfilter_hits(
id BIGSERIAL PRIMARY KEY,
filter_id BIGINT NOT NULL,
post_data TEXT,
post_data TEXT NOT NULL,
match_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT filter_hits_filter_id_fk
FOREIGN KEY(filter_id) REFERENCES DBPREFIXfilters(id)

View file

@ -244,22 +244,6 @@ CREATE TABLE DBPREFIXreports_audit(
FOREIGN KEY(report_id) REFERENCES DBPREFIXreports(id) ON DELETE CASCADE
);
CREATE TABLE DBPREFIXfile_ban(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
board_id BIGINT,
staff_id BIGINT NOT NULL,
staff_note VARCHAR(255) NOT NULL,
issued_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
checksum TEXT NOT NULL,
fingerprinter VARCHAR(64),
ban_ip BOOL NOT NULL,
ban_ip_message TEXT,
CONSTRAINT file_ban_board_id_fk
FOREIGN KEY(board_id) REFERENCES DBPREFIXboards(id) ON DELETE CASCADE,
CONSTRAINT file_ban_staff_id_fk
FOREIGN KEY(staff_id) REFERENCES DBPREFIXstaff(id)
);
CREATE TABLE DBPREFIXfilters(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
staff_id BIGINT,
@ -300,7 +284,7 @@ CREATE TABLE DBPREFIXfilter_conditions(
CREATE TABLE DBPREFIXfilter_hits(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
filter_id BIGINT NOT NULL,
post_data TEXT,
post_data TEXT NOT NULL,
match_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT filter_hits_filter_id_fk
FOREIGN KEY(filter_id) REFERENCES DBPREFIXfilters(id)

View file

@ -45,7 +45,7 @@ def hasError(text):
def dofile(filestart):
print("building " + filestart + " sql file")
print("building " + filestart + "master.sql file")
masterfile = ""
with open(filestart + "master.sql", 'r') as masterfileIn: # skipcq: PTC-W6004
masterfile = masterfileIn.read()