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); }
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>(); }