Basic file uploader implemetation. Does not wait for replication to finish.
diff --git a/client/client_test.go b/client/client_test.go
new file mode 100644
index 0000000..21443d4
--- /dev/null
+++ b/client/client_test.go
@@ -0,0 +1,37 @@
+package client
+
+import (
+ "os"
+ "testing"
+
+ "google.golang.org/grpc"
+
+ "pcloud/api"
+ pt "pcloud/testing"
+)
+
+func TestUploadSmallFile(t *testing.T) {
+ env, err := pt.NewInMemoryEnv(1)
+ if err != nil {
+ t.Error(err)
+ }
+ defer env.Stop()
+
+ var opts []grpc.DialOption
+ opts = append(opts, grpc.WithInsecure())
+ opts = append(opts, grpc.WithBlock())
+ conn, err := grpc.Dial("unix:///tmp/pcloud/master", opts...)
+ if err != nil {
+ t.Error(err)
+ }
+ defer conn.Close()
+ client := api.NewMetadataStorageClient(conn)
+
+ uploader := NewFileUploader(client)
+ f, err := os.Open("testdata/foo")
+ if err != nil {
+ t.Error(err)
+ }
+ uploader.Upload(f)
+
+}