Esempio n. 1
0
def handler_seed_mouse(postgresql):
    for [eartag, birthdate, genotype, sex, _, _, _, _] in seed_mouse:
        genotype = utils.encode_genotype(genotype)
        sex = utils.prep_string_for_db(sex)
        with TestingCursor(postgresql) as cursor:
            database.seed_tables.seed_tables.seed_mouse_table(
                cursor, eartag, birthdate, genotype, sex)
Esempio n. 2
0
 def test_add_new_experiment(self):
     test_exp = Experiment(self.seed_exp[0], self.seed_exp[1]).save_to_db(
         testing=True, postgresql=self.postgresql)
     self.assertEqual(util.prep_string_for_db(self.seed_exp[0]),
                      test_exp.experiment_name)
     self.assertEqual(self.seed_exp[1], test_exp.experiment_dir)
     self.assertFalse(test_exp.experiment_id is None)
 def setUp(self):
     self.postgresql = Postgresql()
     database.handlers.handlers.handler_seed_sessions_table(self.postgresql)
     [eartag, _, _, _, _, experiment_name, _, _] = test_mouse_table_seed.pop()
     self.mouse = Mouse.from_db(eartag, testing=True, postgresql=self.postgresql)
     self.experiment = Experiment.from_db(experiment_name, testing=True, postgresql=self.postgresql)
     possible_sessions = test_session_table_seed[eartag, utils.prep_string_for_db(experiment_name)]
     self.session_date, self.session_dir = possible_sessions.pop()
Esempio n. 4
0
 def test_from_db(self):
     load_exp = Experiment.from_db(self.seed_tup[0],
                                   testing=True,
                                   postgresql=self.postgresql)
     self.assertEqual(util.prep_string_for_db(self.seed_tup[0]),
                      load_exp.experiment_name)
     self.assertEqual(self.seed_tup[1], load_exp.experiment_dir)
     self.assertFalse(load_exp.experiment_name is None)
Esempio n. 5
0
 def from_db(cls, experiment_name, testing=False, postgresql=None):
     experiment_name = utils.prep_string_for_db(experiment_name)
     if testing:
         with TestingCursor(postgresql) as cursor:
             return cls.__from_db(cursor, experiment_name)
     else:
         with Cursor() as cursor:
             return cls.__from_db(cursor, experiment_name)
Esempio n. 6
0
def seed_mouse_table(a_cursor):
    for mouse in test_mouse_table_seed:
        genotype = util.encode_genotype(mouse[2])
        sex = util.prep_string_for_db(mouse[3])

        a_cursor.execute("INSERT INTO mouse"
                         "    (eartag, birthdate, genotype, sex) "
                         "VALUES"
                         "    (%s, %s, %s, %s);", (mouse[0], mouse[1], genotype, sex))
Esempio n. 7
0
 def test_delete_experiment(self):
     experiment_to_delete = Experiment.from_db(self.seed_tup[0],
                                               testing=True,
                                               postgresql=self.postgresql)
     experiment_to_delete.delete_from_db(testing=True,
                                         postgresql=self.postgresql)
     with TestingCursor(self.postgresql) as cursor:
         all_experiments = list_all_experiments(cursor)
         self.assertFalse(
             util.prep_string_for_db(self.seed_tup[0]) in all_experiments)
Esempio n. 8
0
 def test_update_existing_experiment(self):
     new_name = "New Experiment Name"
     load_exp = Experiment.from_db(self.seed_tup[0],
                                   testing=True,
                                   postgresql=self.postgresql)
     update_exp = load_exp
     update_exp.experiment_name = new_name
     saved_exp = update_exp.save_to_db(testing=True,
                                       postgresql=self.postgresql)
     self.assertEqual(util.prep_string_for_db(new_name),
                      saved_exp.experiment_name)
     self.assertTrue(load_exp.experiment_id == saved_exp.experiment_id)
     self.assertTrue(load_exp.experiment_dir == saved_exp.experiment_dir)
Esempio n. 9
0
    def get_id(cls, experiment_name, testing=False, postgresql=None):

        experiment_name = utils.prep_string_for_db(experiment_name)

        def main(a_cursor, exp_name):
            a_cursor.execute(
                "SELECT experiment_id FROM experiments WHERE experiment_name = %s;",
                (exp_name, ))
            exp_id = cursor.fetchall()
            if exp_id is None:
                print(f"No experiment in the database with name {exp_name}")
                return None
            return utils.list_from_cursor(exp_id)

        if testing:
            with TestingCursor(postgresql) as cursor:
                return main(cursor, experiment_name)
        else:
            with Cursor() as cursor:
                return main(cursor, experiment_name)
Esempio n. 10
0
def handler_seed_experiments(postgresql):
    prepped_exp_one = (utils.prep_string_for_db(exp_one[0]), exp_one[1])
    prepped_exp_two = (utils.prep_string_for_db(exp_two[0]), exp_two[1])
    with TestingCursor(postgresql) as cursor:
        database.seed_tables.seed_tables.seed_experiments_table(
            cursor, prepped_exp_one, prepped_exp_two)
 def test_slash_skilledreaching(self):
     strings_to_test = ["skilled/reaching", "Skilled/Reaching", "Skilled/reaching", "skilled/Reaching"]
     for string in strings_to_test:
         self.assertEqual("skilled-reaching", utilities.prep_string_for_db(string))
 def test_underscore_skilledreaching(self):
     strings_to_test = ["skilled_reaching", "Skilled_Reaching", "Skilled_reaching", "skilled_Reaching"]
     for string in strings_to_test:
         self.assertEqual("skilled-reaching", utilities.prep_string_for_db(string))
Esempio n. 13
0
 def __init__(self, experiment_name, experiment_dir, experiment_id=None):
     self.experiment_name = utils.prep_string_for_db(experiment_name)
     self.experiment_dir = experiment_dir
     self.experiment_id = experiment_id
Esempio n. 14
0
def seed_experiments_table(a_cursor):
    prepped_exp_one = (util.prep_string_for_db(exp_one[0]), exp_one[1])
    prepped_exp_two = (util.prep_string_for_db(exp_two[0]), exp_two[1])
    a_cursor.execute("INSERT INTO experiments (experiment_name, experiment_dir) VALUES (%s, %s);", prepped_exp_one)
    a_cursor.execute("INSERT INTO experiments (experiment_name, experiment_dir) VALUES (%s, %s);", prepped_exp_two)