Ejemplo n.º 1
0
    def test_fetch_all_from_table(self):
        """Method fetches all entries from the specified table."""
        # The table does not exist in the database.
        table_name_dne = 'TableDoesNotExist'
        self.assertFalse(ds._table_exists(self.conn, table_name_dne))
        # Method returns empty list because table does not exist.
        db_entries = ds._fetch_all_from_table(self.conn, table_name_dne)
        expected_entries = []
        self.assertEqual(expected_entries, db_entries)

        # The table exists in the database, but no entries exist.
        table_name = 'TableExists'
        table_desc = '(Id TEXT)'
        ds._create_table(self.conn, table_name, table_desc)
        self.assertTrue(ds._table_exists(self.conn, table_name))
        # Method returns empty list because no entries exist.
        db_entries = ds._fetch_all_from_table(self.conn, table_name)
        expected_entries = []
        self.assertEqual(expected_entries, db_entries)

        # The table contains one entry.
        table_entry_1 = ('1',)
        ds._store_entry_in_table(self.conn, table_name, table_entry_1)
        # Method returns list containing the one entry.
        db_entries = ds._fetch_all_from_table(self.conn, table_name)
        expected_entries = [table_entry_1]
        self.assertEqual(expected_entries, db_entries)

        # The table contains multiple (two) entries.
        table_entry_2 = ('2',)
        ds._store_entry_in_table(self.conn, table_name, table_entry_2)
        # Method returns list containing the entries.
        db_entries = ds._fetch_all_from_table(self.conn, table_name)
        # Note: order not specified, so we test for set equality.
        expected_entries = [table_entry_1, table_entry_2]
        self.assertEqual(set(expected_entries), set(db_entries))
Ejemplo n.º 2
0
    def test_store_entry_in_table(self):
        """Method stores new entry in the specified table."""
        # This entry should be stored in the table.
        table_entry = ('1',)

        # The table does not exist in the database.
        table_name_dne = 'TableDoesNotExist'
        self.assertFalse(ds._table_exists(self.conn, table_name_dne))
        # Method raises exception because table does not exist.
        with self.assertRaises(Exception):
            ds._store_entry_in_table(self.conn, table_name_dne, table_entry)

        # The table exists.
        table_name = 'TableExists'
        table_desc = '(Id TEXT)'
        ds._create_table(self.conn, table_name, table_desc)
        self.assertTrue(ds._table_exists(self.conn, table_name))
        # Call method under test.
        ds._store_entry_in_table(self.conn, table_name, table_entry)
        # The entry has been stored in the database.
        db_entries = ds._fetch_all_from_table(self.conn, table_name)
        expected_entries = [table_entry]
        self.assertEqual(expected_entries, db_entries)