Skip to content

[OPIK-4931] [BE] Add project_name resolution for Dataset, Dashboard, and Prompt#5683

Merged
thiagohora merged 20 commits intomainfrom
thiaghora/OPIK-4931-add-project-name-resolution
Mar 16, 2026
Merged

[OPIK-4931] [BE] Add project_name resolution for Dataset, Dashboard, and Prompt#5683
thiagohora merged 20 commits intomainfrom
thiaghora/OPIK-4931-add-project-name-resolution

Conversation

@thiagohora
Copy link
Contributor

Details

Add project_name as an optional write-only field on Dataset, Dashboard, and Prompt APIs.
When project_name is provided and project_id is null, the service layer resolves it via ProjectService.getOrCreate() — finding the existing project or creating a new one. This lets users reference projects by name without needing to know the UUID.

Change checklist

  • User facing
  • Documentation update

Issues

  • OPIK-4931

Testing

Commands run:

  • mvn test -Dtest="DashboardsResourceTest$ProjectScopedDashboards" — 5 tests pass
  • mvn test -Dtest="DatasetsResourceTest$ProjectScopedDatasets" — 5 tests pass
  • mvn test -Dtest="PromptResourceTest$ProjectScopedPrompts" — 5 tests pass

Scenarios validated:

  • Create entity with project_name of an existing project → resolves to correct project_id
  • Create entity with project_name of a non-existing project → project auto-created, project_id set
  • Existing tests with project_id still pass unchanged

Environment: local process mode, macOS

Documentation

Add nullable project_id column with FK constraint to datasets, prompts,
and dashboards tables. Wire project_id through all layers (DAO, Service,
Resource) for create, findByName with fallback, and list/find filtering.
Include integration tests for project-scoped CRUD and filtering.

Resolves: OPIK-4931, OPIK-4934, OPIK-4935, OPIK-4936
Extract buildDataset/buildDatasetList/buildPrompt into DatasetResourceClient
and PromptResourceClient to eliminate duplicated manufacturePojo patterns
across 19 test files.
- Merge duplicate DAO findByName methods using ST templates
- Simplify service findByName with fallback logic
- Remove FK constraints, add service-level project validation via ProjectService
- Add composite indexes (workspace_id, project_id) on datasets, prompts, dashboards
- Fix leftover 2-param findByName call in DatasetService.getOrCreate
Use buildDataset() helper which nulls out projectId to avoid
409 Conflict from validateProjectIdExists on random UUIDs.
…and Prompt

Allow users to provide project_name as an alternative to project_id when
creating datasets, dashboards, and prompts. If project_name is provided
but the project doesn't exist, it is automatically created via getOrCreate.
@thiagohora thiagohora requested a review from a team as a code owner March 16, 2026 14:53
@github-actions github-actions bot added java Pull requests that update Java code Backend tests Including test files, or tests related like configuration. labels Mar 16, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Unit Tests

1 464 tests  ±0   1 462 ✅ ±0   54s ⏱️ -1s
  175 suites ±0       2 💤 ±0 
  175 files   ±0       0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 15

191 tests  +3   189 ✅ +1   2m 15s ⏱️ -14s
 18 suites  - 5     2 💤 +2 
 18 files    - 5     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 63 and adds 66 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccessForDefaultWorkspace__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[1]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccessForDefaultWorkspace__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[2]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccessForDefaultWorkspace__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[3]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccess__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[1]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccess__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[2]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccess__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[3]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ getWorkspaceName(String, int, String)[1]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ getWorkspaceName(String, int, String)[2]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ getWorkspaceName(String, int, String)[3]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ useInvalidWorkspace__thenReturnForbiddenResponse(String, String)[1]
…
com.comet.opik.api.resources.v1.priv.DatasetExperimentE2ETest$FilterDatasetsByExperimentWith ‑ when__filteringByDatasetsWithExperimentsAfterAnExperimentIsDeleted__thenShouldReturnTheDatasetWithExperiments
com.comet.opik.api.resources.v1.priv.DatasetExperimentE2ETest$FilterDatasetsByExperimentWith ‑ when__filteringByDatasetsWithExperimentsAfterDeletingExperimentsButDatasetHasMore__thenShouldReturnTheDatasetWithExperiments
com.comet.opik.api.resources.v1.priv.DatasetExperimentE2ETest$FilterDatasetsByExperimentWith ‑ when__filteringByDatasetsWithExperiments__thenShouldReturnTheDatasetWithExperiments
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_emptyData(boolean)[1]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_emptyData(boolean)[2]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_happyPath(boolean)[1]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_happyPath(boolean)[2]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsSummary_emptyData(boolean)[1]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsSummary_emptyData(boolean)[2]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsSummary_happyPath(boolean)[1]
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 5

