public void CustomGitRepositoryHandlerBasic(IScenario scenario)
        {
            var headers           = new System.Collections.Specialized.NameValueCollection();
            var request           = new Mock <HttpRequestBase>();
            var response          = new Mock <HttpResponseBase>();
            var context           = new Mock <HttpContextBase>();
            var environment       = new Mock <IEnvironment>();
            var repositoryFactory = new Mock <IRepositoryFactory>();
            var repository        = new Mock <IRepository>();

            repository.SetupGet(c => c.RepositoryType).Returns(RepositoryType.Git);
            repositoryFactory.Setup(c => c.GetCustomRepository())
            .Returns(scenario.RepositoryExists ? repository.Object : null);
            environment.SetupGet(c => c.RootPath).Returns(scenario.SiteRoot);
            environment.SetupProperty(c => c.RepositoryPath);
            request.SetupGet(c => c.Url).Returns(scenario.RequestUri);
            request.SetupGet(c => c.Headers).Returns(headers);
            response.SetupGet(c => c.OutputStream).Returns(new System.IO.MemoryStream());
            response.SetupProperty(c => c.StatusCode);
            context.SetupGet(c => c.Response).Returns(response.Object);
            context.SetupGet(c => c.Request).Returns(request.Object);

            CustomGitRepositoryHandler handler =
                CreateHandler(environment: environment.Object,
                              repositoryFactory: repositoryFactory.Object);

            handler.ProcessRequestBase(context.Object);
            scenario.Verify(environment.Object, (HttpStatusCode)response.Object.StatusCode);
        }
Esempio n. 2
0
        public void CustomGitRepositoryHandlerParseInvalidRequestUri(string requestPath)
        {
            var localRelPath = "";
            var uri          = new Uri("http://igored" + requestPath, UriKind.Absolute);
            var requestType  = GitServerRequestType.Unknown;

            var ret = CustomGitRepositoryHandler.TryParseUri(uri, out localRelPath, out requestType);

            Assert.False(ret);
            Assert.Equal(GitServerRequestType.Unknown, requestType);
            Assert.Null(localRelPath);
        }
Esempio n. 3
0
        // This test case workd from VS but fails from build.cmd for some reason
        //[InlineData("Git/c%3A%5Ca%5C%5Cb%5Cc%20D//Git-upload-pack?ignored&ignored", @"c:\a\\b\c D", GitServerRequestType.UploadPack)]
        public void CustomGitRepositoryHandlerParseValidRequestUri(
            string requestPath,
            string expectedLocaRellPath,
            GitServerRequestType expectedRequestType)
        {
            var    handler      = CreateHandler();
            string localRelPath = "";
            var    uri          = new Uri("http://igored/" + requestPath, UriKind.Absolute);
            GitServerRequestType requestType = GitServerRequestType.Unknown;
            var ret = CustomGitRepositoryHandler.TryParseUri(uri, out localRelPath, out requestType);

            Assert.True(ret);
            Assert.Equal(expectedRequestType, requestType);
            Assert.Equal(expectedLocaRellPath, localRelPath);
        }