Example #1
0
        public IResourceHandler GetResourceHandler(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request)
        {
            var requestUrl = RequestUrl.FromString(request.Url);

            var api      = GetApi(requestUrl.Api);
            var mimeType = mimeResolver.GetMimeType(Path.GetFileName(requestUrl.Resource));

            return(ResourceHandler.FromByteArray(api.ProcessRequest(requestUrl), mimeType));
        }
Example #2
0
        public void FromString_WithRequestedResource_ReturnsResourcePath()
        {
            var stringUrl = "http://test/test.csproj";

            var result = RequestUrl.FromString(stringUrl);

            var resourceResult = result.Resource;

            Assert.AreEqual("test.csproj", resourceResult);
        }
Example #3
0
        public void FromString_WithApi_ReturnsApi()
        {
            var stringUrl = "http://test/test.csproj";

            var result = RequestUrl.FromString(stringUrl);

            var apiResult = result.Api;

            Assert.AreEqual("test", apiResult);
        }
Example #4
0
        public void FromString_WithTwoGetParameters_ReturnsParameters()
        {
            var stringUrl = $"http://test/test.csproj?key=value&key2=value2";

            var result = RequestUrl.FromString(stringUrl);

            var parameterResult = result.Parameters.Skip(1).Single();

            Assert.AreEqual("key2", parameterResult.Key);
            Assert.AreEqual("value2", parameterResult.Value);
        }
Example #5
0
        public void ProcessRequest_FileSystemThrowsException_ReturnsFolderJson()
        {
            var setup      = new TestSetup();
            var requestUrl = new RequestUrl("FileApi", "files.json", new RequestParameter[] { new RequestParameter("Directory", @"C:\temp") });

            setup.FileSystem
            .Setup(x => x.GetFiles(It.IsAny <string>()))
            .Throws(new System.IO.IOException("Could not load folder"));
            var testee = setup.CreateTestee();

            var result = Encoding.UTF8.GetString(
                testee.ProcessRequest(RequestUrl.FromString(requestUrl.ToString())));

            Assert.AreEqual("{\"files\":null,\"errorMessage\":\"Could not load folder\"}", result);
        }
Example #6
0
        public void ProcessRequest_FileSystemReturnsFiles_ReturnsFolderJson()
        {
            var setup      = new TestSetup();
            var requestUrl = new RequestUrl("FileApi", "files.json", new RequestParameter[] { new RequestParameter("Directory", @"C:\temp") });

            setup.FileSystem
            .Setup(x => x.GetFiles(It.Is <string>(y => y == @"C:\temp")))
            .Returns(new[] { new File {
                                 Kind = FileKind.File, Path = "TestFile"
                             } });
            var testee = setup.CreateTestee();

            var result = Encoding.UTF8.GetString(
                testee.ProcessRequest(RequestUrl.FromString(requestUrl.ToString())));

            Assert.AreEqual("{\"files\":[{\"kind\":0,\"path\":\"TestFile\"}],\"errorMessage\":null}", result);
        }