1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use crate::ast::Statement;

pub fn begin() -> Statement {
    Statement::StartTransaction
}
pub fn commit() -> Statement {
    Statement::Commit
}
pub fn rollback() -> Statement {
    Statement::Rollback
}

#[cfg(test)]
mod tests {
    use crate::ast_builder::{begin, commit, rollback, test};

    #[test]
    fn transaction() {
        let actual = begin();
        let expected = "START TRANSACTION";
        test(Ok(actual), expected);

        let actual = commit();
        let expected = "COMMIT";
        test(Ok(actual), expected);

        let actual = rollback();
        let expected = "ROLLBACK";
        test(Ok(actual), expected);
    }
}