def test_with_update_expr(self): sql, bind_vars = sql_builder.update_columns_query( table_name='my_table', where_column_value_pairs=[('col_a', 1), ('col_b', 2)], update_column_value_pairs=[('col_c', sql_builder.Increment(5))]) self.assertEqual( sql, 'UPDATE my_table SET col_c = (col_c + %(update_col_c_amount)s) ' 'WHERE col_a = %(col_a_1)s AND col_b = %(col_b_2)s') self.assertEqual(bind_vars, dict(update_col_c_amount=5, col_a_1=1, col_b_2=2))
def test_increment(self): increment = sql_builder.Increment(3) sql, bind_vars = increment.build_update_sql('col_a') self.assertEqual(sql, 'col_a = (col_a + %(update_col_a_amount)s)') self.assertEqual(bind_vars, dict(update_col_a_amount=3))