- .devcontainer
- .github
- .vscode
- assets
- cmd
-
docs
- workspace_mode
- daytona.md
- daytona_api-key.md
- daytona_api-key_generate.md
- daytona_api-key_list.md
- daytona_api-key_revoke.md
- daytona_autocomplete.md
- daytona_code.md
- daytona_container-registry.md
- daytona_container-registry_delete.md
- daytona_container-registry_list.md
- daytona_container-registry_set.md
- daytona_create.md
- daytona_delete.md
- daytona_docs.md
- daytona_env.md
- daytona_env_list.md
- daytona_env_set.md
- daytona_forward.md
- daytona_git-providers.md
- daytona_git-providers_add.md
- daytona_git-providers_delete.md
- daytona_git-providers_list.md
- daytona_ide.md
- daytona_info.md
- daytona_list.md
- daytona_profile.md
- daytona_profile_add.md
- daytona_profile_delete.md
- daytona_profile_edit.md
- daytona_profile_list.md
- daytona_project-config.md
- daytona_project-config_add.md
- daytona_project-config_delete.md
- daytona_project-config_info.md
- daytona_project-config_list.md
- daytona_project-config_set-default.md
- daytona_project-config_update.md
- daytona_provider.md
- daytona_provider_install.md
- daytona_provider_list.md
- daytona_provider_uninstall.md
- daytona_provider_update.md
- daytona_purge.md
- daytona_serve.md
- daytona_server.md
- daytona_server_config.md
- daytona_server_configure.md
- daytona_server_logs.md
- daytona_server_restart.md
- daytona_server_start.md
- daytona_server_stop.md
- daytona_ssh.md
- daytona_start.md
- daytona_stop.md
- daytona_target.md
- daytona_target_list.md
- daytona_target_remove.md
- daytona_target_set.md
- daytona_telemetry.md
- daytona_telemetry_disable.md
- daytona_telemetry_enable.md
- daytona_use.md
- daytona_version.md
- daytona_whoami.md
-
hack
- builder_image
-
docs
- workspace_mode
- daytona.yaml
- daytona_api-key.yaml
- daytona_api-key_generate.yaml
- daytona_api-key_list.yaml
- daytona_api-key_revoke.yaml
- daytona_autocomplete.yaml
- daytona_code.yaml
- daytona_container-registry.yaml
- daytona_container-registry_delete.yaml
- daytona_container-registry_list.yaml
- daytona_container-registry_set.yaml
- daytona_create.yaml
- daytona_delete.yaml
- daytona_docs.yaml
- daytona_env.yaml
- daytona_env_list.yaml
- daytona_env_set.yaml
- daytona_forward.yaml
- daytona_git-providers.yaml
- daytona_git-providers_add.yaml
- daytona_git-providers_delete.yaml
- daytona_git-providers_list.yaml
- daytona_ide.yaml
- daytona_info.yaml
- daytona_list.yaml
- daytona_profile.yaml
- daytona_profile_add.yaml
- daytona_profile_delete.yaml
- daytona_profile_edit.yaml
- daytona_profile_list.yaml
- daytona_project-config.yaml
- daytona_project-config_add.yaml
- daytona_project-config_delete.yaml
- daytona_project-config_info.yaml
- daytona_project-config_list.yaml
- daytona_project-config_set-default.yaml
- daytona_project-config_update.yaml
- daytona_provider.yaml
- daytona_provider_install.yaml
- daytona_provider_list.yaml
- daytona_provider_uninstall.yaml
- daytona_provider_update.yaml
- daytona_purge.yaml
- daytona_serve.yaml
- daytona_server.yaml
- daytona_server_config.yaml
- daytona_server_configure.yaml
- daytona_server_logs.yaml
- daytona_server_restart.yaml
- daytona_server_start.yaml
- daytona_server_stop.yaml
- daytona_ssh.yaml
- daytona_start.yaml
- daytona_stop.yaml
- daytona_target.yaml
- daytona_target_list.yaml
- daytona_target_remove.yaml
- daytona_target_set.yaml
- daytona_telemetry.yaml
- daytona_telemetry_disable.yaml
- daytona_telemetry_enable.yaml
- daytona_use.yaml
- daytona_version.yaml
- daytona_whoami.yaml
- project_image
- providers
- generate-cli-docs.sh
- get-openvscode-server.sh
- install.sh
- swagger.sh
- internal
-
pkg
- agent
- api
-
apiclient
- .openapi-generator
- api
-
docs
- ApiKey.md
- ApiKeyAPI.md
- ApikeyApiKeyType.md
- ContainerRegistry.md
- ContainerRegistryAPI.md
- CreateProjectConfigDTO.md
- CreateProjectConfigSourceDTO.md
- CreateWorkspaceDTO.md
- DevcontainerConfig.md
- FRPSConfig.md
- FileStatus.md
- GitBranch.md
- GitNamespace.md
- GitProvider.md
- GitProviderAPI.md
- GitPullRequest.md
- GitRepository.md
- GitStatus.md
- GitUser.md
- InstallProviderRequest.md
- NetworkKey.md
- ProfileAPI.md
- ProfileData.md
- Project.md
- ProjectBuildConfig.md
- ProjectConfig.md
- ProjectConfigAPI.md
- ProjectInfo.md
- ProjectState.md
- Provider.md
- ProviderAPI.md
- ProviderProviderInfo.md
- ProviderProviderTargetProperty.md
- ProviderProviderTargetPropertyType.md
- ProviderTarget.md
- ServerAPI.md
- ServerConfig.md
- SetProjectState.md
- Status.md
- TargetAPI.md
- Workspace.md
- WorkspaceAPI.md
- WorkspaceDTO.md
- WorkspaceInfo.md
- .gitignore
- .openapi-generator-ignore
- README.md
- api_api_key.go
- api_container_registry.go
- api_git_provider.go
- api_profile.go
- api_project_config.go
- api_provider.go
- api_server.go
- api_target.go
- api_workspace.go
- client.go
- configuration.go
- model_api_key.go
- model_apikey_api_key_type.go
- model_container_registry.go
- model_create_project_config_dto.go
- model_create_project_config_source_dto.go
- model_create_workspace_dto.go
- model_devcontainer_config.go
- model_file_status.go
- model_frps_config.go
- model_git_branch.go
- model_git_namespace.go
- model_git_provider.go
- model_git_pull_request.go
- model_git_repository.go
- model_git_status.go
- model_git_user.go
- model_install_provider_request.go
- model_network_key.go
- model_profile_data.go
- model_project.go
- model_project_build_config.go
- model_project_config.go
- model_project_info.go
- model_project_state.go
- model_provider.go
- model_provider_provider_info.go
- model_provider_provider_target_property.go
- model_provider_provider_target_property_type.go
- model_provider_target.go
- model_server_config.go
- model_set_project_state.go
- model_status.go
- model_workspace.go
- model_workspace_dto.go
- model_workspace_info.go
- response.go
- utils.go
- apikey
- build
- cmd
- common
- containerregistry
- db
-
docker
- README.md
- client.go
- client_test.go
- container_logs.go
- container_logs_test.go
- create.go
- create_devcontainer.go
- create_image.go
- create_test.go
- destroy.go
- destroy_test.go
- exec.go
- exec_test.go
- info.go
- info_test.go
- pull_image.go
- push_image.go
- start.go
- start_devcontainer.go
- start_image.go
- start_test.go
- stop.go
- stop_test.go
- frpc
- git
-
gitprovider
- gitnessclient
- aws-codecommit.go
- aws-codecommit_test.go
- azure-devops.go
- azure-devops_test.go
- bitbucket.go
- bitbucket_test.go
- bitbucketserver.go
- bitbucketserver_test.go
- git_provider.go
- git_provider_test.go
- gitea.go
- gitea_test.go
- github.go
- github_test.go
- gitlab.go
- gitlab_test.go
- gitness.go
- gitness_test.go
- store.go
- types.go
- ide
- logs
- os
- ports
- posthogservice
- profiledata
- provider
- provisioner
- server
- ssh
- tailscale
- telemetry
- views
- workspace
- .gitignore
- .golangci.yaml
- .licenserc.yaml
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- CONTRIBUTORS.md
- COPYRIGHT
- LICENSE
- NOTICE
- PREPARING_YOUR_CHANGES.md
- README.md
- SECURITY.md
- go.mod
- go.sum
- openapitools.json
Explanation
The code snippet you provided is a test suite for the Builder in the daytona project. This builder is responsible for managing the build process of projects, potentially involving container images.
Here’s a breakdown of the code:
- Setup:
- The
NewBuilderTestSuitefunction sets up the test environment by creating aBuilderTestSuiteinstance. - The
SetupTestmethod within theBuilderTestSuiteinitializes several key elements: - A mock
GitService(using themockspackage) to simulate Git operations without interacting with a real Git repository. - A
buildResultStoreusing an in-memory implementation to store build results. - A
builderinstance created using aBuilderFactory. This factory allows for the creation of builder instances, potentially with custom configurations. The test sets up theCreateGitServicewithin theBuilderFactoryConfigto return the mockedGitService.
- Predefined Build Results:
- Two
BuildResultinstances are declared,predefBuildResultandbuildResult, which represent the results of a build operation. Each instance includes information like the build hash, user, image name, and project volume path.
- Test Method:
- The
TestSaveBuildResultsmethod tests theSaveBuildResultsfunction of thebuilder. - It first appends the
buildResultto theexpectedResultsslice, which already containspredefBuildResult. - It calls
builder.SaveBuildResults(buildResult)to save the new build result. - It asserts that the save operation was successful using
require.NoError(err). - It then retrieves all saved results from the
buildResultStoreusingbuildResultStore.List(). - Finally, it asserts that the saved results match the
expectedResultsusingrequire.ElementsMatch(expectedResults, savedResults).
In essence, this test suite verifies that the Builder correctly saves build results to the buildResultStore. It ensures that the stored results match the expected values.
Graph
The graph shows the usage of functions within the codebase.
Select a code symbol to view it's graph