HomeboxSearchProvider used to own the RestClient call and item mapping
directly; pulling it into a shared HomeboxItemClient lets the upcoming
sync pipeline page through the same Homebox items without duplicating
the fetch/mapping logic. ConnectionIdentifiable lets both SearchRequest
and SyncRequest be resolved to a connection by the same client.
HomeboxSearchProviderTest verifies that ConnectionNotFoundException is
thrown when no matching connection exists in the repository.
SearchResponseTest covers the getExtra helper — null extra map, missing
key, and a present key.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Moved Mockdata from the connection package to the root test package and
extended it with MOCK_USER, MOCK_PASS, MOCK_TITLE, and MOCK_DESCRIPTION
so all test modules share a single source of truth. Removed duplicate
inline constants from ConnectionControllerTest, HomeboxIntegrationTest,
and SearchControllerTest.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Backend: adds JDBC session support, login/status/logout endpoints, and
new DTOs (AuthResponse, ConnectionStatusResponse, LoginResult). Frontend
replaces the Vite boilerplate with a Dashboard, ServiceCard, and
ConnectModal backed by a typed API client.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>