107 tests  ±0   107 ✅ ±0   3m 31s ⏱️ +13s
 24 suites ±0     0 💤 ±0 
 24 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 11

166 tests  +6   164 ✅ +6   2m 15s ⏱️ -10s
 21 suites ±0     2 💤 ±0 
 21 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 31 and adds 37 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.priv.AttachmentResourceTest ‑ directS3DownloadShouldFailTest
com.comet.opik.api.resources.v1.priv.AttachmentResourceTest ‑ directS3UploadShouldFailTest
com.comet.opik.api.resources.v1.priv.AttachmentResourceTest ‑ uploadAttachmentWithMultiPartPresignUrl
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCacheEvict__whenAnExceptionHappens__shouldIgnoreCacheAndPropagateIt(CachedService)
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCacheEvict__whenAnExceptionHappens__shouldIgnoreCacheAndPropagateIt2(CachedService)
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCacheEvict__whenCacheEvictWithValue__shouldRemoveCacheAndReturnValue2(CachedService)
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCacheEvict__whenCacheEvict__shouldRemoveCache(CachedService)
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCacheEvict__whenCacheEvict__shouldRemoveCache2(CachedService)
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCachePut__whenAnExceptionHappens__shouldIgnoreCacheAndPropagateIt(CachedService)
com.comet.opik.infrastructure.cache.CacheManagerTest ‑ testCachePut__whenAnExceptionHappens__shouldIgnoreCacheAndPropagateIt2(CachedService)
…
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testBatchDelete_ignoresBuiltinProvider
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_builtinProviderHasCorrectConfiguration
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_builtinProviderHasReadOnlyTrue
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_builtinProviderIsAddedAtEnd
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_includesVirtualBuiltinProvider_whenEnabled
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_userProvidersHaveReadOnlyFalse
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndBatchDeleteProviderApiKeys
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndGetProviderApiKeyList
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndGetProviderApiKeyListWithMinimalFields
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyForInvalidName
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 7

240 tests   - 4   239 ✅  - 5   2m 16s ⏱️ +9s
 26 suites ±0     1 💤 +1 
 26 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 10 and adds 6 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testBatchDelete_ignoresBuiltinProvider
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_builtinProviderHasCorrectConfiguration
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_builtinProviderHasReadOnlyTrue
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_builtinProviderIsAddedAtEnd
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_includesVirtualBuiltinProvider_whenEnabled
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceBuiltinProviderTest ‑ testFindProviders_userProvidersHaveReadOnlyFalse
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitAllHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitClickhouseHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitMysqlHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitRedisHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.api.resources.v1.priv.AttachmentResourceTest ‑ directS3DownloadShouldFailTest
com.comet.opik.api.resources.v1.priv.AttachmentResourceTest ‑ directS3UploadShouldFailTest
com.comet.opik.api.resources.v1.priv.AttachmentResourceTest ‑ uploadAttachmentWithMultiPartPresignUrl
com.comet.opik.api.resources.v1.priv.PromptResourceTest$ProjectScopedPrompts ‑ createPromptWithExistingProjectName
com.comet.opik.api.resources.v1.priv.PromptResourceTest$ProjectScopedPrompts ‑ createPromptWithNonExistingProjectName
com.comet.opik.infrastructure.aws.rds.MysqlRdsIamE2eTest ‑ testAwsRds__whenRdsIamDbAuthenticationIsEnabled__shouldAcceptRequest

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 8

287 tests  +16   287 ✅ +17   4m 40s ⏱️ +4s
 22 suites + 1     0 💤  -  1 
 22 files   + 1     0 ❌ ± 0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 3 and adds 19 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.events.WebhookSubscriberLoggingTest ‑ processEvent_whenSuccessfulWebhook_shouldSendRequestAndCreateLogs
