Olli Graf
2 years ago
5 changed files with 123 additions and 6 deletions
@ -1,3 +1,2 @@ |
|||||
./__pycache__ |
./__pycache__ |
||||
*.log |
|
||||
./network/__pycache__/* |
./network/__pycache__/* |
||||
|
@ -0,0 +1,53 @@ |
|||||
|
import mysql.connector |
||||
|
import logging |
||||
|
|
||||
|
logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) |
||||
|
class DBConnection(): |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.dbconnection = None |
||||
|
|
||||
|
def connect(self, host, user, password, database): |
||||
|
|
||||
|
self.connection= mysql.connector.connect(host=host, user=user,password=password,database=database) |
||||
|
logging.debug(f'Datenbankverbindung aufgebaut ${self.connection}') |
||||
|
logging.debug(f'Cursor gesetzt ${self.cursor}') |
||||
|
|
||||
|
def disconnect(self): |
||||
|
if self.connection is not None: |
||||
|
self.connection.close() |
||||
|
|
||||
|
|
||||
|
def isConnected(self): |
||||
|
# logging.debug(f'connection={self.connection}') |
||||
|
# logging.debug(f'connected= {self.connection.is_connected()}') |
||||
|
if self.connection is not None: |
||||
|
return self.connection.is_connected() |
||||
|
return False |
||||
|
|
||||
|
def cursor(self): |
||||
|
if self.isConnected(): |
||||
|
return self.connection.cursor() |
||||
|
return None |
||||
|
|
||||
|
def insert(self,cmd): |
||||
|
pass |
||||
|
|
||||
|
def fetch(self): |
||||
|
pass |
||||
|
|
||||
|
def create_table(self): |
||||
|
pass |
||||
|
|
||||
|
def execute_query(self, query, params = None): |
||||
|
if self.isConnected(): |
||||
|
cursor = self.cursor() |
||||
|
if cursor is not None: |
||||
|
cursor.execute(query,params) |
||||
|
return cursor.fetchall() |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -1,10 +1,9 @@ |
|||||
import mysql.connector |
from DBConnection import DBConnection |
||||
import logging |
import logging |
||||
|
|
||||
logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) |
logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) |
||||
|
db_connection = DBConnection() |
||||
|
|
||||
mydb = mysql.connector.connect(host='database', user='ploeger',password='SW_Ep.6:ROTJ',database='weather') |
db_connection.connect('database','piuser','SW_Ep.6:ROTJ','pidb') |
||||
logging.debug(f'Datenbankverbindung aufgebaut ${mydb}') |
logging.debug(f'Datenbankverbindung aufgebaut ${db_connection.isConnected()}') |
||||
mycursor = mydb.cursor() |
|
||||
logging.debug(f'Cursor gesetzt ${mycursor}') |
|
||||
|
|
||||
|
@ -0,0 +1,65 @@ |
|||||
|
import unittest |
||||
|
from DBConnection import DBConnection |
||||
|
import logging |
||||
|
|
||||
|
logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) |
||||
|
|
||||
|
class TestDBConnection(unittest.TestCase): |
||||
|
|
||||
|
@classmethod |
||||
|
def setUpClass(cls): |
||||
|
logging.debug(f'setUpClass() {cls}') |
||||
|
|
||||
|
cls.db_connection = DBConnection() |
||||
|
cls.db_connection.connect('database','piuser','SW_Ep.6:ROTJ','pidb') |
||||
|
logging.debug('erzeuge Table fib...') |
||||
|
cls.db_connection.execute_query('create table if not exists fib (id int auto_increment primary key, wert int)') |
||||
|
cls.db_connection.execute_query('create table if not exists schueler (id int auto_increment primary key, vorname varchar(20),name varchar(20))') |
||||
|
logging.debug('setup() fertig') |
||||
|
|
||||
|
@classmethod |
||||
|
def tearDownClass(cls): |
||||
|
logging.debug(f'tearDownClass() {cls}') |
||||
|
|
||||
|
logging.debug('Räume Tables auf') |
||||
|
cls.db_connection.execute_query('drop table if exists fib') |
||||
|
cls.db_connection.execute_query('drop table if exists schueler') |
||||
|
logging.debug('schliesse Datenbankverbindung.') |
||||
|
cls.db_connection.disconnect() |
||||
|
cls.db_connection = None |
||||
|
|
||||
|
|
||||
|
def test_insert(self): |
||||
|
logging.debug(f'connected= {self.db_connection.isConnected()}') |
||||
|
self.assertTrue(self.db_connection.isConnected()) |
||||
|
self.db_connection.execute_query("insert into schueler (name,vorname) values('Simpson','Bart')") |
||||
|
self.db_connection.execute_query("insert into schueler (name,vorname) values('Simpson','Lisa')") |
||||
|
self.db_connection.execute_query("insert into schueler (name,vorname) values('van Houten','Milhouse')") |
||||
|
self.db_connection.execute_query("insert into schueler (name,vorname) values('Wiggum','Ralph')") |
||||
|
# input('Press Any Key') |
||||
|
|
||||
|
def test_select(self): |
||||
|
# self.test_insert() |
||||
|
self.assertTrue(self.db_connection.isConnected()) |
||||
|
result = self.db_connection.execute_query("select * from schueler where name='Simpson'") |
||||
|
self.assertEqual(2,len(result)) |
||||
|
result = self.db_connection.execute_query("select * from schueler") |
||||
|
self.assertEqual(4,len(result)) |
||||
|
|
||||
|
def test_connected(self): |
||||
|
self.assertTrue(self.db_connection.isConnected()) |
||||
|
|
||||
|
def test_disconnect(self): |
||||
|
self.db_connection.disconnect() |
||||
|
self.assertFalse(self.db_connection.isConnected()) |
||||
|
|
||||
|
def test_create_table(self): |
||||
|
self.assertTrue(self.db_connection.isConnected()) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
if __name__ =='__main__': |
||||
|
unittest.main() |
||||
|
|
Loading…
Reference in new issue