aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/test-database.yaml29
-rw-r--r--tests/backendTest.py17
-rw-r--r--tests/dbTestFiller.py55
-rw-r--r--tests/removeSample.py20
4 files changed, 45 insertions, 76 deletions
diff --git a/.github/workflows/test-database.yaml b/.github/workflows/test-database.yaml
deleted file mode 100644
index 36d00cb..0000000
--- a/.github/workflows/test-database.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: Test Database
-
-on: [push]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
- strategy:
- matrix:
- python-version: [3.7]
-
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
- with:
- python-version: ${{ matrix.python-version }}
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- pip install flake8 mysql-connector mysql
- - name: Lint script with flake8
- run: |
- flake8 ./tests/dbTestFiller.py --count --select=E9,F63,F7,F82 --show-source --statistics
- # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
- flake8 ./tests/dbTestFiller.py --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- - name: Run Database-Filler script
- run: cd tests && python dbTestFiller.py
diff --git a/tests/backendTest.py b/tests/backendTest.py
index d172033..0965e0a 100644
--- a/tests/backendTest.py
+++ b/tests/backendTest.py
@@ -1,6 +1,15 @@
import mysql.connector as con
-mycon = con.connect(host="navanspi.duckdns.org",user="curieweb",password="curie-web-russian-54",port=3306,database="curie")
+import configparser
+config = configparser.ConfigParser()
+config.read('config.ini')
+
+try:
+ config['DATABASE']
+except KeyError:
+ config.read("../config.ini")
+
+mycon = con.connect(host=config['DATABASE']['HOST'],user=config['DATABASE']['USER'],password=config['DATABASE']['PASSWORD'],port=config['DATABASE']['PORT'],database=config['DATABASE']['NAME'])
mycursor = mycon.cursor()
# If we are running the CI on an actual server, try using the 6LU7 Mpro and Geraniin Job ID because Eucalyptol fails
@@ -16,7 +25,7 @@ def email(compressedFile):
from email.mime.base import MIMEBase
from email import encoders
- fromaddr = "navanchauhan@gmail.com"
+ fromaddr = config['SMTP']['EMAIL']
toaddr = toEmail
msg = MIMEMultipart()
@@ -34,9 +43,9 @@ def email(compressedFile):
p.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(p)
- s = smtplib.SMTP('smtp.gmail.com', 587)
+ s = smtplib.SMTP(config['SMTP']['SERVER'], config['SMTP']['PORT'])
s.starttls()
- s.login(fromaddr, 'okrs shoc ahtk idui')
+ s.login(fromaddr, config['SMTP']['PASSWORD'])
text = msg.as_string()
diff --git a/tests/dbTestFiller.py b/tests/dbTestFiller.py
index e56ea5c..02d51de 100644
--- a/tests/dbTestFiller.py
+++ b/tests/dbTestFiller.py
@@ -1,30 +1,14 @@
import mysql.connector as con
-
-debug = False
-host = "navanspi.duckdns.org"
-done = 1
-
-if debug:
- host = "192.168.1.6"
- done = 0
-
-mycon = con.connect(host=host,user="curieweb",password="curie-web-russian-54",port=3306,database="curie")
-mycursor = mycon.cursor()
-
+import configparser
+config = configparser.ConfigParser()
+config.read('config.ini')
try:
- mycursor.execute("create table curieweb ( id varchar(16) primary key, email nvarchar(255) NOT NULL, protein LONGBLOB NOT NULL, protein_name VARCHAR(255), ligand_pdbqt LONGBLOB, ligand_smile VARCHAR(255), ligand_name VARCHAR(255), config LONGBLOB NOT NULL, date DATE, description VARCHAR(255), done TINYINT DEFAULT 0)")
-except con.ProgrammingError:
- print("Table Already Exists!")
-
-from random import choice, shuffle
-from string import digits, ascii_lowercase
-
-def gen_word(N, min_N_dig, min_N_low):
- choose_from = [digits]*min_N_dig + [ascii_lowercase]*min_N_low
- choose_from.extend([digits + ascii_lowercase] * (N-min_N_low-min_N_dig))
- chars = [choice(bet) for bet in choose_from]
- shuffle(chars)
- return ''.join(chars)
+ config['DATABASE']
+except KeyError:
+ config.read("../config.ini")
+mycon = con.connect(host=config['DATABASE']['HOST'],user=config['DATABASE']['USER'],password=config['DATABASE']['PASSWORD'],port=config['DATABASE']['PORT'],database=config['DATABASE']['NAME'])
+mycursor = mycon.cursor()
+done = 1
def convertToBinaryData(filename):
with open(filename, 'rb') as file:
@@ -36,27 +20,12 @@ receptor = convertToBinaryData("./files/6LU7.pdbqt")
config = convertToBinaryData("./files/6LU7.txt")
ligandName = "Eucalyptol"
receptorName = "6LU7"
-
sqlQuery = "insert into curieweb (id, email, protein, protein_name, ligand_pdbqt, ligand_name,date, config,done) values (%s,%s,%s,%s,%s,%s,CURDATE(),%s,%s) "
-
-jobID = gen_word(16, 1, 1)
-print("Succesfuly submitted Job ID:",jobID)
+jobID = "l9xo2isr98oepcia"
insert_tuple = (jobID,"b5bmf.{curie-gh-ci}@inbox.testmail.app",receptor,receptorName,ligand,ligandName,config,done)
+mycursor.execute(sqlQuery,insert_tuple)
+print("Succesfuly submitted Job ID:",jobID)
-try:
- mycursor.execute(sqlQuery,insert_tuple)
-except con.IntegrityError:
- print("Oops, Collision occured. Generating new Job ID and trying again.")
- jobID = gen_word(16, 1, 1)
- insert_tuple = (jobID,"b5bmf.{curie-gh-ci}@inbox.testmail.app",receptor,receptorName,ligand,ligandName,config,done)
- mycursor.execute(sqlQuery,insert_tuple)
-
-print("Removing Test Query")
-
-q = 'delete from curieweb where id="%s"' % (jobID)
-mycursor.execute(q)
mycon.commit()
-
-print("Database working perfectly")
diff --git a/tests/removeSample.py b/tests/removeSample.py
new file mode 100644
index 0000000..d054f60
--- /dev/null
+++ b/tests/removeSample.py
@@ -0,0 +1,20 @@
+import mysql.connector as con
+import configparser
+config = configparser.ConfigParser()
+config.read('config.ini')
+
+try:
+ config['DATABASE']
+except KeyError:
+ config.read("../config.ini")
+
+mycon = con.connect(host=config['DATABASE']['HOST'],user=config['DATABASE']['USER'],password=config['DATABASE']['PASSWORD'],port=config['DATABASE']['PORT'],database=config['DATABASE']['NAME'])
+mycursor = mycon.cursor()
+
+print("Removing Test Query")
+jobID = "l9xo2isr98oepcia"
+q = 'delete from curieweb where id="%s"' % (jobID)
+mycursor.execute(q)
+mycon.commit()
+
+print("Database working perfectly") \ No newline at end of file