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

Function CreateTemplateVersionMimeType

coderd/coderdtest/coderdtest.go:1047–1077  ·  view source on GitHub ↗
(t testing.TB, client *codersdk.Client, mimeType string, organizationID uuid.UUID, res *echo.Responses, mutators ...func(*codersdk.CreateTemplateVersionRequest))

Source from the content-addressed store, hash-verified

1045}
1046
1047func CreateTemplateVersionMimeType(t testing.TB, client *codersdk.Client, mimeType string, organizationID uuid.UUID, res *echo.Responses, mutators ...func(*codersdk.CreateTemplateVersionRequest)) codersdk.TemplateVersion {
1048 t.Helper()
1049 data, err := echo.TarWithOptions(context.Background(), client.Logger(), res)
1050 require.NoError(t, err)
1051
1052 switch mimeType {
1053 case codersdk.ContentTypeTar:
1054 // do nothing
1055 case codersdk.ContentTypeZip:
1056 data, err = archive.CreateZipFromTar(tar.NewReader(bytes.NewBuffer(data)), int64(len(data)))
1057 require.NoError(t, err, "creating zip")
1058 default:
1059 t.Fatal("unexpected mime type", mimeType)
1060 }
1061
1062 file, err := client.Upload(context.Background(), mimeType, bytes.NewReader(data))
1063 require.NoError(t, err)
1064
1065 req := codersdk.CreateTemplateVersionRequest{
1066 FileID: file.ID,
1067 StorageMethod: codersdk.ProvisionerStorageMethodFile,
1068 Provisioner: codersdk.ProvisionerTypeEcho,
1069 }
1070 for _, mut := range mutators {
1071 mut(&req)
1072 }
1073
1074 templateVersion, err := client.CreateTemplateVersion(context.Background(), organizationID, req)
1075 require.NoError(t, err)
1076 return templateVersion
1077}
1078
1079// CreateTemplateVersion creates a template import provisioner job
1080// with the responses provided. It uses the "echo" provisioner for compatibility

Callers 2

DynamicParameterTemplateFunction · 0.85
CreateTemplateVersionFunction · 0.85

Calls 7

TarWithOptionsFunction · 0.92
CreateZipFromTarFunction · 0.92
FatalMethod · 0.80
HelperMethod · 0.65
UploadMethod · 0.65
CreateTemplateVersionMethod · 0.65
LoggerMethod · 0.45

Tested by

no test coverage detected