public async void Must_assign_mapped_restrictions()
            {
                var container = MockRepository.GenerateMock <IContainer>();

                _autoRouteCollection.RestrictionContainer(container);
                _routes = (await _autoRouteCollection.GenerateRouteCollectionAsync()).ToArray();

                MethodRestriction[] methodRestrictions = _routes[0].GetRestrictions <MethodRestriction>().ToArray();

                Assert.That(methodRestrictions, Has.Length.EqualTo(2));
            }
 public void SetUp()
 {
     _classFilter = MockRepository.GenerateMock <IClassFilter>();
     _classFilter
     .Stub(arg => arg.MatchesAsync(Arg <Type> .Is.Anything))
     .WhenCalled(arg => arg.ReturnValue = ((Type)arg.Arguments.First() == typeof(Endpoint)).AsCompletedTask())
     .Return(false.AsCompletedTask());
     _idMapper = MockRepository.GenerateMock <IIdMapper>();
     _idMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(IdResult.IdMapped(Guid.NewGuid()).AsCompletedTask());
     _nameMapper = MockRepository.GenerateMock <INameMapper>();
     _nameMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(NameResult.NameMapped("name").AsCompletedTask());
     _resolvedRelativeUrlMapper = MockRepository.GenerateMock <IResolvedRelativeUrlMapper>();
     _resolvedRelativeUrlMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative").AsCompletedTask());
     _authenticationProvider = MockRepository.GenerateMock <IAuthenticationProvider>();
     _authenticationProvider
     .Stub(arg => arg.AuthenticateAsync(Arg <HttpRequestBase> .Is.Anything, Arg <HttpResponseBase> .Is.Anything, Arg <Route.Routing.Route> .Is.Anything))
     .Return(AuthenticationResult.AuthenticationSucceeded.AsCompletedTask());
     _authenticationStrategy = MockRepository.GenerateMock <IAuthenticationStrategy>();
     _authenticationStrategy.Stub(arg => arg.MustAuthenticateAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(true.AsCompletedTask());
     _autoRouteCollection = new AutoRouteCollection()
                            .Assemblies(Assembly.GetExecutingAssembly())
                            .ClassFilters(_classFilter)
                            .NameMappers(_nameMapper)
                            .IdMappers(_idMapper)
                            .ResolvedRelativeUrlMappers(_resolvedRelativeUrlMapper)
                            .Authenticate(_authenticationProvider, _authenticationStrategy);
     _routes = _autoRouteCollection.GenerateRouteCollectionAsync().Result.ToArray();
 }
 public void SetUp()
 {
     _classFilter = MockRepository.GenerateMock <IClassFilter>();
     _classFilter
     .Stub(arg => arg.MatchesAsync(Arg <Type> .Is.Anything))
     .WhenCalled(arg => arg.ReturnValue = ((Type)arg.Arguments.First() == typeof(Endpoint)).AsCompletedTask())
     .Return(false.AsCompletedTask());
     _idMapper = MockRepository.GenerateMock <IIdMapper>();
     _idMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(IdResult.IdMapped(Guid.NewGuid()).AsCompletedTask());
     _nameMapper = MockRepository.GenerateMock <INameMapper>();
     _nameMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(NameResult.NameMapped("name").AsCompletedTask());
     _resolvedRelativeUrlMapper1 = MockRepository.GenerateMock <IResolvedRelativeUrlMapper>();
     _resolvedRelativeUrlMapper1.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative1").AsCompletedTask());
     _resolvedRelativeUrlMapper2 = MockRepository.GenerateMock <IResolvedRelativeUrlMapper>();
     _resolvedRelativeUrlMapper2.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative2").AsCompletedTask());
     _responseMapper = MockRepository.GenerateMock <IResponseMapper>();
     _responseMapper
     .Stub(arg => arg.MapAsync(Arg <Func <IContainer> > .Is.Anything, Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything, Arg <Route.Routing.Route> .Is.Anything))
     .Return(Task.Factory.Empty());
     _autoRouteCollection = new AutoRouteCollection()
                            .Assemblies(Assembly.GetExecutingAssembly())
                            .ClassFilters(_classFilter)
                            .NameMappers(_nameMapper)
                            .IdMappers(_idMapper)
                            .ResolvedRelativeUrlMappers(_resolvedRelativeUrlMapper1)
                            .ResponseMapper(_responseMapper);
     _routes = _autoRouteCollection.GenerateRouteCollectionAsync().Result.ToArray();
 }
 public void SetUp()
 {
     _classFilter = MockRepository.GenerateMock <IClassFilter>();
     _classFilter
     .Stub(arg => arg.MatchesAsync(Arg <Type> .Is.Anything))
     .WhenCalled(arg => arg.ReturnValue = ((Type)arg.Arguments.First() == typeof(Endpoint)).AsCompletedTask())
     .Return(false.AsCompletedTask());
     _idMapper = MockRepository.GenerateMock <IIdMapper>();
     _idMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(IdResult.IdMapped(Guid.NewGuid()).AsCompletedTask());
     _nameMapper = MockRepository.GenerateMock <INameMapper>();
     _nameMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(NameResult.NameMapped(Guid.NewGuid().ToString()).AsCompletedTask());
     _resolvedRelativeUrlMapper = MockRepository.GenerateMock <IResolvedRelativeUrlMapper>();
     _resolvedRelativeUrlMapper.Stub(arg => arg.MapAsync(Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative").AsCompletedTask());
     _responseMapper = MockRepository.GenerateMock <IResponseMapper>();
     _responseMapper
     .Stub(arg => arg.MapAsync(Arg <Func <IContainer> > .Is.Anything, Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything, Arg <Route.Routing.Route> .Is.Anything))
     .Return(Task.Factory.Empty());
     _httpRuntime         = MockRepository.GenerateMock <IHttpRuntime>();
     _autoRouteCollection = new AutoRouteCollection()
                            .Assemblies(typeof(Endpoint).Assembly)
                            .ClassFilters(_classFilter)
                            .NameMappers(_nameMapper)
                            .IdMappers(_idMapper)
                            .ResolvedRelativeUrlMappers(_resolvedRelativeUrlMapper)
                            .RestrictUsingAttributes <UrlRelativePathAttribute>()
                            .RestrictRelativePathsToRelativeClassNamespaceAndClassName("")
                            .ResponseMapper(_responseMapper)
                            .RestrictionContainer(new DefaultRestrictionContainer(_httpRuntime));
     _routes = _autoRouteCollection.GenerateRouteCollectionAsync().Result.ToArray();
 }
 public async void Must_not_throw_exception()
 {
     await _autoRouteCollection.GenerateRouteCollectionAsync();
 }
            public async void Must_map_using_mapper()
            {
                await _autoRouteCollection.GenerateRouteCollectionAsync();

                _responseMapper.AssertWasCalled(arg => arg.MapAsync(Arg <Func <IContainer> > .Is.Anything, Arg <Type> .Is.Anything, Arg <MethodInfo> .Is.Anything, Arg <Route.Routing.Route> .Is.Anything));
            }
			public void SetUp()
			{
				_classFilter = MockRepository.GenerateMock<IClassFilter>();
				_classFilter
					.Stub(arg => arg.MatchesAsync(Arg<Type>.Is.Anything))
					.WhenCalled(arg => arg.ReturnValue = ((Type)arg.Arguments.First() == typeof(Endpoint)).AsCompletedTask())
					.Return(false.AsCompletedTask());
				_idMapper = MockRepository.GenerateMock<IIdMapper>();
				_idMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(IdResult.IdMapped(Guid.NewGuid()).AsCompletedTask());
				_nameMapper = MockRepository.GenerateMock<INameMapper>();
				_nameMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(NameResult.NameMapped("name").AsCompletedTask());
				_resolvedRelativeUrlMapper = MockRepository.GenerateMock<IResolvedRelativeUrlMapper>();
				_resolvedRelativeUrlMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative").AsCompletedTask());
				_authenticationProvider = MockRepository.GenerateMock<IAuthenticationProvider>();
				_authenticationProvider
					.Stub(arg => arg.AuthenticateAsync(Arg<HttpRequestBase>.Is.Anything, Arg<HttpResponseBase>.Is.Anything, Arg<Route.Routing.Route>.Is.Anything))
					.Return(AuthenticationResult.AuthenticationSucceeded.AsCompletedTask());
				_authenticationStrategy = MockRepository.GenerateMock<IAuthenticationStrategy>();
				_authenticationStrategy.Stub(arg => arg.MustAuthenticateAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(true.AsCompletedTask());
				_autoRouteCollection = new AutoRouteCollection()
					.Assemblies(Assembly.GetExecutingAssembly())
					.ClassFilters(_classFilter)
					.NameMappers(_nameMapper)
					.IdMappers(_idMapper)
					.ResolvedRelativeUrlMappers(_resolvedRelativeUrlMapper)
					.Authenticate(_authenticationProvider, _authenticationStrategy);
				_routes = _autoRouteCollection.GenerateRouteCollectionAsync().Result.ToArray();
			}
			public void SetUp()
			{
				_classFilter = MockRepository.GenerateMock<IClassFilter>();
				_classFilter
					.Stub(arg => arg.MatchesAsync(Arg<Type>.Is.Anything))
					.WhenCalled(arg => arg.ReturnValue = ((Type)arg.Arguments.First() == typeof(Endpoint)).AsCompletedTask())
					.Return(false.AsCompletedTask());
				_idMapper = MockRepository.GenerateMock<IIdMapper>();
				_idMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(IdResult.IdMapped(Guid.NewGuid()).AsCompletedTask());
				_nameMapper = MockRepository.GenerateMock<INameMapper>();
				_nameMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(NameResult.NameMapped("name").AsCompletedTask());
				_resolvedRelativeUrlMapper1 = MockRepository.GenerateMock<IResolvedRelativeUrlMapper>();
				_resolvedRelativeUrlMapper1.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative1").AsCompletedTask());
				_resolvedRelativeUrlMapper2 = MockRepository.GenerateMock<IResolvedRelativeUrlMapper>();
				_resolvedRelativeUrlMapper2.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative2").AsCompletedTask());
				_responseMapper = MockRepository.GenerateMock<IResponseMapper>();
				_responseMapper
					.Stub(arg => arg.MapAsync(Arg<Func<IContainer>>.Is.Anything, Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything, Arg<Route.Routing.Route>.Is.Anything))
					.Return(Task.Factory.Empty());
				_autoRouteCollection = new AutoRouteCollection()
					.Assemblies(Assembly.GetExecutingAssembly())
					.ClassFilters(_classFilter)
					.NameMappers(_nameMapper)
					.IdMappers(_idMapper)
					.ResolvedRelativeUrlMappers(_resolvedRelativeUrlMapper1)
					.ResponseMapper(_responseMapper);
				_routes = _autoRouteCollection.GenerateRouteCollectionAsync().Result.ToArray();
			}
			public void SetUp()
			{
				_classFilter = MockRepository.GenerateMock<IClassFilter>();
				_classFilter
					.Stub(arg => arg.MatchesAsync(Arg<Type>.Is.Anything))
					.WhenCalled(arg => arg.ReturnValue = ((Type)arg.Arguments.First() == typeof(Endpoint)).AsCompletedTask())
					.Return(false.AsCompletedTask());
				_idMapper = MockRepository.GenerateMock<IIdMapper>();
				_idMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(IdResult.IdMapped(Guid.NewGuid()).AsCompletedTask());
				_nameMapper = MockRepository.GenerateMock<INameMapper>();
				_nameMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(NameResult.NameMapped(Guid.NewGuid().ToString()).AsCompletedTask());
				_resolvedRelativeUrlMapper = MockRepository.GenerateMock<IResolvedRelativeUrlMapper>();
				_resolvedRelativeUrlMapper.Stub(arg => arg.MapAsync(Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything)).Return(ResolvedRelativeUrlResult.ResolvedRelativeUrlMapped("relative").AsCompletedTask());
				_responseMapper = MockRepository.GenerateMock<IResponseMapper>();
				_responseMapper
					.Stub(arg => arg.MapAsync(Arg<Func<IContainer>>.Is.Anything, Arg<Type>.Is.Anything, Arg<MethodInfo>.Is.Anything, Arg<Route.Routing.Route>.Is.Anything))
					.Return(Task.Factory.Empty());
				_httpRuntime = MockRepository.GenerateMock<IHttpRuntime>();
				_autoRouteCollection = new AutoRouteCollection()
					.Assemblies(typeof(Endpoint).Assembly)
					.ClassFilters(_classFilter)
					.NameMappers(_nameMapper)
					.IdMappers(_idMapper)
					.ResolvedRelativeUrlMappers(_resolvedRelativeUrlMapper)
					.RestrictUsingAttributes<UrlRelativePathAttribute>()
					.RestrictRelativePathsToRelativeClassNamespaceAndClassName("")
					.ResponseMapper(_responseMapper)
					.RestrictionContainer(new DefaultRestrictionContainer(_httpRuntime));
				_routes = _autoRouteCollection.GenerateRouteCollectionAsync().Result.ToArray();
			}