def query_metadata(): kinds = get_kinds() assert all(kind in kinds for kind in ["AnyKind", "MyKind", "OtherKind", "SomeKind"]) kinds = get_kinds(start="N") assert all(kind in kinds for kind in ["OtherKind", "SomeKind"]) != [] assert not any(kind in kinds for kind in ["AnyKind", "MyKind"]) kinds = get_kinds(end="N") assert all(kind in kinds for kind in ["AnyKind", "MyKind"]) != [] assert not any(kind in kinds for kind in ["OtherKind", "SomeKind"]) kinds = get_kinds(start="L", end="P") assert all(kind in kinds for kind in ["MyKind", "OtherKind"]) != [] assert not any(kind in kinds for kind in ["AnyKind", "SomeKind"])
def test_get_kinds(dispose_of): from google.cloud.ndb.metadata import get_kinds class AnyKind(ndb.Model): foo = ndb.IntegerProperty() class MyKind(ndb.Model): bar = ndb.StringProperty() class OtherKind(ndb.Model): baz = ndb.IntegerProperty() class SomeKind(ndb.Model): qux = ndb.StringProperty() entity1 = AnyKind(foo=1) entity1.put() dispose_of(entity1.key._key) entity2 = MyKind(bar="a") entity2.put() dispose_of(entity2.key._key) entity3 = OtherKind(baz=2) entity3.put() dispose_of(entity3.key._key) entity4 = SomeKind(qux="a") entity4.put() dispose_of(entity4.key._key) kinds = eventually(get_kinds, _length_at_least(4)) assert (all(kind in kinds for kind in ["AnyKind", "MyKind", "OtherKind", "SomeKind"]) != []) kinds = get_kinds(start="N") assert all(kind in kinds for kind in ["OtherKind", "SomeKind"]) != [] assert not any(kind in kinds for kind in ["AnyKind", "MyKind"]) kinds = get_kinds(end="N") assert all(kind in kinds for kind in ["AnyKind", "MyKind"]) != [] assert not any(kind in kinds for kind in ["OtherKind", "SomeKind"]) kinds = get_kinds(start="L", end="P") assert all(kind in kinds for kind in ["MyKind", "OtherKind"]) != [] assert not any(kind in kinds for kind in ["AnyKind", "SomeKind"])
def test_get_kinds_with_end(Query, _datastore_query): future = tasklets.Future("fetch") future.set_result([]) _datastore_query.fetch.return_value = future query = Query.return_value kinds = metadata.get_kinds(end="z") assert kinds == [] query.filter.assert_called_once()
def test_get_kinds_empty_end(_datastore_query): future = tasklets.Future("fetch") future.set_result(["not", "empty"]) _datastore_query.fetch.return_value = future kinds = metadata.get_kinds(end="") assert kinds == []
def test_get_kinds(_datastore_query): future = tasklets.Future("fetch") future.set_result([]) _datastore_query.fetch.return_value = future kinds = metadata.get_kinds() assert kinds == []
def test_get_kinds(): with pytest.raises(NotImplementedError): metadata.get_kinds()