2020-10-21 03:27:51 +02:00
|
|
|
require "../filestorage.cr"
|
2020-01-02 09:21:11 +01:00
|
|
|
|
|
|
|
# This file test the following code
|
|
|
|
# classes:
|
|
|
|
# * Chunk, FileInfo
|
|
|
|
# * UploadRequest, DownloadRequest
|
|
|
|
# * AuthenticationMessage, Response, TransferMessage
|
|
|
|
# functions:
|
|
|
|
# * data_digest, file_digest
|
|
|
|
|
|
|
|
# data_digest
|
|
|
|
# `echo -n "coucou" | sha256sum`
|
|
|
|
# => 110812f67fa1e1f0117f6f3d70241c1a42a7b07711a93c2477cc516d9042f9db
|
|
|
|
|
|
|
|
filename = "./README.md"
|
|
|
|
|
|
|
|
data = "coucou".chomp.to_slice
|
|
|
|
pp! FileStorage.data_digest data
|
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# file_digest
|
|
|
|
# `cat README.md | sha256sum`
|
|
|
|
# => 79c66991a965185958a1efb17d12652bdd8dc2de0da89b2dc152e2eeb2e02eff
|
|
|
|
File.open(filename) do |file|
|
|
|
|
pp! FileStorage.file_digest file
|
|
|
|
end
|
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# Chunk
|
|
|
|
pp! FileStorage::Chunk.new 1, 2, "blablabla"
|
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# FileInfo
|
|
|
|
File.open(filename) do |file|
|
|
|
|
pp! FileStorage::FileInfo.new file, [ "tag1", "tag2" ]
|
|
|
|
end
|
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# Token
|
|
|
|
# XXX: should not exist, it will be replaced by an authd JWT token soon.
|
|
|
|
token = FileStorage::Token.new 1002, "jean-dupont"
|
|
|
|
pp! token
|
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# for later
|
2020-01-30 17:46:51 +01:00
|
|
|
upload_requests = Array(FileStorage::UploadRequest).new
|
2020-01-02 09:21:11 +01:00
|
|
|
|
|
|
|
# UploadRequest
|
|
|
|
File.open(filename) do |file|
|
|
|
|
file_info = FileStorage::FileInfo.new file, [ "tag1", "tag2" ]
|
2020-01-30 17:46:51 +01:00
|
|
|
upload_request = FileStorage::UploadRequest.new file_info
|
2020-01-02 09:21:11 +01:00
|
|
|
pp! upload_request
|
2020-01-30 17:46:51 +01:00
|
|
|
upload_requests << upload_request
|
2020-01-02 09:21:11 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# DownloadRequest
|
2020-01-30 17:46:51 +01:00
|
|
|
pp! FileStorage::DownloadRequest.new filedigest: "abc"
|
|
|
|
pp! FileStorage::DownloadRequest.new name: "the other one"
|
|
|
|
pp! FileStorage::DownloadRequest.new tags: [ "tag1", "tag2" ]
|
2020-01-02 09:21:11 +01:00
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# AuthenticationMessage
|
2020-01-30 17:46:51 +01:00
|
|
|
pp! FileStorage::Authentication.new token, upload_requests #, download_requests
|
2020-01-02 09:21:11 +01:00
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# Response
|
2020-01-30 17:46:51 +01:00
|
|
|
pp! FileStorage::Response.new "Message ID", "Ok"
|
|
|
|
pp! FileStorage::Response.new "Message ID", "Error", "Cannot store the file"
|
2020-01-02 09:21:11 +01:00
|
|
|
|
|
|
|
puts
|
|
|
|
|
|
|
|
# TransferMessage
|
|
|
|
File.open(filename) do |file|
|
|
|
|
file_info = FileStorage::FileInfo.new file, [ "tag1", "tag2" ]
|
|
|
|
|
|
|
|
somedata = "coucou".to_slice
|
2020-01-30 17:46:51 +01:00
|
|
|
pp! FileStorage::Transfer.new file_info, 1, somedata
|
2020-01-02 09:21:11 +01:00
|
|
|
end
|