test/kloudless/file_test.rb in kloudless-0.1.0 vs test/kloudless/file_test.rb in kloudless-0.2.0
- old
+ new
@@ -1,37 +1,53 @@
require_relative "../test_helper"
class Kloudless::FileTest < Minitest::Test
def test_upload_file
- Kloudless.http.expect(:post, returns: {"id" => "foo"}, args: ["/accounts/1/files", params: {}]) do
- file = Kloudless::File.upload(account_id: 1)
+ metadata = {parent_id: "parent", name: "foo.txt"}
+ Kloudless.http.expect(:post, returns: {"id" => "foo"}, args: [
+ "/accounts/1/files", data: "FILE CONTENTS",
+ headers: {'X-Kloudless-Metadata' => metadata.to_json,
+ "Content-Type" => 'application/octet-stream'},
+ params: {}, parse_request: false]) do
+ file = Kloudless::File.upload(account_id: 1, data: "FILE CONTENTS",
+ parent_id: metadata[:parent_id],
+ file_name: metadata[:name])
assert_kind_of Kloudless::File, file
end
end
def test_retrieve_file_metadata
- Kloudless.http.expect(:get, returns: {"id" => "foo"}, args:["/accounts/1/files/2"]) do
+ Kloudless.http.expect(:get, returns: {"id" => "foo"}, args:["/accounts/1/files/2", params: {}]) do
metadata = Kloudless::File.metadata(account_id: 1, file_id: 2)
assert_kind_of Kloudless::File, metadata # TODO: not really a type
end
end
def test_rename_file
- Kloudless.http.expect(:patch, returns: {"id" => "foo"}, args:["/accounts/1/files/2", params: {name: "new-name.txt"}]) do
+ Kloudless.http.expect(:patch, returns: {"id" => "foo"}, args:["/accounts/1/files/2", params: {}, data: {name: "new-name.txt"}]) do
file = Kloudless::File.rename(account_id: 1, file_id: 2, name: "new-name.txt")
assert_kind_of Kloudless::File, file
end
end
+ def test_update
+ Kloudless.http.expect(:put, returns: {"id" => "foo"}, args: [
+ "/accounts/1/files/2", data: "FILE CONTENTS", parse_request: false,
+ headers: {'Content-Type' => 'application/octet-stream'}]) do
+ file = Kloudless::File.update(account_id: 1, file_id: 2, data: "FILE CONTENTS")
+ assert_kind_of Kloudless::File, file
+ end
+ end
+
def test_download
- Kloudless.http.expect(:get_raw, returns: "FILE CONTENTS", args:["/accounts/1/files/2/contents"]) do
+ Kloudless.http.expect(:get, returns: "FILE CONTENTS", args:["/accounts/1/files/2/contents", params: {}, parse_response: false]) do
contents = Kloudless::File.download(account_id: 1, file_id: 2)
assert_equal "FILE CONTENTS", contents
end
end
def test_copy
- Kloudless.http.expect(:post, returns: {"id" => "foo"}, args:["/accounts/1/files/2/copy", params: {parent_id: "parent-id"}]) do
+ Kloudless.http.expect(:post, returns: {"id" => "foo"}, args:["/accounts/1/files/2/copy", params: {}, data: {parent_id: "parent-id"}]) do
file = Kloudless::File.copy(account_id: 1, file_id: 2, parent_id: "parent-id")
assert_kind_of Kloudless::File, file
end
end