Ejemplo n.º 1
0
class TestCrudFunctions(unittest.TestCase):
    """Make sure querying works properly"""
    def setUp(self):
        """Run Before Tests"""
        self.widget = PdConnection(cred_file='epltoolset/.connectcreds.creds',
                                   cred_set='TEST_SPOT').make_connection()
        self.widget.execute_sql(create_test_table_sql, keep_open=True)
        self.widget.execute_sql(insert_record1_sql, keep_open=True)
        self.widget.execute_sql(insert_record2_sql)

    def tearDown(self):
        """Run After Tests"""
        try:
            self.widget.execute_sql(drop_test_table_sql)
        except:
            pass
        self.widget = None

    def test_sql_to_dataframe(self):
        """Make sure sql statement can execute and make a dataframe"""
        df = self.widget.sql_to_dataframe(query_test_table_sql)
        self.assertIsNotNone(df)
        self.assertIsInstance(df, pd.DataFrame)
        row_count, col_count = df.shape
        self.assertEqual(row_count, 2)
        self.assertEqual(col_count, 4)

        columns = df.columns
        self.assertEqual(4, len(columns))

    def test_ddl_string_from_df(self):
        """Make sure a proper string can get generated"""
        df = self.widget.sql_to_dataframe(query_test_table_sql)
        sql = self.widget.ddl_string_from_df(df, 'epl_test')
        self.assertIsInstance(sql, str)
        self.assertEqual(sql, create_test_table_sql)

    def test_insert_bind_string_from_df(self):
        """make sure proper string created"""
        expected = 'INSERT INTO test (PERSONID, LASTNAME, FIRSTNAME, AGE) values (:1, :2, :3, :4)'
        df = self.widget.sql_to_dataframe(query_test_table_sql)
        actual = self.widget.insert_bind_string_from_df(df, 'test')

        self.assertEqual(expected, actual)

    def test_df_to_table(self):
        """make sure a dataframe can create a new tables"""
        df = self.widget.sql_to_dataframe(query_test_table_sql)
        self.widget.df_to_table(df, 'epl_test2')
        self.widget.execute_sql("DROP TABLE epl_test2")
Ejemplo n.º 2
0
class TestExecuteFunctions(unittest.TestCase):
    """Make sure arbitrary sql can run"""
    def setUp(self):
        """Run Before Tests"""
        self.widget = PdConnection(cred_file='epltoolset/.connectcreds.creds',
                                   cred_set='TEST_SPOT').make_connection()

    def tearDown(self):
        """Run After Tests"""
        self.widget = None

    def test_execute_sql(self):
        """Execute some Queries, if it returns then it worked"""
        returned = self.widget.execute_sql(create_test_table_sql)
        self.assertIsInstance(returned, PdConnection)

        returned = self.widget.execute_sql(drop_test_table_sql)
        self.assertIsInstance(returned, PdConnection)