com.comet.opik.api.resources.v1.events.WebhookSubscriberLoggingTest ‑ processEvent_whenWebhookFails_shouldRetryAndCreateErrorLogs
com.comet.opik.infrastructure.aws.rds.MysqlRdsIamE2eTest ‑ testAwsRds__whenRdsIamDbAuthenticationIsEnabled__shouldAcceptRequest
com.comet.opik.api.resources.v1.priv.ExperimentsResourceCustomConfigurationTest ‑ findExperimentsWithForceSortingBypassesLimit
com.comet.opik.api.resources.v1.priv.ExperimentsResourceCustomConfigurationTest ‑ findExperimentsWithSortingDisabled
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ datasetsRedirectTest(String, String, int)[1]
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ datasetsRedirectTest(String, String, int)[2]
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ datasetsRedirectTest(String, String, int)[3]
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ datasetsRedirectUrlNoDataset
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ experimentsRedirectTest(String, String, int)[1]
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ experimentsRedirectTest(String, String, int)[2]
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ experimentsRedirectTest(String, String, int)[3]
com.comet.opik.api.resources.v1.session.RedirectResourceTest ‑ experimentsRedirectUrlNoDataset
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 16

 28 files  ±0   28 suites  ±0   3m 16s ⏱️ -22s
197 tests ±0  197 ✅ ±0  0 💤 ±0  0 ❌ ±0 
175 runs   - 1  175 ✅  - 1  0 💤 ±0  0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 2 and adds 2 tests. Note that renamed tests count towards both.
com.comet.opik.infrastructure.health.IsAliveE2ETest ‑ testGetVersion
com.comet.opik.infrastructure.health.IsAliveE2ETest ‑ testIsAlive
com.comet.opik.infrastructure.http.cors.CorsEnabledE2ETest ‑ testCorsHeadersForGet
com.comet.opik.infrastructure.http.cors.CorsEnabledE2ETest ‑ testCorsHeadersForRequestHeader

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 13

421 tests  ±0   421 ✅ ±0   4m 16s ⏱️ +6s
 15 suites ±0     0 💤 ±0 
 15 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 6

1 135 tests  +3   1 135 ✅ +3   6m 3s ⏱️ +23s
    7 suites ±0       0 💤 ±0 
    7 files   ±0       0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 13 and adds 16 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.priv.DatasetExperimentE2ETest$FilterDatasetsByExperimentWith ‑ when__filteringByDatasetsWithExperimentsAfterAnExperimentIsDeleted__thenShouldReturnTheDatasetWithExperiments
com.comet.opik.api.resources.v1.priv.DatasetExperimentE2ETest$FilterDatasetsByExperimentWith ‑ when__filteringByDatasetsWithExperimentsAfterDeletingExperimentsButDatasetHasMore__thenShouldReturnTheDatasetWithExperiments
com.comet.opik.api.resources.v1.priv.DatasetExperimentE2ETest$FilterDatasetsByExperimentWith ‑ when__filteringByDatasetsWithExperiments__thenShouldReturnTheDatasetWithExperiments
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__multiplePublishesSameExperiment__shouldKeepSingleEntryWithUpdatedScore
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__sameExperimentIdDifferentWorkspaces__shouldCreateSeparateZsetEntries
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__whenDisabled__shouldSkipPublish
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__whenEmptyExperimentIds__shouldSkipPublish
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__whenEnabled__shouldAddCompoundMemberToZset
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__whenEnabled__shouldSetFutureScoreInZset
com.comet.opik.domain.experiments.aggregations.ExperimentAggregationPublisherTest ‑ publish__whenEnabled__shouldSetTtlOnHashBucket
…
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccessForDefaultWorkspace__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[1]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccessForDefaultWorkspace__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[2]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccessForDefaultWorkspace__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[3]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccess__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[1]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccess__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[2]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ checkAccess__whenApiKeyIsPresent__thenReturnProperResponse(String, int, String)[3]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ getWorkspaceName(String, int, String)[1]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ getWorkspaceName(String, int, String)[2]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ getWorkspaceName(String, int, String)[3]
com.comet.opik.api.resources.v1.priv.AuthenticationResourceTest$ApiKey ‑ useInvalidWorkspace__thenReturnForbiddenResponse(String, String)[1]
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 12

