Skip to content
Snippets Groups Projects

WIP: #57 Én databaseinstans og testmodus for database

Closed Anders H. Rebner requested to merge database-test-modus into master
2 unresolved threads

Databasen har testmode=False som parameter i sin __init__.

Dersom parameteren er True vil det lages en database-fil med navnet testDatabase.

test_database.py initialiserer db i testmodus og sletter testDatabase-filen når testene er ferdig.

Det som er litt dumt er at soitool.*.py-filer som selv lager database vil bruke original database under testing (ikke test-database). For å fikse det må vi isåfall ha en testmode-parameter i alle slike funksjoner. Det er per nå bare codebook_to_pdf.py som bruker original database under testing.

Edited by Anders H. Rebner

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
38 40 If db is created, tables are created and filled.
39 41
40 42 Holds a QTimer that requests an update of CodeBook on every timeout.
43
44 Database can be run in testmode, this will create a seperate database-file.
41 45 """
42 46
43 def __init__(self):
47 def __init__(self, testmode=False):
    • Du nevnte noe om at codebook_to_pdf.py ikke bruker testdatabasen på Discord. Hvorfor ikke? Vil det ikke fungere om en sender med test_mode=True til databaseklassen på denne linjen: https://gitlab.stud.idi.ntnu.no/bachelor-paa-bittet/soitool/-/blob/657a3233d50e7ac26229a120c0e23c94d0b09924/soitool/codebook_to_pdf.py#L148 ?

    • Du har rett i at det vil fungere.

      Den skal kalle Database() til vanlig, og evt. Database(test_mode=True) ved tester, men den vet ikke om den kjøres fra en test eller ikke. For at den skal vite det, så må selve funksjonen get_codebook_data ha en parameter test_mode, og det hadde vel vært litt merkelig, eller?

      Edited by Anders H. Rebner
    • Og nå som vi har byttet fra test_mode til db_path som Database-parameter, må codebook_to_pdf i tillegg konstruere samme path til test-databasen som test_database.pygjør.

    • Hva med at funksjonene for å lage en kodebok PDF heller tar en ferdig Database instans? Flytter også litt ansvar ut av funksjonene, da de ikke trenger å tenke på å lage et databaseobjekt. For meg er det ryddig at disse funksjonene ikke trenger å lage et databaseobjekt fra grunnen av, nettopp fordi da må instillinger som test/ikke-test dupliseres der og.

      Gir mening om en tenker på input og output av funksjonene syns jeg, som bruker forventer jeg at

      database ->        |
      sidestørrelse ->   |-> lag kodebok pdf -> .PDF
      orientation ->     |
      small/large ->     |

      Heller enn at jeg ikke får lov til å kontrollere hvilke database PDF-en blir laget fra.

      Edited by Thomas Holene Løkkeborg
    • Please register or sign in to reply
  • added 1 commit

    • 37101eaf - #57 Database tar imot db_path

    Compare with previous version

  • Anders H. Rebner marked as a Work In Progress

    marked as a Work In Progress

  • Anders H. Rebner changed title from #57 Enkel testmodus for database to WIP: #57 Én databaseinstans og testmodus for database

    changed title from #57 Enkel testmodus for database to WIP: #57 Én databaseinstans og testmodus for database

  • added 1 commit

    • 286ee097 - #57 Samme database-instans brukes overalt

    Compare with previous version

  • Please register or sign in to reply
    Loading