Draft: PackerTestを作成
PackerTestを作成
S3にPutするファイル数を削減するために、複数のファイルを一つに固めてPutするためのレイヤの仮実装とテストを作成
実装内容
test/packer.test.ts
処理の流れ
ローカルディレクトリ + ファイル差分`Array<FileChange>`
↓ 変換
アップロード用のファイル群 + ファイル情報`Array<UploadControlRecord>`
↓ アップロード
S3ファイル群 + スナップショット`Array<SyncableEntityFileSetSnapshot>`
↓ 複数のスナップショットを合成
S3ファイル群 + スナップショット`Array<SyncableEntityFileSetSnapshot>`
↓ 差分を展開
ローカルディレクトリ
最初のローカルディレクトリと最後のローカルディレクトリが一致することが要件
test/directoryUtil.test.ts
テストで使うためのディレクトリ操作Util
- ディレクトリが一致していることを検証
- jsのオブジェクトからテスト用の簡易ファイル群を作成
test/filePacker.test.ts
class FilePacker 複数ファイルをstreamを介して一つのファイルにまとめる class FileUnpacker FilPackerでまとめたファイルから必要なファイルを展開する
実装進捗
- ファイル結合せずにアップロードとダウンロードができる
- ファイル結合に対応
- ファイル圧縮に対応