To properly test this diff it is required to create some C++ code that uses rust methods implemented in this diff to upload and download some data to and from blob service. Currently it is hard to do so since we cannot just temporarily place C++ bindings for those rust methods somewhere in native code (AppDelegate.mm or CommCoreModule.cpp) since we cannot call rust from C++ on native yet. So in order to test this diff (in fact the entire diff stack) I created a simple branch with small C++ project that does exactly the same thing as test plan for parent differential. It can be seen here: https://github.com/CommE2E/comm/tree/marcin/blob-native-client-test-app.
To test one needs first to install corrosion. (https://github.com/CommE2E/comm/blob/master/services/lib/docker/install_corrosion.sh) and start blob service locally.
Then execute (from the root of blob_client directory) :
```
mkdir target
cd target
cmake ..
make
cd ..
./target/bin/blob_client_app
```
Any connection or transportation error will be logged to the console from `try{...}catch(...){...}` statement, and if data gest corrupted during transportation the assert statement should fail.