mirror of
https://github.com/iritmaximus/timetrials.git
synced 2026-10-12 19:13:48 +03:00
fix: implemented basic db test functions that interact with db
This commit is contained in:
+1
-15
@@ -1,22 +1,8 @@
|
||||
from flask import Flask
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from os import getenv
|
||||
import psycopg2
|
||||
|
||||
from flaskr.views import general
|
||||
from flaskr.views import forum
|
||||
from flaskr.views import users
|
||||
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
app.config["SQLALCHEMY_DATABASE_URI"] = str(getenv("POSTGRES_URL"))
|
||||
db = SQLAlchemy(app)
|
||||
|
||||
app.register_blueprint(general.mod)
|
||||
app.register_blueprint(forum.mod)
|
||||
app.register_blueprint(users.mod)
|
||||
import flaskr.views
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
from os import getenv
|
||||
from flaskr import app
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from random import randint
|
||||
|
||||
|
||||
app.config["SQLALCHEMY_DATABASE_URI"] = getenv("POSTGRES_URL")
|
||||
db = SQLAlchemy(app)
|
||||
|
||||
|
||||
def create_db():
|
||||
print("Initializing the db...")
|
||||
|
||||
sqllist = [
|
||||
"CREATE TABLE IF NOT EXISTS users (id int primary key, name varchar(80), password varchar(80));",
|
||||
"CREATE TABLE IF NOT EXISTS games (id int primary key, name varchar(80));",
|
||||
"CREATE TABLE IF NOT EXISTS courses (id int primary key, name varchar(80), game_id int references games(id));",
|
||||
"CREATE TABLE IF NOT EXISTS standards (id int primary key, name varchar(50), tier varchar(3), points numeric, game_id int references games(id), course_id int references courses(id));",
|
||||
"CREATE TABLE IF NOT EXISTS times (id int primary key, game_id int references games(id), course_id int references courses(id), timems varchar(80), date date);",
|
||||
]
|
||||
|
||||
with app.app_context():
|
||||
for sql in sqllist:
|
||||
db.session.execute(sql)
|
||||
db.session.commit()
|
||||
|
||||
print("Db initialization completed.")
|
||||
return "Success"
|
||||
|
||||
|
||||
def test_db():
|
||||
print("TESTING THE DB ***********************")
|
||||
|
||||
with app.app_context():
|
||||
|
||||
sql = "DROP TABLE IF EXISTS test;"
|
||||
db.session.execute(sql)
|
||||
db.session.commit()
|
||||
|
||||
sql = "CREATE TABLE IF NOT EXISTS test (id int primary key, greeting text);"
|
||||
db.session.execute(sql)
|
||||
db.session.commit()
|
||||
|
||||
sql = f"INSERT INTO test (id, greeting) VALUES ({randint(1,100)}, 'hello');"
|
||||
db.session.execute(sql)
|
||||
db.session.commit()
|
||||
|
||||
result = db.session.execute("SELECT * FROM test;").fetchall()
|
||||
print(result)
|
||||
|
||||
return "Working lol"
|
||||
@@ -1,25 +0,0 @@
|
||||
import flaskr
|
||||
|
||||
|
||||
def create_db():
|
||||
print("Initializing the db...")
|
||||
|
||||
|
||||
def test_db():
|
||||
print("TESTING THE DB ***********************")
|
||||
|
||||
with flaskr.app.app_context():
|
||||
|
||||
sql = "DROP TABLE IF EXISTS test"
|
||||
flaskr.db.session.execute(sql)
|
||||
|
||||
sql = "CREATE TABLE IF NOT EXISTS test (id int primary key, greeting text)"
|
||||
flaskr.db.session.execute(sql)
|
||||
|
||||
sql = "INSERT INTO test (id, greeting) VALUES (1, 'hello')"
|
||||
flaskr.db.session.execute(sql)
|
||||
|
||||
result = flaskr.db.session.execute("SELECT * FROM test").fetchall()
|
||||
print(result)
|
||||
|
||||
return "Working lol"
|
||||
@@ -0,0 +1,22 @@
|
||||
from flaskr import app
|
||||
from flaskr.database import db, test_db, create_db
|
||||
|
||||
|
||||
@app.route("/")
|
||||
def test_backend():
|
||||
return "This is the working backend"
|
||||
|
||||
|
||||
@app.route("/db")
|
||||
def test_db_route():
|
||||
return test_db()
|
||||
|
||||
|
||||
@app.route("/login")
|
||||
def login():
|
||||
return "Login to the site"
|
||||
|
||||
|
||||
@app.route("/init")
|
||||
def initialize_db():
|
||||
return create_db()
|
||||
@@ -1,13 +0,0 @@
|
||||
from flask import Blueprint
|
||||
|
||||
mod = Blueprint("forum", __name__)
|
||||
|
||||
|
||||
@mod.route("/forum")
|
||||
def show_forum():
|
||||
return "All of the forum things"
|
||||
|
||||
|
||||
@mod.route("/forum/add")
|
||||
def add_new_post():
|
||||
return "New member to the familytree"
|
||||
@@ -1,19 +0,0 @@
|
||||
from flask import Blueprint
|
||||
from flaskr import db
|
||||
|
||||
mod = Blueprint("general", __name__)
|
||||
|
||||
|
||||
@mod.route("/")
|
||||
def test_backend():
|
||||
return "This is the working backend"
|
||||
|
||||
|
||||
@mod.route("/db")
|
||||
def test_db_route():
|
||||
return db.test_db()
|
||||
|
||||
|
||||
@mod.route("/login")
|
||||
def login():
|
||||
return "Login to the site"
|
||||
@@ -1,13 +0,0 @@
|
||||
from flask import Blueprint
|
||||
|
||||
mod = Blueprint("users", __name__)
|
||||
|
||||
|
||||
@mod.route("/users/<id>")
|
||||
def user(_id):
|
||||
return "Account information"
|
||||
|
||||
|
||||
@mod.route("/users/create")
|
||||
def create_user():
|
||||
return "New user"
|
||||
Reference in New Issue
Block a user