コード例 #1
0
        public async Task GetWritableAccessorAsync_GivenValidAccessorRequest_ShouldReturnAccessor()
        {
            var mockUrlProvider = new Mock <IOutputObjectUrlProvider>();
            var mockSigner      = new Mock <ISigner <ObjectUrl> >();

            var objectUrlAccessorProvider = new OutputObjectUrlAccessorProvider(mockUrlProvider.Object, mockSigner.Object);

            var accessorRequest = new OutputObjectAccessorRequest
            {
                ExecutionMetadata = new ExecutionRequest {
                    ExecutionId = Guid.NewGuid().ToString()
                },
                ObjectMetadata = new ExtensionOutputObject {
                    Name = "OutputObjectA"
                }
            };

            var objectUrl = new ObjectUrl
            {
                Url        = "http://test.com/some-object",
                HttpMethod = HttpMethod.Put.Method
            };

            var objectUrlJson = JObject.FromObject(objectUrl);

            mockUrlProvider.Setup(up => up.GetWritableUrlAsync(It.Is <ObjectUrlRequest>(
                                                                   ur => ur.ExecutionMetadata.ExecutionId == accessorRequest.ExecutionMetadata.ExecutionId &&
                                                                   ur.ObjectName == accessorRequest.ObjectMetadata.Name)))
            .Returns(Task.FromResult(objectUrl));

            var accessor = await objectUrlAccessorProvider.GetWritableAccessorAsync(accessorRequest);

            accessor.Should().NotBeNull();
            accessor.Should().BeEquivalentTo(objectUrlJson);
        }
コード例 #2
0
        public void GetWritableAccessorAsync_GivenNullAccessorRequest_ShouldThrowException()
        {
            var mockUrlProvider = new Mock <IOutputObjectUrlProvider>();
            var mockSigner      = new Mock <ISigner <ObjectUrl> >();

            var objectUrlAccessorProvider = new OutputObjectUrlAccessorProvider(mockUrlProvider.Object, mockSigner.Object);

            Func <Task> act = async() => await objectUrlAccessorProvider.GetWritableAccessorAsync(null);

            act.Should().Throw <ArgumentNullException>();
        }