updated healthchecks to support starting and stopping a job
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
708d56fc98
commit
d15cc8d95c
114
.drone.yml
114
.drone.yml
@ -1,59 +1,55 @@
|
||||
kind: pipeline
|
||||
name: default
|
||||
steps:
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
registry: git.jonb.io
|
||||
dry_run: false
|
||||
username: jblu
|
||||
password:
|
||||
from_secret: gittea_drone
|
||||
repo: git.jonb.io/jblu/qbit-maid
|
||||
tags:
|
||||
- latest
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- name: docker-test
|
||||
image: plugins/docker
|
||||
settings:
|
||||
registry: git.jonb.io
|
||||
dry_run: false
|
||||
username: jblu
|
||||
password:
|
||||
from_secret: gittea_drone
|
||||
repo: git.jonb.io/jblu/qbit-maid
|
||||
tags:
|
||||
- dev
|
||||
when:
|
||||
branch:
|
||||
- dev*
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- name: test-main
|
||||
image: git.jonb.io/jblu/qbit-maid:latest
|
||||
commands:
|
||||
- python test_qbitmaid.py
|
||||
- python test_write_csv.py
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- name: test-dev
|
||||
image: git.jonb.io/jblu/qbit-maid:dev
|
||||
commands:
|
||||
- python test_qbitmaid.py
|
||||
- python test_write_csv.py
|
||||
when:
|
||||
branch:
|
||||
- dev*
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
kind: pipeline
|
||||
name: default
|
||||
steps:
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
registry: git.jonb.io
|
||||
dry_run: false
|
||||
username: jblu
|
||||
password:
|
||||
from_secret: gittea_drone
|
||||
repo: git.jonb.io/jblu/qbit-maid
|
||||
tags:
|
||||
- latest
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
- name: docker-test
|
||||
image: plugins/docker
|
||||
settings:
|
||||
registry: git.jonb.io
|
||||
dry_run: false
|
||||
username: jblu
|
||||
password:
|
||||
from_secret: gittea_drone
|
||||
repo: git.jonb.io/jblu/qbit-maid
|
||||
tags:
|
||||
- dev
|
||||
when:
|
||||
branch:
|
||||
- dev*
|
||||
event:
|
||||
- push
|
||||
- name: test-main
|
||||
image: git.jonb.io/jblu/qbit-maid:latest
|
||||
commands:
|
||||
- python test_qbitmaid.py
|
||||
- python test_write_csv.py
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
- name: test-dev
|
||||
image: git.jonb.io/jblu/qbit-maid:dev
|
||||
commands:
|
||||
- python test_qbitmaid.py
|
||||
- python test_write_csv.py
|
||||
when:
|
||||
branch:
|
||||
- dev*
|
||||
event:
|
||||
- push
|
@ -94,6 +94,11 @@ class Qbt:
|
||||
tor_log(self)
|
||||
tor_notify(self)
|
||||
self.t = time
|
||||
|
||||
#start healthcheck job
|
||||
if self.use_healthcheck:
|
||||
send_ping(self, r, self.healthcheck_url.rstrip("/") + "/start" )
|
||||
|
||||
# Pulling domain names to treat carefully
|
||||
self.tracker_list = []
|
||||
self.up_tor_counter = 0
|
||||
|
@ -88,7 +88,7 @@ def get_script_runtime(self):
|
||||
|
||||
def send_ping(self, req_obj, healthcheck_url):
|
||||
try:
|
||||
req_obj.get(healthcheck_url, timeout=10)
|
||||
req_obj.get(healthcheck_url, timeout=5)
|
||||
except req_obj.RequestException as e:
|
||||
self.tl.info(f"Ping failed: {e}")
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
import unittest
|
||||
import requests as r
|
||||
from qlist import is_preme,is_cat_ignored,is_tracker_blank,is_protected_tracker,is_not_protected_tracker,is_tag_blank,is_ignored_tag
|
||||
from qprocess import is_downloading,is_protected_under_ratio,is_old_tor,is_protected_over_ratio,is_not_protected_tor
|
||||
from qlogging import send_ping
|
||||
|
||||
class TestQbitmaid(unittest.TestCase):
|
||||
def test_ispreme_sanity(self):
|
||||
@ -94,6 +96,17 @@ class TestQbitmaid(unittest.TestCase):
|
||||
def test_isignoredtag(self):
|
||||
self.assertTrue(is_ignored_tag(['save'], 'save,public,ipt'))
|
||||
|
||||
def test_sendpingstart_sanity(self):
|
||||
send_ping(self, r, "https://thunder.jonb.io/ping/921625e5-5b76-4f45-a0c3-56145e16f3bb" + "/start")
|
||||
url = "https://thunder.jonb.io/ping/921625e5-5b76-4f45-a0c3-56145e16f3bb"
|
||||
send_ping(self, r, url)
|
||||
|
||||
def test_sendping_start(self):
|
||||
url = "https://thunder.jonb.io/ping/921625e5-5b76-4f45-a0c3-56145e16f3bb/"
|
||||
send_ping(self, r, url.strip("/") + "/start")
|
||||
send_ping(self, r, "https://thunder.jonb.io/ping/921625e5-5b76-4f45-a0c3-56145e16f3bb")
|
||||
|
||||
|
||||
# def test__sanity(self):
|
||||
# pass
|
||||
|
||||
|
@ -1,41 +1,41 @@
|
||||
from qprocess import write_csv
|
||||
import csv
|
||||
import unittest
|
||||
import os
|
||||
# Torrent Items needed for testing
|
||||
# canidate['state'] {canidate["ratio"]} {torrent["tags"]} torrent["seeding_time"] {torrent["category"]} {torrent["name"][0:20]} {canidate["time_active"]}
|
||||
class TestWriteCSV(unittest.TestCase):
|
||||
def test_write_csv_dragnet(self):
|
||||
self.cv = csv
|
||||
outfile = './test_dragnet_outfile.csv'
|
||||
state = 'downloading'
|
||||
ratio = 1.05
|
||||
tags = 'ipt'
|
||||
added = 1
|
||||
age = 240000
|
||||
time = 123456
|
||||
thash = 'asfasdf23412adfqwer'
|
||||
tname = 'thisismynamehahahah'
|
||||
trname = 'https://localhost.stackoverflow.tech/317332f1c125bc9c1b9b14fb8e054908/announce'
|
||||
header = ['state','ratio','tags','added','age','time','thash','tname','trname']
|
||||
row = [state,ratio,tags,added,age,time,thash,tname,trname]
|
||||
write_csv(self.cv,outfile,header,row)
|
||||
self.assertTrue(os.path.exists(outfile))
|
||||
|
||||
def test_write_csv_telemetry(self):
|
||||
self.cv = csv
|
||||
outfile = './test_telemetry_outfile.csv'
|
||||
state = 'downloading'
|
||||
ratio = 1.05
|
||||
tags = 'ipt'
|
||||
added = 1
|
||||
thash = 'asfasdf23412adfqwer'
|
||||
tname = 'thisismynamehahahah'
|
||||
trname = 'https://localhost.stackoverflow.tech/317332f1c125bc9c1b9b14fb8e054908/announce'
|
||||
header = ['state','ratio','tags','added','hash','name','tracker']
|
||||
row = [state,ratio,tags,added,thash,tname,trname]
|
||||
write_csv(self.cv,outfile,header,row)
|
||||
self.assertTrue(os.path.exists(outfile))
|
||||
|
||||
if __name__ == '__main__':
|
||||
from qprocess import write_csv
|
||||
import csv
|
||||
import unittest
|
||||
import os
|
||||
# Torrent Items needed for testing
|
||||
# canidate['state'] {canidate["ratio"]} {torrent["tags"]} torrent["seeding_time"] {torrent["category"]} {torrent["name"][0:20]} {canidate["time_active"]}
|
||||
class TestWriteCSV(unittest.TestCase):
|
||||
def test_write_csv_dragnet(self):
|
||||
self.cv = csv
|
||||
outfile = './test_dragnet_outfile.csv'
|
||||
state = 'downloading'
|
||||
ratio = 1.05
|
||||
tags = 'ipt'
|
||||
added = 1
|
||||
age = 240000
|
||||
time = 123456
|
||||
thash = 'asfasdf23412adfqwer'
|
||||
tname = 'thisismynamehahahah'
|
||||
trname = 'https://localhost.stackoverflow.tech/317332f1c125bc9c1b9b14fb8e054908/announce'
|
||||
header = ['state','ratio','tags','added','age','time','thash','tname','trname']
|
||||
row = [state,ratio,tags,added,age,time,thash,tname,trname]
|
||||
write_csv(self.cv,outfile,header,row)
|
||||
self.assertTrue(os.path.exists(outfile))
|
||||
|
||||
def test_write_csv_telemetry(self):
|
||||
self.cv = csv
|
||||
outfile = './test_telemetry_outfile.csv'
|
||||
state = 'downloading'
|
||||
ratio = 1.05
|
||||
tags = 'ipt'
|
||||
added = 1
|
||||
thash = 'asfasdf23412adfqwer'
|
||||
tname = 'thisismynamehahahah'
|
||||
trname = 'https://localhost.stackoverflow.tech/317332f1c125bc9c1b9b14fb8e054908/announce'
|
||||
header = ['state','ratio','tags','added','hash','name','tracker']
|
||||
row = [state,ratio,tags,added,thash,tname,trname]
|
||||
write_csv(self.cv,outfile,header,row)
|
||||
self.assertTrue(os.path.exists(outfile))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Loading…
x
Reference in New Issue
Block a user