159 tests   - 31   159 ✅  - 31   6m 29s ⏱️ + 3m 5s
 33 suites + 1     0 💤 ± 0 
 33 files   + 1     0 ❌ ± 0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 44 and adds 13 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndBatchDeleteProviderApiKeys
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndGetProviderApiKeyList
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndGetProviderApiKeyListWithMinimalFields
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyForInvalidName
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyInvalidPayload(String, String)[1]
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyInvalidPayload(String, String)[2]
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyInvalidPayload422(String, String)[1]
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyInvalidPayload422(String, String)[2]
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyInvalidPayload422(String, String)[3]
com.comet.opik.api.resources.v1.priv.LlmProviderApiKeyResourceTest ‑ createAndUpdateProviderApiKeyInvalidPayload422(String, String)[4]
…
com.comet.opik.api.resources.v1.events.WebhookSubscriberLoggingTest ‑ processEvent_whenSuccessfulWebhook_shouldSendRequestAndCreateLogs
com.comet.opik.api.resources.v1.events.WebhookSubscriberLoggingTest ‑ processEvent_whenWebhookFails_shouldRetryAndCreateErrorLogs
com.comet.opik.api.resources.v1.jobs.TraceThreadsClosingJobTest$TraceThreadsClosingJob ‑ shouldCloseTraceThreadsForProject
com.comet.opik.api.resources.v1.jobs.TraceThreadsClosingJobTest$TraceThreadsClosingJob ‑ shouldCloseTraceThreadsForProjectWithCustomTimeout
com.comet.opik.api.resources.v1.jobs.TraceThreadsClosingJobTest$TraceThreadsClosingJob ‑ shouldReopenTraceThreadsIfNewTracesAreAdded
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitAllHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitClickhouseHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitMysqlHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.HealthCheckIntegrationTest ‑ test__whenHitRedisHealthyCheck__thenReturnOk(ClientSupport)
com.comet.opik.infrastructure.bi.DailyUsageReportJobTest$CredentialsEnabledScenario ‑ test
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 10

 25 files  + 3   25 suites  +3   3m 57s ⏱️ - 5m 38s
229 tests +11  229 ✅ +13  0 💤  - 2  0 ❌ ±0 
191 runs   - 27  191 ✅  - 25  0 💤  - 2  0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 79 and adds 90 tests. Note that renamed tests count towards both.
com.comet.opik.api.resources.v1.jobs.TraceThreadsClosingJobTest$TraceThreadsClosingJob ‑ shouldCloseTraceThreadsForProject
com.comet.opik.api.resources.v1.jobs.TraceThreadsClosingJobTest$TraceThreadsClosingJob ‑ shouldCloseTraceThreadsForProjectWithCustomTimeout
com.comet.opik.api.resources.v1.jobs.TraceThreadsClosingJobTest$TraceThreadsClosingJob ‑ shouldReopenTraceThreadsIfNewTracesAreAdded
com.comet.opik.api.resources.v1.priv.ExperimentsResourceCustomConfigurationTest ‑ findExperimentsWithForceSortingBypassesLimit
com.comet.opik.api.resources.v1.priv.ExperimentsResourceCustomConfigurationTest ‑ findExperimentsWithSortingDisabled
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_emptyData(boolean)[1]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_emptyData(boolean)[2]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_happyPath(boolean)[1]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsDaily_happyPath(boolean)[2]
com.comet.opik.api.resources.v1.priv.WorkspacesResourceTest$CostsMetricsTest ‑ costsSummary_emptyData(boolean)[1]
…
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$BatchDeleteDashboards ‑ batchDeleteFromDifferentWorkspaceReturns204
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$BatchDeleteDashboards ‑ batchDeleteMultipleExistingDashboards
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$BatchDeleteDashboards ‑ batchDeleteSingleDashboard
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$BatchDeleteDashboards ‑ batchDeleteWithMixedIds
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$BatchDeleteDashboards ‑ batchDeleteWithNonExistentIdsReturns204
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$CreateDashboard ‑ createDashboardWithAllFields(DashboardType, DashboardScope)[1]
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$CreateDashboard ‑ createDashboardWithAllFields(DashboardType, DashboardScope)[2]
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$CreateDashboard ‑ createDashboardWithDuplicateNameSucceeds
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$CreateDashboard ‑ createDashboardWithSpecialCharactersInName
com.comet.opik.api.resources.v1.priv.DashboardsResourceTest$CreateDashboard ‑ createDashboardWithoutDescription
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 9

 26 files  ± 0   26 suites  ±0   8m 31s ⏱️ + 4m 6s
