コード例 #1
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_remove_filtered(self, dao: TinyDbDao):
     ids = dao.filter(pred_a).remove()
     assert ids == [1]
     assert list(dao.all()) == [
         {'char': 'b', 'is_a': False},
         {'char': 'c', 'is_a': False},
     ]
コード例 #2
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_remove_filtered_by_id(self, dao: TinyDbDao):
     ids = dao.filter(pred_not_a).filter_by(id_=2).remove()
     assert ids == [2]
     assert list(dao.all()) == [
         {'char': 'a', 'is_a': True},
         {'char': 'c', 'is_a': False},
     ]
コード例 #3
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_update_filtered(self, dao: TinyDbDao):
     ids = dao.filter(pred_not_a).update(char='z')
     assert ids == [2, 3]
     assert list(dao.all()) == [
         {'char': 'a', 'is_a': True},
         {'char': 'z', 'is_a': False},
         {'char': 'z', 'is_a': False},
     ]
コード例 #4
0
 def test_update_all(self, dao: TinyDbDao):
     ids = dao.all().update(char='z')
     assert ids == [1, 2, 3]
     assert list(dao.all()) == [
         {'char': 'z', 'is_a': True},
         {'char': 'z', 'is_a': False},
         {'char': 'z', 'is_a': False},
     ]
コード例 #5
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_update_all(self, dao: TinyDbDao):
     ids = dao.all().update(char='z')
     assert ids == [1, 2, 3]
     assert list(dao.all()) == [
         {'char': 'z', 'is_a': True},
         {'char': 'z', 'is_a': False},
         {'char': 'z', 'is_a': False},
     ]
コード例 #6
0
 def test_update_filtered(self, dao: TinyDbDao):
     ids = dao.filter(pred_not_a).update(char='z')
     assert ids == [2, 3]
     assert list(dao.all()) == [
         {'char': 'a', 'is_a': True},
         {'char': 'z', 'is_a': False},
         {'char': 'z', 'is_a': False},
     ]
コード例 #7
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_remove_none(self, dao: TinyDbDao):
     ids = dao.filter(pred_z).remove()
     assert ids == []
     assert list(dao.all()) == [
         {'char': 'a', 'is_a': True},
         {'char': 'b', 'is_a': False},
         {'char': 'c', 'is_a': False},
     ]
コード例 #8
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def dao(self, mock_container):
     """
     In-memory table that has three documents pre-assigned:
         {'char': 'a', 'is_a': True},
         {'char': 'b', 'is_a': False},
         {'char': 'c', 'is_a': False}
     """
     dao = TinyDbDao(mock_container, table_name='table_name')
     dao.batch_insert([
         {'char': c, 'is_a': c == 'a'}
         for c in 'abc'
     ])
     return dao
コード例 #9
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_insert(self, dao: TinyDbDao):
     id_ = dao.insert(foo='bar')
     assert id_ == 4
コード例 #10
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def json_dao(self, mock_container, path):
     dao = TinyDbDao(mock_container, path=path, table_name='table_name')
     yield dao
     dao.clear_db_cache()
コード例 #11
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_dao_filter_by_success(self, dao: TinyDbDao):
     assert list(dao.filter_by(id_=3)) == [{'char': 'c', 'is_a': False}]
コード例 #12
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_get_success(self, dao: TinyDbDao):
     assert dao.get(1) == {'char': 'a', 'is_a': True}
コード例 #13
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_filtered_get_fail(self, dao: TinyDbDao):
     assert dao.filter(pred_not_a).get(1) is None
コード例 #14
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_multiple_filter_success(self, dao: TinyDbDao):
     assert list(dao.filter(pred_not_a).filter(pred_c)) == [
         {'char': 'c', 'is_a': False}
     ]
コード例 #15
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_filtered_count(self, dao: TinyDbDao):
     assert dao.filter(pred_not_a).count() == 2
コード例 #16
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_batch_insert(self, dao: TinyDbDao):
     batch = [{'foo': 'bar'}, {'foo': 'baz'}]
     result = dao.batch_insert(batch)
     assert result == (4, 5)
     assert list(dao.filter(where('foo').exists())) == batch
コード例 #17
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_count_all(self, dao: TinyDbDao):
     assert dao.all().count() == 3
コード例 #18
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_exists_filtered_fail(self, dao: TinyDbDao):
     assert not dao.filter(pred_z).exists()
コード例 #19
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_exists_filtered_success(self, dao: TinyDbDao):
     assert dao.filter(pred_c).exists()
コード例 #20
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_exists_empty_fail(self, dao: TinyDbDao):
     dao.clear()
     assert not dao.all().exists()
コード例 #21
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_exists_all_success(self, dao: TinyDbDao):
     assert dao.all().exists()
コード例 #22
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_clear(self, dao: TinyDbDao):
     dao.clear()
     assert list(dao.all()) == []
コード例 #23
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_filter_by_both_arguments_error(self, dao: TinyDbDao):
     with pytest.raises(QueryError) as error_info:
         assert dao.all().filter_by(id_=3, ids=[3, 5])
     assert error_info.value == QueryErrors.CONFLICTING_QUERY_ARGUMENTS
コード例 #24
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_all(self, dao: TinyDbDao):
     assert list(dao.all()) == [
         {'char': 'a', 'is_a': True},
         {'char': 'b', 'is_a': False},
         {'char': 'c', 'is_a': False},
     ]
コード例 #25
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_get_fail(self, dao: TinyDbDao):
     assert dao.get(42) is None
コード例 #26
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_filter_by_success(self, dao: TinyDbDao):
     not_a = pred_not_a
     assert list(dao.filter(not_a).filter_by(id_=3)) == [{'char': 'c', 'is_a': False}]
コード例 #27
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_filtered_get_success(self, dao: TinyDbDao):
     object_2 = dao.get(2)
     assert dao.filter(pred_not_a).get(2) == object_2
コード例 #28
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_filter_by_two_times_error(self, dao: TinyDbDao):
     with pytest.raises(QueryError) as error_info:
         assert dao.all().filter_by(id_=3).filter_by(id_=5)
     assert error_info.value == QueryErrors.CONFLICTING_QUERY_ARGUMENTS
コード例 #29
0
ファイル: test_tinydb.py プロジェクト: lhaze/dharma
 def test_remove_all_error(self, dao: TinyDbDao):
     with pytest.raises(QueryError) as error_info:
         dao.all().remove()
     assert error_info.value == QueryErrors.UNRESTRICTED_REMOVE