MCPcopy
hub / github.com/basecamp/once / buildTestBackup

Function buildTestBackup

integration/docker_test.go:1160–1207  ·  view source on GitHub ↗
(t *testing.T, imageName string)

Source from the content-addressed store, hash-verified

1158}
1159
1160func buildTestBackup(t *testing.T, imageName string) []byte {
1161 t.Helper()
1162
1163 appSettings := docker.ApplicationSettings{
1164 Name: "hookapp",
1165 Image: imageName,
1166 Host: "hookapp.localhost",
1167 }
1168 volSettings := docker.ApplicationVolumeSettings{SecretKeyBase: "test-secret-key"}
1169
1170 var buf bytes.Buffer
1171 gw := gzip.NewWriter(&buf)
1172 tw := tar.NewWriter(gw)
1173
1174 writeEntry := func(name string, data []byte) {
1175 header := &tar.Header{Name: name, Size: int64(len(data)), Mode: 0644}
1176 require.NoError(t, tw.WriteHeader(header))
1177 _, err := tw.Write(data)
1178 require.NoError(t, err)
1179 }
1180
1181 writeEntry("once.application.json", []byte(appSettings.Marshal()))
1182 writeEntry("once.volume.json", []byte(volSettings.Marshal()))
1183
1184 // Add data directory with a marker file for hook testing.
1185 // Use UID/GID 1000 to match realistic backup ownership.
1186 require.NoError(t, tw.WriteHeader(&tar.Header{
1187 Name: "data/",
1188 Typeflag: tar.TypeDir,
1189 Mode: 0755,
1190 Uid: 1000,
1191 Gid: 1000,
1192 }))
1193 require.NoError(t, tw.WriteHeader(&tar.Header{
1194 Name: "data/hook-input",
1195 Mode: 0644,
1196 Size: int64(len("test data")),
1197 Uid: 1000,
1198 Gid: 1000,
1199 }))
1200 _, writeErr := tw.Write([]byte("test data"))
1201 require.NoError(t, writeErr)
1202
1203 require.NoError(t, tw.Close())
1204 require.NoError(t, gw.Close())
1205
1206 return buf.Bytes()
1207}
1208
1209func inspectContainerEnv(t *testing.T, ctx context.Context, name string) []string {
1210 t.Helper()

Calls 5

MarshalMethod · 0.95
MarshalMethod · 0.95
WriteHeaderMethod · 0.80
WriteMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…