def test_time_exp_mixd_case_col_1y(self): """ DB Eng Specs (postgres): Test grain expr mixed case 1 YEAR """ col = column("MixedCase") expr = PostgresEngineSpec.get_timestamp_expr(col, None, "P1Y") result = str(expr.compile(None, dialect=postgresql.dialect())) self.assertEqual(result, "DATE_TRUNC('year', \"MixedCase\")")
def test_time_exp_literal_1y_grain(self): """ DB Eng Specs (postgres): Test grain literal column 1 YEAR """ col = literal_column("COALESCE(a, b)") expr = PostgresEngineSpec.get_timestamp_expr(col, None, "P1Y") result = str(expr.compile(None, dialect=postgresql.dialect())) self.assertEqual(result, "DATE_TRUNC('year', COALESCE(a, b))")
def test_time_ex_lowr_col_no_grain(self): """ DB Eng Specs (postgres): Test no grain expr lower case """ col = column("lower_case") expr = PostgresEngineSpec.get_timestamp_expr(col, None, None) result = str(expr.compile(None, dialect=postgresql.dialect())) self.assertEqual(result, "lower_case")
def test_pg_time_expression_lower_case_column_sec_1y_grain(self): col = column("lower_case") expr = PostgresEngineSpec.get_timestamp_expr(col, "epoch_s", "P1Y") result = str(expr.compile(dialect=postgresql.dialect())) self.assertEqual( result, "DATE_TRUNC('year', (timestamp 'epoch' + lower_case * interval '1 second'))", # noqa ignore: E50 )
def test_time_exp_literal_no_grain(self): """ DB Eng Specs (postgres): Test no grain literal column """ col = literal_column("COALESCE(a, b)") expr = PostgresEngineSpec.get_timestamp_expr(col, None, None) result = str(expr.compile(None, dialect=postgresql.dialect())) self.assertEqual(result, "COALESCE(a, b)")
def test_time_exp_lowr_col_sec_1y(self): col = column("lower_case") expr = PostgresEngineSpec.get_timestamp_expr(col, "epoch_s", "P1Y") result = str(expr.compile(None, dialect=postgresql.dialect())) self.assertEqual( result, "DATE_TRUNC('year', " "(timestamp 'epoch' + lower_case * interval '1 second'))", )
def test_pg_time_expression_mixed_case_column_1y_grain(self): col = column("MixedCase") expr = PostgresEngineSpec.get_timestamp_expr(col, None, "P1Y") result = str(expr.compile(dialect=postgresql.dialect())) self.assertEqual(result, "DATE_TRUNC('year', \"MixedCase\")")
def test_pg_time_expression_lower_column_no_grain(self): col = column("lower_case") expr = PostgresEngineSpec.get_timestamp_expr(col, None, None) result = str(expr.compile(dialect=postgresql.dialect())) self.assertEqual(result, "lower_case")
def test_pg_time_expression_literal_1y_grain(self): col = literal_column("COALESCE(a, b)") expr = PostgresEngineSpec.get_timestamp_expr(col, None, "P1Y") result = str(expr.compile(dialect=postgresql.dialect())) self.assertEqual(result, "DATE_TRUNC('year', COALESCE(a, b))")
def test_pg_time_expression_literal_no_grain(self): col = literal_column('COALESCE(a, b)') expr = PostgresEngineSpec.get_timestamp_expr(col, None, None) result = str(expr.compile(dialect=postgresql.dialect())) self.assertEqual(result, 'COALESCE(a, b)')