public async void GetABinaryFile() { string applicationId = testAppId; int instanceOwnerId = testInstanceOwnerId; Instance instance = await storageClient.PostInstances(applicationId, instanceOwnerId); Instance instance2 = await storageClient.PostDataReadFromFile(instance.Id, "binary_file.pdf", "application/pdf"); string dataId = instance2.Data.Find(m => m.ElementType.Equals("default")).Id; string requestUri = $"{versionPrefix}/instances/{instance2.Id}/data/{dataId}"; using (HttpResponseMessage response = await client.GetAsync(requestUri, HttpCompletionOption.ResponseHeadersRead)) { if (response.IsSuccessStatusCode) { using (Stream remoteStream = await response.Content.ReadAsStreamAsync()) using (var output = File.Create("test.pdf")) { await remoteStream.CopyToAsync(output); } } } }
/// <summary> /// Test a user scenario. Create application, multiple get/put changed data, /// </summary> /// [Fact] public async void TestUserScenario() { InstanceClient storage = new InstanceClient(new HttpClient()); int instanceOwnerId = 42; // Create application instance string instanceId = await storage.PostInstances("TEST-sailor", instanceOwnerId); Instance instance = await storage.GetInstances(instanceId, instanceOwnerId); Dictionary <string, string> data = new Dictionary <string, string> { { "dataFor", instanceOwnerId.ToString() } }; await storage.PostDataReadFromFile(instanceId, instanceOwnerId, "test.json", "application/json"); Instance instanceUpdated = await storage.GetInstances(instanceId, instanceOwnerId); string dataId = instance.Data.Find(m => m.FormId.Equals("default")).Id; for (int i = 0; i < 100; i++) { data.Add("field" + i, RandomString(i)); logger.Information(data["field" + i]); /* * storage.PutData(instanceId, dataId, instanceOwnerId, "test.json", "applicatino/json", data); * * var storedData = storage.GetData(instanceId, dataId, instanceOwnerId); */ } }