diff --git a/test/gravity.db.sql b/test/gravity.db.sql index 9ce79c6e..9a73d811 100644 --- a/test/gravity.db.sql +++ b/test/gravity.db.sql @@ -213,7 +213,7 @@ INSERT INTO adlist VALUES(1,'https://hosts-file.net/ad_servers.txt',1,1559928803 INSERT INTO gravity VALUES('whitelisted.ftl',1); INSERT INTO gravity VALUES('gravity.ftl',1); INSERT INTO gravity VALUES('gravity-whitelisted.ftl',1); -INSERT INTO info VALUES("gravity_count",3); +INSERT INTO info VALUES('gravity_count',3); INSERT INTO "group" VALUES(1,0,'Test group',1559928803,1559928803,'A disabled test group'); INSERT INTO domainlist_by_group VALUES(15,1); diff --git a/test/pdns/setup.sh b/test/pdns/setup.sh index 57658171..5a0bcf75 100644 --- a/test/pdns/setup.sh +++ b/test/pdns/setup.sh @@ -30,10 +30,10 @@ cp test/pdns/recursor.conf $RECURSOR_CONF # Create zone database if [ -f /usr/share/doc/pdns-backend-sqlite3/schema.sqlite3.sql ]; then # Debian - sqlite3 /var/lib/powerdns/pdns.sqlite3 < /usr/share/doc/pdns-backend-sqlite3/schema.sqlite3.sql + ./pihole-FTL sqlite3 /var/lib/powerdns/pdns.sqlite3 < /usr/share/doc/pdns-backend-sqlite3/schema.sqlite3.sql elif [ -f /usr/share/doc/pdns/schema.sqlite3.sql ]; then # Alpine - sqlite3 /var/lib/powerdns/pdns.sqlite3 < /usr/share/doc/pdns/schema.sqlite3.sql + ./pihole-FTL sqlite3 /var/lib/powerdns/pdns.sqlite3 < /usr/share/doc/pdns/schema.sqlite3.sql else echo "Error: powerDNS SQL schema not found" exit 1 diff --git a/test/run.sh b/test/run.sh index 01e12e23..fb8b656d 100755 --- a/test/run.sh +++ b/test/run.sh @@ -36,12 +36,12 @@ chmod +x /home/pihole/pihole-FTL setcap CAP_NET_BIND_SERVICE+eip /home/pihole/pihole-FTL # Prepare gravity database -sqlite3 /etc/pihole/gravity.db < test/gravity.db.sql +./pihole-FTL sqlite3 /etc/pihole/gravity.db < test/gravity.db.sql chown pihole:pihole /etc/pihole/gravity.db # Prepare pihole-FTL database rm -rf /etc/pihole/pihole-FTL.db -sqlite3 /etc/pihole/pihole-FTL.db < test/pihole-FTL.db.sql +./pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db < test/pihole-FTL.db.sql chown pihole:pihole /etc/pihole/pihole-FTL.db # Prepare setupVars.conf diff --git a/test/test_suite.bats b/test/test_suite.bats index 5de5bb00..af7d7cc3 100644 --- a/test/test_suite.bats +++ b/test/test_suite.bats @@ -585,7 +585,7 @@ } @test "pihole-FTL.db schema is as expected" { - run bash -c 'sqlite3 /etc/pihole/pihole-FTL.db .dump' + run bash -c './pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db .dump' printf "%s\n" "${lines[@]}" [[ "${lines[@]}" == *"CREATE TABLE IF NOT EXISTS \"query_storage\" (id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp INTEGER NOT NULL, type INTEGER NOT NULL, status INTEGER NOT NULL, domain INTEGER NOT NULL, client INTEGER NOT NULL, forward INTEGER, additional_info INTEGER);"* ]] [[ "${lines[@]}" == *"CREATE INDEX idx_queries_timestamps ON \"query_storage\" (timestamp);"* ]] @@ -594,8 +594,7 @@ [[ "${lines[@]}" == *"CREATE TABLE IF NOT EXISTS \"network\" (id INTEGER PRIMARY KEY NOT NULL, hwaddr TEXT UNIQUE NOT NULL, interface TEXT NOT NULL, firstSeen INTEGER NOT NULL, lastQuery INTEGER NOT NULL, numQueries INTEGER NOT NULL, macVendor TEXT, aliasclient_id INTEGER);"* ]] [[ "${lines[@]}" == *"CREATE TABLE IF NOT EXISTS \"network_addresses\" (network_id INTEGER NOT NULL, ip TEXT UNIQUE NOT NULL, lastSeen INTEGER NOT NULL DEFAULT (cast(strftime('%s', 'now') as int)), name TEXT, nameUpdated INTEGER, FOREIGN KEY(network_id) REFERENCES network(id));"* ]] [[ "${lines[@]}" == *"CREATE TABLE aliasclient (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL, comment TEXT);"* ]] - # Depending on the version of sqlite3, ftl can be enquoted or not... - [[ "${lines[@]}" == *"INSERT INTO"?*"ftl"?*"VALUES(0,11);"* ]] # Expecting FTL database version 11 + [[ "${lines[@]}" == *"INSERT INTO ftl VALUES(0,11);"* ]] # Expecting FTL database version 11 # vvv This has been added in version 10 vvv [[ "${lines[@]}" == *"CREATE VIEW queries AS SELECT id, timestamp, type, status, CASE typeof(domain) WHEN 'integer' THEN (SELECT domain FROM domain_by_id d WHERE d.id = q.domain) ELSE domain END domain,CASE typeof(client) WHEN 'integer' THEN (SELECT ip FROM client_by_id c WHERE c.id = q.client) ELSE client END client,CASE typeof(forward) WHEN 'integer' THEN (SELECT forward FROM forward_by_id f WHERE f.id = q.forward) ELSE forward END forward,CASE typeof(additional_info) WHEN 'integer' THEN (SELECT content FROM addinfo_by_id a WHERE a.id = q.additional_info) ELSE additional_info END additional_info FROM query_storage q;"* ]] [[ "${lines[@]}" == *"CREATE TABLE domain_by_id (id INTEGER PRIMARY KEY, domain TEXT NOT NULL);"* ]]