import corrlib.find as find import sqlite3 from pathlib import Path import corrlib.initialization as cinit import pytest def make_sql(path: Path) -> Path: db = path / "test.db" cinit._create_db(db) return db def test_find_lookup_by_one_alias(tmp_path: Path) -> None: db = make_sql(tmp_path) conn = sqlite3.connect(db) c = conn.cursor() uuid = "test_uuid" alias_str = "fun_project" tag_str = "tt" owner = "tester" code = "test_code" c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))", (uuid, alias_str, tag_str, owner, code)) conn.commit() assert uuid == find._project_lookup_by_alias(db, "fun_project") uuid = "test_uuid2" alias_str = "fun_project" c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))", (uuid, alias_str, tag_str, owner, code)) conn.commit() with pytest.raises(Exception): assert uuid == find._project_lookup_by_alias(db, "fun_project") conn.close() def test_find_lookup_by_id(tmp_path: Path) -> None: db = make_sql(tmp_path) conn = sqlite3.connect(db) c = conn.cursor() uuid = "test_uuid" alias_str = "fun_project" tag_str = "tt" owner = "tester" code = "test_code" c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))", (uuid, alias_str, tag_str, owner, code)) conn.commit() conn.close() result = find._project_lookup_by_id(db, uuid)[0] assert uuid == result[0] assert alias_str == result[1] assert tag_str == result[2] assert owner == result[3] assert code == result[4]