tests/testthat/test.multipart-upload-api.R

test_that("UploadPartCopy,AbortMultipartUpload", {
  PutBucket('ross-test')
  r <- InitiateMultipartUpload('ross-test', 'multi-test.txt')
  expect_equal(r$status, 200)
  uploadId <- unlist(xpath2list(httr::content(r, encoding = 'UTF-8'), '//UploadId'))
  r <- PutObject('ross-test', 'test.txt', 'test')
  expect_equal(r$status, 200)
  r <- UploadPartCopy('/ross-test/test.txt', 'ross-test', 'multi-test.txt', uploadId, 2, Range = '0-1')
  expect_equal(r$status, 200)
  r <- AbortMultipartUpload('ross-test', 'multi-test.txt', uploadId)
  expect_equal(r$status, 204)
  r <- DeleteObject('ross-test', 'test.txt')
  expect_equal(r$status, 204)
})

test_that("UploadPart,CompleteMultipartUpload", {
  PutBucket('ross-test')
  r <- InitiateMultipartUpload('ross-test', 'multi-test.txt', encryption = 'AES256')
  expect_equal(r$status, 200)
  uploadId <- unlist(xpath2list(httr::content(r, encoding = 'UTF-8'), '//UploadId'))
  r <- UploadPart('ross-test', 'multi-test.txt', uploadId, 1, 'test1')
  expect_equal(r$status, 200)
  r <- CompleteMultipartUpload('ross-test', 'multi-test.txt', uploadId)
  expect_equal(r$status, 200)
})

test_that("UploadPart,ListParts", {
  PutBucket('ross-test')
  r <- InitiateMultipartUpload('ross-test', 'multi-test.txt')
  uploadId <- unlist(xpath2list(httr::content(r, encoding = 'UTF-8'), '//UploadId'))
  r <- UploadPart('ross-test', 'multi-test.txt', uploadId, 1, 'test1')
  expect_equal(r$status, 200)
  r <- UploadPart('ross-test', 'multi-test.txt', uploadId, 2, 'test2')
  expect_equal(r$status, 200)
  r <- ListParts('ross-test', 'multi-test.txt', uploadId)
  expect_equal(r$status, 200)
  r <- ListParts('ross-test', 'multi-test.txt', uploadId, max=1)
  expect_equal(r$status, 200)
  r <- ListParts('ross-test', 'multi-test.txt', uploadId, marker = 1)
  expect_equal(r$status, 200)
  r <- AbortMultipartUpload('ross-test', 'multi-test.txt', uploadId)
})

test_that("ListMultipartUploads", {
  PutBucket('ross-test')
  r <- InitiateMultipartUpload('ross-test', 'multi/test.txt', encryption = 'AES256')
  expect_equal(r$status, 200)
  r <- InitiateMultipartUpload('ross-test', 'multi/test2.txt')
  expect_equal(r$status, 200)
  r <- ListMultipartUploads('ross-test')
  expect_equal(r$status, 200)
  uploadIds <- unlist(xpath2list(httr::content(r, encoding = 'UTF-8'), '//UploadId'))
  expect_equal(length(uploadIds), 2)
  r <- ListMultipartUploads('ross-test', max=1, marker='multi-test.txt')
  expect_equal(r$status, 200)
  r <- ListMultipartUploads('ross-test', max=1, marker='multi-test.txt', id_marker=uploadIds[1])
  expect_equal(r$status, 200)
  r <- ListMultipartUploads('ross-test', delimiter = '/', max=1)
  expect_equal(r$status, 200)
  Prefix <- unlist(xpath2list(httr::content(r, encoding = 'UTF-8'), '//Prefix'))
  expect_equal(Prefix, 'multi/')
  r <- ListMultipartUploads('ross-test')
  expect_equal(r$status, 200)
  uploads <- httr::content(r, encoding = 'UTF-8')
  sapply(xpath2list(uploads, '//Upload'), function(x){
    r <- AbortMultipartUpload('ross-test', x$Key, x$UploadId)
    expect_equal(r$status, 204)
  })
})
gahoo/ross documentation built on May 16, 2019, 5:35 p.m.