Exemplo n.º 1
0
        public async Task BlobImageRecordSharing_WithUnauthorizeUser_ReturnsExpectedNotFound()
        {
            var nodeRecordResponse = await JohnApi.GetNodesById(FileId);

            var nodeRecord = JArray.Parse(await nodeRecordResponse.Content.ReadAsStringAsync()).First();

            var nodeRecordId   = nodeRecord["id"].ToObject <Guid>();
            var recordResponse = await JohnApi.GetRecordEntityById(nodeRecordId);

            var record   = JObject.Parse(await recordResponse.Content.ReadAsStringAsync());
            var recordId = record["id"].ToObject <Guid>();
            var imageId  = record["images"].First()["id"].ToObject <Guid>();

            var response = await UnauthorizedApi.GetImagesRecordEntityById(recordId, imageId);

            response.IsSuccessStatusCode.Should().Be(false);
//            response.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.NotFound);
//            response.ReasonPhrase.ShouldAllBeEquivalentTo("Not Found");
        }
        public async Task FileSharing_WithUnauthorizeUser_ReturnsExpectedImageRecord()
        {
            var nodeRecordResponse = await JohnApi.GetNodesById(FileId);

            var nodeRecord = JArray.Parse(await nodeRecordResponse.Content.ReadAsStringAsync()).First();

            var nodeRecordId   = nodeRecord["id"].ToObject <Guid>();
            var recordResponse = await JohnApi.GetRecordEntityById(nodeRecordId);

            var record   = JObject.Parse(await recordResponse.Content.ReadAsStringAsync());
            var recordId = record["id"].ToObject <Guid>();
            var imageId  = record["images"].First()["id"].ToObject <Guid>();

            var blobResponse = await UnauthorizedApi.GetImagesRecordEntityById(recordId, imageId);

            blobResponse.EnsureSuccessStatusCode();
            blobResponse.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.OK);
            blobResponse.Content.Headers.ContentType.MediaType.ShouldBeEquivalentTo("application/octet-stream");
            blobResponse.Content.Headers.ContentLength.Should().BeGreaterThan(10000);
            blobResponse.Content.Headers.ContentDisposition.FileName.ShouldBeEquivalentTo("Aspirin.mol.svg");
        }