Skip to content

FCE-2044. sdk clients should fail fast#82

Open
czerwiukk wants to merge 2 commits into
mainfrom
FCE-2044/sdk-clients-should-fail-fast
Open

FCE-2044. sdk clients should fail fast#82
czerwiukk wants to merge 2 commits into
mainfrom
FCE-2044/sdk-clients-should-fail-fast

Conversation

@czerwiukk
Copy link
Copy Markdown
Member

Description

Adds credentials validation to the preferred way of creating the client.
There is also a separate checkCredentials method if someone needs to create the client synchronously.

Motivation and Context

The SDK client should fail fast when misconfigured.

Documentation impact

  • Documentation update required
  • Documentation updated in another PR
  • No documentation update required

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

@czerwiukk czerwiukk self-assigned this May 22, 2026
@czerwiukk czerwiukk requested a review from Copilot May 22, 2026 14:01
@linear
Copy link
Copy Markdown

linear Bot commented May 22, 2026

FCE-2044

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds fail-fast credential validation to the Python Fishjam SDK so misconfigured clients/notifiers error immediately, and provides an explicit “construct + live verify” path for callers that want backend validation up front.

Changes:

  • Introduces MissingFishjamIdError / MissingManagementTokenError and a shared validate_fishjam_config() helper.
  • Ensures Client (and therefore FishjamClient) and FishjamNotifier validate required credentials during construction.
  • Adds FishjamClient.create_and_verify() and FishjamClient.check_credentials() plus new unit tests for config validation / live-check behavior.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/test_config_validation.py Adds unit tests covering constructor validation and create_and_verify / check_credentials behaviors.
fishjam/utils.py Adds validate_fishjam_config() utility used by client/notifier constructors.
fishjam/errors.py Adds new public exceptions for missing fishjam_id / management_token.
fishjam/api/_fishjam_client.py Documents constructor validation semantics and adds create_and_verify() + check_credentials().
fishjam/api/_client.py Enforces credential validation in the shared base client constructor.
fishjam/_ws_notifier.py Enforces credential validation for the WebSocket notifier constructor.
fishjam/__init__.py Re-exports the new validation exception types as part of the public package API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants