MCPcopy Index your code
hub / github.com/coder/coder / TestWorkspaceAgentDeleteDevcontainer

Function TestWorkspaceAgentDeleteDevcontainer

coderd/workspaceagents_test.go:1924–2073  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1922}
1923
1924func TestWorkspaceAgentDeleteDevcontainer(t *testing.T) {
1925 t.Parallel()
1926
1927 const (
1928 workspaceFolder = "/home/coder/coder"
1929 )
1930 configFile := filepath.Join(workspaceFolder, ".devcontainer", "devcontainer.json")
1931
1932 setupDevcontainerMocks := func(t *testing.T) (
1933 *gomock.Controller,
1934 *acmock.MockContainerCLI,
1935 *acmock.MockDevcontainerCLI,
1936 codersdk.WorkspaceAgentContainer,
1937 codersdk.WorkspaceAgentDevcontainer,
1938 []agentcontainers.Option,
1939 ) {
1940 devcontainerID := uuid.New()
1941 devContainer := codersdk.WorkspaceAgentContainer{
1942 ID: uuid.NewString(),
1943 CreatedAt: dbtime.Now(),
1944 FriendlyName: testutil.GetRandomName(t),
1945 Image: "busybox:latest",
1946 Labels: map[string]string{
1947 agentcontainers.DevcontainerLocalFolderLabel: workspaceFolder,
1948 agentcontainers.DevcontainerConfigFileLabel: configFile,
1949 },
1950 Running: true,
1951 Status: "running",
1952 }
1953 devcontainer := codersdk.WorkspaceAgentDevcontainer{
1954 ID: devcontainerID,
1955 Name: "test-devcontainer",
1956 WorkspaceFolder: workspaceFolder,
1957 ConfigPath: configFile,
1958 Status: codersdk.WorkspaceAgentDevcontainerStatusRunning,
1959 Container: &devContainer,
1960 }
1961
1962 mCtrl := gomock.NewController(t)
1963 mCCLI := acmock.NewMockContainerCLI(mCtrl)
1964 mDCCLI := acmock.NewMockDevcontainerCLI(mCtrl)
1965
1966 mCCLI.EXPECT().List(gomock.Any()).Return(codersdk.WorkspaceAgentListContainersResponse{
1967 Containers: []codersdk.WorkspaceAgentContainer{devContainer},
1968 }, nil).AnyTimes()
1969 mCCLI.EXPECT().DetectArchitecture(gomock.Any(), devContainer.ID).Return("<none>", nil).AnyTimes()
1970 mDCCLI.EXPECT().ReadConfig(gomock.Any(), workspaceFolder, configFile, gomock.Any()).Return(agentcontainers.DevcontainerConfig{}, nil).AnyTimes()
1971
1972 devcontainerAPIOptions := []agentcontainers.Option{
1973 agentcontainers.WithContainerCLI(mCCLI),
1974 agentcontainers.WithDevcontainerCLI(mDCCLI),
1975 agentcontainers.WithWatcher(watcher.NewNoop()),
1976 agentcontainers.WithDevcontainers([]codersdk.WorkspaceAgentDevcontainer{devcontainer}, nil),
1977 }
1978
1979 return mCtrl, mCCLI, mDCCLI, devContainer, devcontainer, devcontainerAPIOptions
1980 }
1981

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
EXPECTMethod · 0.95
StatusCodeMethod · 0.95
NowFunction · 0.92
GetRandomNameFunction · 0.92
NewMockContainerCLIFunction · 0.92
NewMockDevcontainerCLIFunction · 0.92
WithContainerCLIFunction · 0.92
WithDevcontainerCLIFunction · 0.92
WithWatcherFunction · 0.92
NewNoopFunction · 0.92
WithDevcontainersFunction · 0.92

Tested by

no test coverage detected