Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RDBC-852 Remove subscription create for autocomplete query #220

Open
wants to merge 3 commits into
base: v5.2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 1 addition & 10 deletions ravendb/documents/subscriptions/document_subscriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,6 @@ def create_for_options(self, options: SubscriptionCreationOptions, database: Opt

return command.result.name

def create_for_options_autocomplete_query(
self,
object_type: Type[_T],
options: SubscriptionCreationOptions = SubscriptionCreationOptions(),
database: Optional[str] = None,
) -> str:
options = self.ensure_criteria(options, object_type, False)
return self.create_for_options(options, database)

def create_for_class(
self,
object_type: Type[_T],
Expand Down Expand Up @@ -215,7 +206,7 @@ def close(self) -> None:
if not self._subscriptions:
return

for subscription in self._subscriptions:
for subscription in list(self._subscriptions):
subscription.close()

def drop_connection(self, name: str, database: Optional[str] = None) -> None:
Expand Down
4 changes: 0 additions & 4 deletions ravendb/documents/subscriptions/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,6 @@ def __init__(
self._db_name = self._store.get_effective_database(db_name)
self._logger = logging.getLogger(SubscriptionWorker.__class__.__name__)

self.after_acknowledgment = []
self.on_subscription_connection_retry = []
self.on_unexpected_subscription_error = []

self._processing_cts = CancellationTokenSource()
self._subscriber: Optional[Callable[[SubscriptionBatch[_T]], None]] = None
self._tcp_client: Optional[socket] = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ def test_will_acknowledge_empty_batches(self):
subscription_documents = self.store.subscriptions.get_subscriptions(0, 10)
self.assertEqual(0, len(subscription_documents))

all_id = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions())
all_id = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions())
with self.store.subscriptions.get_subscription_worker_by_name(subscription_name=all_id) as all_subscription:
all_semaphore = Semaphore(0)
all_counter = 0
Expand Down Expand Up @@ -269,7 +269,7 @@ def test_can_update_subscription_by_name(self):
self.assertEqual(state.subscription_id, new_state.subscription_id)

def test_can_set_to_ignore_errors(self):
key = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions())
key = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions())
opt1 = SubscriptionWorkerOptions(key)
opt1.ignore_subscriber_errors = True
with self.store.subscriptions.get_subscription_worker(opt1, User) as subscription:
Expand Down Expand Up @@ -371,8 +371,8 @@ def test_disposing_one_subscription_should_not_affect_on_notifications_of_others
subscription2: Optional[SubscriptionWorker[User]] = None

try:
id1 = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions())
id2 = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions())
id1 = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions())
id2 = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions())

with self.store.open_session() as session:
session.store(User(), "users/1")
Expand Down Expand Up @@ -432,7 +432,7 @@ def __event(brea: BeforeRequestEventArgs):

self.store.get_request_executor().add_on_before_request(__event)

key = self.store.subscriptions.create_for_options_autocomplete_query(Company, SubscriptionCreationOptions())
key = self.store.subscriptions.create_for_class(Company, SubscriptionCreationOptions())
worker_options = SubscriptionWorkerOptions(key)
worker_options.ignore_subscriber_errors = True
worker_options.strategy = SubscriptionOpeningStrategy.TAKE_OVER
Expand Down Expand Up @@ -481,7 +481,7 @@ def test_ravenDB_3452_should_stop_pulling_docs_if_released(self):
self.assertTrue(subscribe.done())

def test_should_deserialize_the_whole_documents_after_typed_subscription(self):
key = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions())
key = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions())
with self.store.subscriptions.get_subscription_worker_by_name(key, User) as subscription:
users = []

Expand Down Expand Up @@ -534,7 +534,7 @@ def test_can_use_emoji(self):
creation_options = SubscriptionCreationOptions(
name="user_\uD83D\uDE21\uD83D\uDE21\uD83E\uDD2C\uD83D\uDE00😡😡🤬😀"
)
key = self.store.subscriptions.create_for_options_autocomplete_query(User, creation_options)
key = self.store.subscriptions.create_for_class(User, creation_options)
with self.store.subscriptions.get_subscription_worker(SubscriptionWorkerOptions(key), User) as subscription:
keys = queue.Queue()
subscription.run(lambda batch: [keys.put(x.result.name) for x in batch.items])
Expand Down Expand Up @@ -599,7 +599,7 @@ def test_can_create_subscription_with_include_time_series_last_range_by_time(sel
"stock_price", TimeSeriesRangeType.LAST, TimeValue.of_months(1)
)

name = self.store.subscriptions.create_for_options_autocomplete_query(Company, subscription_creation_options)
name = self.store.subscriptions.create_for_class(Company, subscription_creation_options)

with self.store.subscriptions.get_subscription_worker_by_name(name, Company) as worker:
event = Event()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def test_can_use_subscription_includes_via_strongly_typed_api(self):

options = SubscriptionCreationOptions()
options.includes = lambda builder: builder.include_documents("category").include_documents("supplier")
name = self.store.subscriptions.create_for_options_autocomplete_query(Product, options)
name = self.store.subscriptions.create_for_class(Product, options)

with self.store.subscriptions.get_subscription_worker(SubscriptionWorkerOptions(name), Product) as sub:
semaphore = Semaphore(0)
Expand Down
Loading