318 tests ± 0  312 ✅ ± 0  6 💤 ±0  0 ❌ ±0 
318 runs  +26  312 ✅ +26  6 💤 ±0  0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 3

307 tests  ±0   307 ✅ ±0   9m 58s ⏱️ +6s
 28 suites ±0     0 💤 ±0 
 28 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

Adds Swagger documentation to the projectName field on Dataset, Dashboard,
and Prompt API models so users understand the project resolution behavior.
@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 4

    5 files  ±0      5 suites  ±0   3m 10s ⏱️ +3s
1 361 tests ±0  1 361 ✅ ±0  0 💤 ±0  0 ❌ ±0 
1 273 runs   - 1  1 273 ✅  - 1  0 💤 ±0  0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Backend Tests - Integration Group 2

259 tests  ±0   259 ✅ ±0   35m 27s ⏱️ +38s
 20 suites ±0     0 💤 ±0 
 20 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Python SDK E2E Tests Results (Python 3.12)

244 tests  ±0   242 ✅ ±0   8m 25s ⏱️ -44s
  1 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf77f-254c-77d9-9d7a-90020b53135f]
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf7b6-2466-7fef-bcda-9d84171b0073]

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Python SDK E2E Tests Results (Python 3.11)

244 tests  ±0   242 ✅ ±0   8m 45s ⏱️ -12s
  1 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf77f-014d-7d24-a39f-d56c1c6559c1]
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf7ba-1fb1-7a09-a70f-3ccfaea58c2f]

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Python SDK E2E Tests Results (Python 3.13)

244 tests  ±0   242 ✅ ±0   8m 28s ⏱️ - 1m 3s
  1 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf77b-a866-7dcb-bcd4-a667ab4d00c2]
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf7b6-1cd2-77a9-ada4-8af3fe632edd]

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

TS SDK E2E Tests - Node 22

236 tests  ±0   234 ✅ ±0   15m 40s ⏱️ - 3m 40s
 25 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Python SDK E2E Tests Results (Python 3.14)

244 tests  ±0   242 ✅ ±0   8m 28s ⏱️ -48s
  1 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf77f-5763-7f0c-812a-990e2bbb9a13]
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf7b6-144a-71f0-ad7e-805b12972193]

♻️ This comment has been updated with latest results.

000056 is already taken by drop_dashboard_name_uniqueness on main.
@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Python SDK E2E Tests Results (Python 3.10)

244 tests  ±0   242 ✅ ±0   8m 40s ⏱️ -27s
  1 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf77f-6bdb-72d8-b402-3d19bdf0bbe3]
tests.e2e.test_tracing ‑ test_opik_client__update_trace__happy_flow[None-None-None-None-019cf7b6-0340-740b-92ed-bd81ef8fa33f]

♻️ This comment has been updated with latest results.

…to thiaghora/OPIK-4931-add-project-name-resolution
@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

TS SDK E2E Tests - Node 20

236 tests  ±0   234 ✅ ±0   15m 38s ⏱️ - 3m 23s
 25 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

TS SDK E2E Tests - Node 18

236 tests  ±0   234 ✅ ±0   16m 19s ⏱️ - 2m 49s
 25 suites ±0     2 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f93505c. ± Comparison against base commit c76a15d.

♻️ This comment has been updated with latest results.

Base automatically changed from thiaghora/OPIK-4931-add-project-id-to-entity-tables to main March 16, 2026 16:23
andrescrz
andrescrz previously approved these changes Mar 16, 2026
Copy link
Member

@andrescrz andrescrz left a comment

Choose a reason for hiding this comment

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

This is fine to go, but I highly recommend following up to avoid unnecessary reactive blockers on next PRs.

@thiagohora thiagohora requested a review from andrescrz March 16, 2026 17:24
@thiagohora thiagohora merged commit 2804594 into main Mar 16, 2026
60 checks passed
@thiagohora thiagohora deleted the thiaghora/OPIK-4931-add-project-name-resolution branch March 16, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend java Pull requests that update Java code tests Including test files, or tests related like configuration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants