public void ShouldUploadOneFileByteArray()
        {
            var file = FileUpload.FromBytes("name", "filename", new byte[] { 0xDE });

            var fileNames = client.Post(file, "invoices")
                            .On(HttpStatusCode.Created).As <string[]>();

            Assert.That(fileNames.Single(), Is.EqualTo("\"name\""));
        }
        public void ShouldUploadMultipleFilesByteArray()
        {
            var files = new[] { FileUpload.FromBytes("name1", "filename", new byte[] { 0xDE }), FileUpload.FromBytes("name2", "filename", new byte[] { 0xDE }) };

            var fileNames = client.Post(files, "invoices/:id", new { id = 1234 })
                            .On(HttpStatusCode.Created).As <IEnumerable <string> >();

            Assert.That(fileNames.First(), Is.EqualTo("\"name1\""));
            Assert.That(fileNames.Last(), Is.EqualTo("\"name2\""));
        }
        public async Task UploadFile()
        {
            using var context = await CreateContextAsync();

            using var client = await context.CreateNewUserAsync();

            var data = Convert.FromBase64String("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGP6DwABBQECz6AuzQAAAABJRU5ErkJggg==");

            var project = await client.Projects.CreateAsync(new CreateProjectRequest { Name = "test1" });

            var result = await client.Projects.UploadFileAsync(project, FileUpload.FromBytes("test.png", data));

            Assert.NotNull(result.Url);
            Assert.NotNull(result.FullPath);
            var actual = await context.AdminHttpClient.GetByteArrayAsync(result.FullPath);

            Assert.Equal(data, actual);
        }
Example #4
0
        public async void ShouldUploadOneFileByteArray()
        {
            var    file    = FileUpload.FromBytes("name", "file.txt", Encoding.ASCII.GetBytes("File Content"));
            string iAmNull = null;

            var result = await client
                         .Post(file, "invoices", new { param1 = "bob", param2 = "fribble", iAmNull })
                         .On(HttpStatusCode.OK)
                         .As <FileUploadResult>();

            Assert.Equal(3, result.Parameters.Length);
            Assert.Contains(result.Parameters, x => x.Key == "param1" && x.Value == "bob");
            Assert.Contains(result.Parameters, x => x.Key == "param2" && x.Value == "fribble");
            Assert.Contains(result.Parameters, x => x.Key == "iAmNull" && string.IsNullOrWhiteSpace(x.Value));

            Assert.Single(result.TextFileInfos);
            Assert.Contains(result.TextFileInfos, x => x.FileName == "file.txt" && x.Content == "File Content");
        }
Example #5
0
        public async void ShouldUploadManyFileByteArray()
        {
            var files = new IFile[]
            {
                FileUpload.FromBytes("first file", "first.txt", Encoding.ASCII.GetBytes("First Content")),
                FileUpload.FromBytes("second file", "second.txt", Encoding.ASCII.GetBytes("Second Content")),
                FileUpload.FromBytes("third file", "third.txt", Encoding.ASCII.GetBytes("Third Content"))
            };

            var result = await client
                         .Post(files, "invoices", new { id = 123 })
                         .On(HttpStatusCode.OK)
                         .As <FileUploadResult>();

            Assert.Single(result.Parameters);
            Assert.Contains(result.Parameters, x => x.Key == "id" && x.Value == "123");

            Assert.Equal(3, result.TextFileInfos.Length);
            Assert.Contains(result.TextFileInfos, x => x.FileName == "first.txt" && x.Content == "First Content");
            Assert.Contains(result.TextFileInfos, x => x.FileName == "second.txt" && x.Content == "Second Content");
            Assert.Contains(result.TextFileInfos, x => x.FileName == "third.txt" && x.Content == "Third Content");
        }