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:
parent
38c4107b15
commit
6a7296b4f6
7 changed files with 18 additions and 92 deletions
|
@ -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>
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue