Compare commits
No commits in common. "main" and "0.1.1" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,3 @@
|
|||||||
dist/
|
dist/
|
||||||
build/
|
build/
|
||||||
fiable_db.egg-info/
|
fiable_db.egg-info/
|
||||||
/fiabledb.json
|
|
||||||
|
@ -109,7 +109,14 @@ You can be specific by using the `id`.
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
fiable_db.delete(id=4)
|
fiable_db.delete(id=4)
|
||||||
# {"id": 4, "rev": 6, "table": "default", "data": {}}
|
# {"id": 4, "rev": 6, "table": "default", "data": None}
|
||||||
|
```
|
||||||
|
|
||||||
|
And you can delete by performing a search for their values:
|
||||||
|
|
||||||
|
```python
|
||||||
|
fiable_db.delete(data={"name": "Javier"})
|
||||||
|
# {"id": 4, "rev": 6, "table": "default", "data": None}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 5: Find one
|
### Step 5: Find one
|
||||||
|
56
fiable_db.py
56
fiable_db.py
@ -2,7 +2,6 @@ from typing import Dict, Tuple, Union, Sequence, TypedDict
|
|||||||
from functools import reduce
|
from functools import reduce
|
||||||
import json
|
import json
|
||||||
from os import path
|
from os import path
|
||||||
from copy import deepcopy
|
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
FILE = "fiabledb.json"
|
FILE = "fiabledb.json"
|
||||||
@ -20,8 +19,8 @@ class TypeData(TypedDict):
|
|||||||
Type_Data_List = Tuple[TypeData]
|
Type_Data_List = Tuple[TypeData]
|
||||||
Type_Add_Data = Union[Dict, Sequence[Dict]]
|
Type_Add_Data = Union[Dict, Sequence[Dict]]
|
||||||
Type_Add_Return = Union[Tuple[int, int, Dict], Tuple[Tuple[int, int, Dict]], None]
|
Type_Add_Return = Union[Tuple[int, int, Dict], Tuple[Tuple[int, int, Dict]], None]
|
||||||
Type_Update_Return = Union[Tuple[Tuple[int, int, Dict]], None]
|
Type_Update_Return = Union[Tuple[Tuple[int, int, Dict]]]
|
||||||
Type_Delete_Return = Union[Tuple[Tuple[int, int, Dict]], None]
|
Type_Delete_Return = Union[Tuple[Tuple[int, int, Dict]]]
|
||||||
Type_Find_One_Return = TypeData
|
Type_Find_One_Return = TypeData
|
||||||
Type_Find_All_Return = Tuple[Type_Find_One_Return]
|
Type_Find_All_Return = Tuple[Type_Find_One_Return]
|
||||||
|
|
||||||
@ -38,7 +37,6 @@ def get_next_id(table: str = "default") -> int:
|
|||||||
return row["id"]
|
return row["id"]
|
||||||
else:
|
else:
|
||||||
return current_id
|
return current_id
|
||||||
|
|
||||||
last_id = reduce(get_id, database[::-1], None)
|
last_id = reduce(get_id, database[::-1], None)
|
||||||
# Return the next id, or 1 if there is no last id
|
# Return the next id, or 1 if there is no last id
|
||||||
return last_id + 1 if last_id else 1
|
return last_id + 1 if last_id else 1
|
||||||
@ -111,31 +109,6 @@ def get_database() -> Type_Data_List:
|
|||||||
return database
|
return database
|
||||||
|
|
||||||
|
|
||||||
def get_pos_by_id(id: int, table: str = "") -> int:
|
|
||||||
"""Get the position of the data by id
|
|
||||||
Args:
|
|
||||||
id (int): The id of the data
|
|
||||||
table (str, optional): The table to search in. Defaults to "".
|
|
||||||
Returns:
|
|
||||||
int: The position of the data
|
|
||||||
"""
|
|
||||||
global database
|
|
||||||
|
|
||||||
def get_key(
|
|
||||||
current_key: Union[TypeData, None], key_and_row: TypeData
|
|
||||||
) -> Union[int, None]:
|
|
||||||
"""Function to get the key of the data"""
|
|
||||||
if (
|
|
||||||
current_key is None
|
|
||||||
and key_and_row[1]["id"] == id
|
|
||||||
and key_and_row[1]["table"] == table
|
|
||||||
):
|
|
||||||
return key_and_row[0]
|
|
||||||
return current_key
|
|
||||||
|
|
||||||
return reduce(get_key, list(enumerate(database))[::-1], None)
|
|
||||||
|
|
||||||
|
|
||||||
def add(new_data: Type_Add_Data, table: str = "default") -> Type_Add_Return:
|
def add(new_data: Type_Add_Data, table: str = "default") -> Type_Add_Return:
|
||||||
"""Add data to the database
|
"""Add data to the database
|
||||||
Args:
|
Args:
|
||||||
@ -158,7 +131,7 @@ def add(new_data: Type_Add_Data, table: str = "default") -> Type_Add_Return:
|
|||||||
|
|
||||||
|
|
||||||
def update(
|
def update(
|
||||||
id: int, new_data: dict, table: str = "default", force: bool = False
|
id: int, new_data: dict, table: str = "", force: bool = False
|
||||||
) -> Type_Update_Return:
|
) -> Type_Update_Return:
|
||||||
"""Update data in the database
|
"""Update data in the database
|
||||||
Args:
|
Args:
|
||||||
@ -167,27 +140,12 @@ def update(
|
|||||||
table (str, optional): The table to update. Defaults to "".
|
table (str, optional): The table to update. Defaults to "".
|
||||||
force (bool, optional): Force the update. Defaults to False.
|
force (bool, optional): Force the update. Defaults to False.
|
||||||
Returns:
|
Returns:
|
||||||
dict[int, int, dict] or None: The data updated
|
dict[int, int, dict]: The data updated
|
||||||
"""
|
"""
|
||||||
global database
|
print("Function not implemented yet")
|
||||||
# Get the key to update
|
|
||||||
key = get_pos_by_id(id, table)
|
|
||||||
if key is not None:
|
|
||||||
row = deepcopy(database[key])
|
|
||||||
my_new_data = deepcopy(new_data)
|
|
||||||
if force:
|
|
||||||
row["data"] = my_new_data
|
|
||||||
else:
|
|
||||||
row["data"].update(my_new_data)
|
|
||||||
new_rev = row["rev"] + 1
|
|
||||||
new_data_to_row = row["data"]
|
|
||||||
new_row = {"id": id, "rev": new_rev, "table": table, "data": new_data_to_row}
|
|
||||||
database.append(new_row)
|
|
||||||
return new_row
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def delete(id: int, table: str = "default") -> Type_Delete_Return:
|
def delete(id: int, data: dict, table: str = "") -> Type_Delete_Return:
|
||||||
"""Delete data from the database
|
"""Delete data from the database
|
||||||
Args:
|
Args:
|
||||||
id (int): The id of the data to delete
|
id (int): The id of the data to delete
|
||||||
@ -196,7 +154,7 @@ def delete(id: int, table: str = "default") -> Type_Delete_Return:
|
|||||||
Returns:
|
Returns:
|
||||||
dict[int, int, dict]: The data deleted
|
dict[int, int, dict]: The data deleted
|
||||||
"""
|
"""
|
||||||
return update(id=id, new_data={}, table=table, force=True)
|
print("Function not implemented yet")
|
||||||
|
|
||||||
|
|
||||||
def find_one(
|
def find_one(
|
||||||
|
@ -1,126 +0,0 @@
|
|||||||
from fiable_db import start, add, delete, get_database
|
|
||||||
|
|
||||||
|
|
||||||
def test_delete_simple():
|
|
||||||
"""Test delete in the default table."""
|
|
||||||
start()
|
|
||||||
add(
|
|
||||||
[
|
|
||||||
{"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
{"name": "Juan", "age": 41, "height": 187},
|
|
||||||
{"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
]
|
|
||||||
)
|
|
||||||
delete(1)
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{"id": 1, "rev": 2, "table": "default", "data": {}},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_delete_multiple():
|
|
||||||
"""Test delete two rows"""
|
|
||||||
start()
|
|
||||||
add(
|
|
||||||
[
|
|
||||||
{"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
{"name": "Juan", "age": 41, "height": 187},
|
|
||||||
{"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
]
|
|
||||||
)
|
|
||||||
delete(2)
|
|
||||||
delete(3)
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{"id": 2, "rev": 2, "table": "default", "data": {}},
|
|
||||||
{"id": 3, "rev": 2, "table": "default", "data": {}},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_delete_with_table():
|
|
||||||
"""Test delete two rows"""
|
|
||||||
start()
|
|
||||||
add(
|
|
||||||
[
|
|
||||||
{"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
{"name": "Juan", "age": 41, "height": 187},
|
|
||||||
{"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
],
|
|
||||||
table="people",
|
|
||||||
)
|
|
||||||
add(
|
|
||||||
[
|
|
||||||
{"name": "Mortadelo", "age": 22, "height": 184},
|
|
||||||
{"name": "Filemon", "age": 25, "height": 185},
|
|
||||||
],
|
|
||||||
)
|
|
||||||
delete(2, table="people")
|
|
||||||
delete(1)
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "people",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "people",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "people",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Mortadelo", "age": 22, "height": 184},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Filemon", "age": 25, "height": 185},
|
|
||||||
},
|
|
||||||
{"id": 2, "rev": 2, "table": "people", "data": {}},
|
|
||||||
{"id": 1, "rev": 2, "table": "default", "data": {}},
|
|
||||||
]
|
|
@ -1,320 +0,0 @@
|
|||||||
from fiable_db import start, add, update, get_database
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_simple():
|
|
||||||
"""Test update in the default table."""
|
|
||||||
start()
|
|
||||||
add(
|
|
||||||
[
|
|
||||||
{"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
{"name": "Juan", "age": 41, "height": 187},
|
|
||||||
{"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
]
|
|
||||||
)
|
|
||||||
update(2, {"age": 99})
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
update(2, {"name": "Cristo"})
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 3,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Cristo", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
update(1, {"height": 150})
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 3,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Cristo", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 150},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_table():
|
|
||||||
"""Test update in a table."""
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188}, table="users")
|
|
||||||
update(1, {"age": 99}, table="users")
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 165},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 41, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Valentina", "age": 12, "height": 142},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Juan", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 3,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Cristo", "age": 99, "height": 187},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Noelia", "age": 34, "height": 150},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "Antony", "age": 77, "height": 188},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "Antony", "age": 99, "height": 188},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_table_not_exists():
|
|
||||||
"""Test update in a table that not exists."""
|
|
||||||
start()
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188}, table="users")
|
|
||||||
update(1, {"name": "David"}, table="boo")
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "Antony", "age": 77, "height": 188},
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_id_not_exists():
|
|
||||||
"""Test update with an id that not exists."""
|
|
||||||
start()
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188}, table="users")
|
|
||||||
update(2, {"name": "David"}, table="users")
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "Antony", "age": 77, "height": 188},
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_multiple_values_default():
|
|
||||||
"""Test update multiple values in the default table."""
|
|
||||||
start()
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188})
|
|
||||||
add({"name": "Dolores", "age": 32})
|
|
||||||
update(1, {"name": "David", "age": 9})
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Antony", "age": 77, "height": 188},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Dolores", "age": 32},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "David", "age": 9, "height": 188},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_multiple_values_table():
|
|
||||||
"""Test update multiple values in a table."""
|
|
||||||
start()
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188}, table="users")
|
|
||||||
add({"name": "Dolores", "age": 32}, table="users")
|
|
||||||
update(1, {"name": "David", "age": 9}, table="users")
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "Antony", "age": 77, "height": 188},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "Dolores", "age": 32},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "users",
|
|
||||||
"data": {"name": "David", "age": 9, "height": 188},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_with_keys_not_exists():
|
|
||||||
"""Test update with keys that not exists."""
|
|
||||||
start()
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188})
|
|
||||||
add({"name": "Dolores", "age": 32})
|
|
||||||
update(1, {"is_active": True, "eyes": "blue"})
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {
|
|
||||||
"name": "Antony",
|
|
||||||
"age": 77,
|
|
||||||
"height": 188,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Dolores", "age": 32},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {
|
|
||||||
"name": "Antony",
|
|
||||||
"age": 77,
|
|
||||||
"height": 188,
|
|
||||||
"is_active": True,
|
|
||||||
"eyes": "blue",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_with_force():
|
|
||||||
"""Test update with force."""
|
|
||||||
start()
|
|
||||||
add({"name": "Antony", "age": 77, "height": 188})
|
|
||||||
add({"name": "Dolores", "age": 32})
|
|
||||||
update(1, {"name": "David", "age": 9}, force=True)
|
|
||||||
assert get_database() == [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Antony", "age": 77, "height": 188},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"rev": 1,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "Dolores", "age": 32},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"rev": 2,
|
|
||||||
"table": "default",
|
|
||||||
"data": {"name": "David", "age": 9},
|
|
||||||
},
|
|
||||||
]
|
|
Loading…
x
Reference in New Issue
Block a user