()
| 1265 | } |
| 1266 | |
| 1267 | func testCopyObjectWithVersioning() { |
| 1268 | // initialize logging params |
| 1269 | startTime := time.Now() |
| 1270 | testName := getFuncName() |
| 1271 | function := "CopyObject()" |
| 1272 | args := map[string]interface{}{} |
| 1273 | |
| 1274 | c, err := NewClient(ClientConfig{}) |
| 1275 | if err != nil { |
| 1276 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 1277 | return |
| 1278 | } |
| 1279 | |
| 1280 | // Generate a new random bucket name. |
| 1281 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 1282 | args["bucketName"] = bucketName |
| 1283 | |
| 1284 | // Make a new bucket. |
| 1285 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true}) |
| 1286 | if err != nil { |
| 1287 | logError(testName, function, args, startTime, "", "Make bucket failed", err) |
| 1288 | return |
| 1289 | } |
| 1290 | |
| 1291 | err = c.EnableVersioning(context.Background(), bucketName) |
| 1292 | if err != nil { |
| 1293 | logError(testName, function, args, startTime, "", "Enable versioning failed", err) |
| 1294 | return |
| 1295 | } |
| 1296 | |
| 1297 | objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "") |
| 1298 | args["objectName"] = objectName |
| 1299 | |
| 1300 | testFiles := []string{"datafile-1-b", "datafile-10-kB"} |
| 1301 | for _, testFile := range testFiles { |
| 1302 | r := getDataReader(testFile) |
| 1303 | buf, err := io.ReadAll(r) |
| 1304 | if err != nil { |
| 1305 | logError(testName, function, args, startTime, "", "unexpected failure", err) |
| 1306 | return |
| 1307 | } |
| 1308 | r.Close() |
| 1309 | _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{}) |
| 1310 | if err != nil { |
| 1311 | logError(testName, function, args, startTime, "", "PutObject failed", err) |
| 1312 | return |
| 1313 | } |
| 1314 | } |
| 1315 | |
| 1316 | objectsInfo := c.ListObjects(context.Background(), bucketName, minio.ListObjectsOptions{WithVersions: true, Recursive: true}) |
| 1317 | var infos []minio.ObjectInfo |
| 1318 | for info := range objectsInfo { |
| 1319 | if info.Err != nil { |
| 1320 | logError(testName, function, args, startTime, "", "Unexpected error during listing objects", err) |
| 1321 | return |
| 1322 | } |
| 1323 | infos = append(infos, info) |
| 1324 | } |
no test coverage detected