def test_add_network(self): """ Tests if the network file is added to the database. :return: """ conn_object = BiomConnection() conn_object.create_tables() conn_object.add_biom(testbiom, 'banana') conn_object = IoConnection() conn_object.add_network(g, 'banana', 'banana') conn = psycopg2.connect( **{ "host": "localhost", "database": "test", "user": "******", "password": "******" }) cur = conn.cursor() cur.execute("SELECT * from edges;") result = cur.fetchall() # 3 edges in g cur.close() conn.close() conn_object.delete_tables() self.assertEqual(len(result), 3)
def test_add_observations(self): """ Tests whether multiple rows are added to the counts table. :return: """ conn_object = BiomConnection() conn_object.create_tables() conn_object.add_summary(values=('banana', 1, 2)) conn_object.add_sample(values=('Sample1', 'banana')) conn_object.add_taxon(values=[('Listeria', 'banana', 'Bacteria', 'Firmicutes', 'Bacilli', 'Bacillales', 'Listeriaceae', 'Listeria', 'monocytogenes'), ('Listeria2', 'banana', 'Bacteria', 'Firmicutes', 'Bacilli', 'Bacillales', 'Listeriaceae', 'Listeria', 'monocytogenes')]) conn_object.add_observation( values=[('banana', 'Listeria', 'Sample1', 0.5), ('banana', 'Listeria2', 'Sample1', 0.75)]) conn = psycopg2.connect( **{ "host": "localhost", "database": "test", "user": "******", "password": "******" }) cur = conn.cursor() cur.execute("SELECT count from counts;") result = cur.fetchall() self.assertEqual(len(result), 2) cur.close() conn.close() conn_object.delete_tables()
def test_observation_error(self): """ Tests if the query correctly reports an error when a taxon is not present in the taxonomy table. :return: """ conn_object = BiomConnection() conn_object.create_tables() conn_object.add_summary(values=('banana', 1, 2)) conn_object.add_sample(values=('Sample1', 'banana')) conn_object.add_taxon(values=('Listeria', 'banana', 'Bacteria', 'Firmicutes', 'Bacilli', 'Bacillales', 'Listeriaceae', 'Listeria', 'monocytogenes')) self.assertRaises( psycopg2.Error, conn_object.add_observation(values=('banana', 'Streptococcus', 'Sample1', 0.5)), ) # long format table of 5 * 6 observations conn_object.delete_tables()
def test_add_meta(self): """ Tests whether a row is added to the meta table. :return: """ conn_object = BiomConnection() conn_object.create_tables() conn_object.add_summary(values=('banana', 1, 2)) conn_object.add_sample(values=('Sample1', 'banana')) conn_object.add_meta(values=('Sample1', 'banana', 'colour', 'yellow', None)) conn = psycopg2.connect( **{ "host": "localhost", "database": "test", "user": "******", "password": "******" }) cur = conn.cursor() cur.execute("SELECT property from meta;") result = cur.fetchall() # long format table of 5 * 6 observations self.assertEqual(result[0][0], 'colour') cur.close() conn.close() conn_object.delete_tables()