Foreign Keys
This commit is contained in:
10
init.py
10
init.py
@ -2,6 +2,7 @@ from flask import Flask
|
|||||||
from flask_login import LoginManager, UserMixin
|
from flask_login import LoginManager, UserMixin
|
||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
from flask_talisman import Talisman
|
from flask_talisman import Talisman
|
||||||
|
from sqlalchemy import ForeignKey
|
||||||
|
|
||||||
from get_mysql import get_mysql
|
from get_mysql import get_mysql
|
||||||
import atexit
|
import atexit
|
||||||
@ -43,7 +44,8 @@ class User(UserMixin, db.Model):
|
|||||||
"""
|
"""
|
||||||
Datenbank-Modell für User.
|
Datenbank-Modell für User.
|
||||||
"""
|
"""
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
__tablename__ = 'user'
|
||||||
|
id = db.Column(db.Integer, ForeignKey('dualis.uid', ondelete='CASCADE'), primary_key=True)
|
||||||
email = db.Column(db.String(255), unique=True)
|
email = db.Column(db.String(255), unique=True)
|
||||||
name = db.Column(db.String(255))
|
name = db.Column(db.String(255))
|
||||||
kurs = db.Column(db.String(15))
|
kurs = db.Column(db.String(15))
|
||||||
@ -53,6 +55,7 @@ class Dualis(db.Model):
|
|||||||
"""
|
"""
|
||||||
Datenbank-Modell für Dualis.
|
Datenbank-Modell für Dualis.
|
||||||
"""
|
"""
|
||||||
|
__tablename__ = 'dualis'
|
||||||
token = db.Column(db.String(255), unique=True)
|
token = db.Column(db.String(255), unique=True)
|
||||||
uid = db.Column(db.Integer, primary_key=True)
|
uid = db.Column(db.Integer, primary_key=True)
|
||||||
token_created = db.Column(db.Integer)
|
token_created = db.Column(db.Integer)
|
||||||
@ -63,7 +66,8 @@ class Semesterlist(db.Model):
|
|||||||
"""
|
"""
|
||||||
Datenbank-Modell für Semester-Liste.
|
Datenbank-Modell für Semester-Liste.
|
||||||
"""
|
"""
|
||||||
uid = db.Column(db.Integer)
|
__tablename__ = 'semesterlist'
|
||||||
|
uid = db.Column(db.Integer, ForeignKey('dualis.uid', ondelete='CASCADE'))
|
||||||
semestername = db.Column(db.String(25))
|
semestername = db.Column(db.String(25))
|
||||||
semesterid = db.Column(db.String(15))
|
semesterid = db.Column(db.String(15))
|
||||||
itemid = db.Column(db.Integer, primary_key=True)
|
itemid = db.Column(db.Integer, primary_key=True)
|
||||||
@ -73,6 +77,7 @@ class Rapla(db.Model):
|
|||||||
"""
|
"""
|
||||||
Datenbank-Modell für Rapla.
|
Datenbank-Modell für Rapla.
|
||||||
"""
|
"""
|
||||||
|
__tablename__ = 'rapla'
|
||||||
name = db.Column(db.String(15), primary_key=True)
|
name = db.Column(db.String(15), primary_key=True)
|
||||||
file = db.Column(db.String(20), unique=True)
|
file = db.Column(db.String(20), unique=True)
|
||||||
link = db.Column(db.String(255), unique=True)
|
link = db.Column(db.String(255), unique=True)
|
||||||
@ -82,6 +87,7 @@ class Meals(db.Model):
|
|||||||
"""
|
"""
|
||||||
Datenbank-Modell für Meals.
|
Datenbank-Modell für Meals.
|
||||||
"""
|
"""
|
||||||
|
__tablename__ = 'meals'
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
date = db.Column(db.Date)
|
date = db.Column(db.Date)
|
||||||
name = db.Column(db.String(200))
|
name = db.Column(db.String(200))
|
||||||
|
|||||||
0
tests_examples/calendars/.init
Normal file
0
tests_examples/calendars/.init
Normal file
@ -12,15 +12,9 @@ def app():
|
|||||||
app.config.update({
|
app.config.update({
|
||||||
"TESTING": True,
|
"TESTING": True,
|
||||||
})
|
})
|
||||||
|
|
||||||
routing.init_routes(app)
|
routing.init_routes(app)
|
||||||
|
|
||||||
# other setup can go here
|
|
||||||
|
|
||||||
yield app
|
yield app
|
||||||
|
|
||||||
# clean up / reset resources here
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def client(app):
|
def client(app):
|
||||||
@ -42,7 +36,7 @@ def login(client):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def tesst_login(client):
|
def test_login(client):
|
||||||
loginpage = client.get("/log-in", follow_redirects=True)
|
loginpage = client.get("/log-in", follow_redirects=True)
|
||||||
assert b"Einloggen" in loginpage.data
|
assert b"Einloggen" in loginpage.data
|
||||||
assert loginpage.status_code == 200
|
assert loginpage.status_code == 200
|
||||||
@ -56,7 +50,7 @@ def tesst_login(client):
|
|||||||
assert len(cookie.value) == 32 # CNSC-Länge: 32 → Wenn der Cookie so lang ist, ist man erfolgreich eingeloggt.
|
assert len(cookie.value) == 32 # CNSC-Länge: 32 → Wenn der Cookie so lang ist, ist man erfolgreich eingeloggt.
|
||||||
|
|
||||||
|
|
||||||
def tesst_kurssetup(client):
|
def test_kurssetup(client):
|
||||||
if login(client):
|
if login(client):
|
||||||
kurspage = client.get("/set-up", follow_redirects=True)
|
kurspage = client.get("/set-up", follow_redirects=True)
|
||||||
assert kurspage.status_code == 200
|
assert kurspage.status_code == 200
|
||||||
@ -75,7 +69,7 @@ def tesst_kurssetup(client):
|
|||||||
assert False
|
assert False
|
||||||
|
|
||||||
|
|
||||||
def tesst_semestersetup(client):
|
def test_semestersetup(client):
|
||||||
if login(client):
|
if login(client):
|
||||||
semesterpage = client.get("/set-up/semester", follow_redirects=True)
|
semesterpage = client.get("/set-up/semester", follow_redirects=True)
|
||||||
assert semesterpage.status_code == 200
|
assert semesterpage.status_code == 200
|
||||||
@ -115,7 +109,7 @@ def test_noten(client):
|
|||||||
assert False
|
assert False
|
||||||
|
|
||||||
|
|
||||||
def tesst_logout(client):
|
def test_logout(client):
|
||||||
if login(client):
|
if login(client):
|
||||||
loginpage = client.get("/log-out", follow_redirects=True)
|
loginpage = client.get("/log-out", follow_redirects=True)
|
||||||
assert loginpage.status_code == 200
|
assert loginpage.status_code == 200
|
||||||
|
|||||||
Reference in New Issue
Block a user