File: test_create_view.py

package info (click to toggle)
sqlite-utils 4.0~a0-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 1,320 kB
  • sloc: python: 14,310; makefile: 33; ansic: 26; javascript: 21; sh: 5
file content (43 lines) | stat: -rw-r--r-- 1,435 bytes parent folder | download | duplicates (3)
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
32
33
34
35
36
37
38
39
40
41
42
43
import pytest
from sqlite_utils.utils import OperationalError


def test_create_view(fresh_db):
    fresh_db.create_view("bar", "select 1 + 1")
    rows = fresh_db.execute("select * from bar").fetchall()
    assert [(2,)] == rows


def test_create_view_error(fresh_db):
    fresh_db.create_view("bar", "select 1 + 1")
    with pytest.raises(OperationalError):
        fresh_db.create_view("bar", "select 1 + 2")


def test_create_view_only_arrow_one_param(fresh_db):
    with pytest.raises(AssertionError):
        fresh_db.create_view("bar", "select 1 + 2", ignore=True, replace=True)


def test_create_view_ignore(fresh_db):
    fresh_db.create_view("bar", "select 1 + 1").create_view(
        "bar", "select 1 + 2", ignore=True
    )
    rows = fresh_db.execute("select * from bar").fetchall()
    assert [(2,)] == rows


def test_create_view_replace(fresh_db):
    fresh_db.create_view("bar", "select 1 + 1").create_view(
        "bar", "select 1 + 2", replace=True
    )
    rows = fresh_db.execute("select * from bar").fetchall()
    assert [(3,)] == rows


def test_create_view_replace_with_same_does_nothing(fresh_db):
    fresh_db.create_view("bar", "select 1 + 1")
    initial_version = fresh_db.execute("PRAGMA schema_version").fetchone()[0]
    fresh_db.create_view("bar", "select 1 + 1", replace=True)
    after_version = fresh_db.execute("PRAGMA schema_version").fetchone()[0]
    assert after_version == initial_version