Beispiel #1
0
        public void Get_InvalidPassword_ReturnsNullAndTokenIsNull()
        {
            //arrange
            var email    = "*****@*****.**";
            var password = "******";

            var users = new List <User>
            {
                new User
                {
                    Email    = email,
                    Password = GetHashedValue(password),
                    FullName = "Stojancho Jefremov",
                    Id       = "1",
                    IsAdmin  = true
                }
            };
            var fakeUserGenericRepository = new FakeUserGenericRepository(users);
            var fakeUserRepository        = new FakeUserRepository(fakeUserGenericRepository);
            var jwtSettings = new JwtSettings
            {
                Key = "qNs6MA5nJxSxo9tU2qLMKNsMEb8zNnAX"
            };

            var userService = new UserService(fakeUserGenericRepository, fakeUserRepository, Options.Create(jwtSettings));

            //act
            var user = userService.Get(email, "test", out string token);

            //assert
            Assert.Null(user);
            Assert.Null(token);
        }
Beispiel #2
0
        public void CommentPost_WhenSessionKeyIsNotCorrect_ShouldReturnStatusCode400()
        {
            var user = new User()
            {
                DisplayName = "JavaScript",
                Username    = "******",
                AuthCode    = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e",
                SessionKey  = "1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH"
            };

            var fakeUserRepo = new FakeUserRepository();

            fakeUserRepo.Add(user);

            var post = new Post()
            {
                PostDate = DateTime.Now,
                Text     = "Some text",
                Title    = "SomeTitle",
                User     = user
            };

            var fakePostRepo = new FakePostRepository();

            fakePostRepo.Add(post);

            var server   = new InMemoryHttpServer <Post>("http://localhost/", fakePostRepo);
            var response = server.CreateGetRequest("api/posts?sessionKey=1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH&tags");

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
        public ToDoItemServiceTests()
        {
            var fakeToDoRepo = new FakeToDoItemRepository();
            var fakeUserRepo = new FakeUserRepository();

            _toDoItemService = new ToDoItemService(fakeToDoRepo, fakeUserRepo);
        }
Beispiel #4
0
        public void SetUp()
        {
            var hashedPass = LoginManager.GetHashedPass("already_exists", "123", 0);

            userWithEmail = new User("already_exists", hashedPass, "*****@*****.**", 0)
            {
                Id = 123
            };
            userWithoutEmail = new User("no_email", "222", string.Empty, 321)
            {
                Id = 321
            };
            repository = new FakeUserRepository(userWithEmail, userWithoutEmail);
            repository.Add(userWithEmail.Options);
            permissionContext   = new FakePermissionContext(new UserWithPermissionsContract(userWithEmail, ContentLanguagePreference.Default));
            stopForumSpamClient = new FakeStopForumSpamClient();
            mailer        = new FakeUserMessageMailer();
            data          = new UserQueries(repository, permissionContext, new FakeEntryLinkFactory(), stopForumSpamClient, mailer, new FakeUserIconFactory(), new FakeObjectCache());
            softBannedIPs = new HostCollection();

            request = new PasswordResetRequest(userWithEmail)
            {
                Id = Guid.NewGuid()
            };
            repository.Add(request);
        }
Beispiel #5
0
        public void Create_WhenPostTextIsNull_ShouldReturnStatusCode400()
        {
            var fakeUserRepo = new FakeUserRepository();
            var user         = new User()
            {
                DisplayName = "JavaScript",
                Username    = "******",
                AuthCode    = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e",
                SessionKey  = "1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH"
            };

            fakeUserRepo.Add(user);

            var fakePostRepo = new FakePostRepository();

            var server  = new InMemoryHttpServer <Post>("http://localhost/", fakePostRepo);
            var newPost = new
            {
                title = "some title",
                tags  = new string[] { "asd", "qwe" }
            };


            var response = server.CreatePostRequest("api/posts?sessionKey=1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH", newPost);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
Beispiel #6
0
 public void Initialize()
 {
     // Arrange
     var eventsRepo = new FakeUserRepository();
     var uow = new UnitofWork { UserRepository = eventsRepo };
        // Controller = new OwnersController(uow);
 }
Beispiel #7
0
        public void MuiltChangeTest()
        {
            var unitOfWorkObj = new EfUnitOfWork(null /*ILogger*/); //{ DbContextFactory = _dbContextFactory };

            var uoWdbContextProvider = new EfUnitOfWorkDbContextProvider(new EfUnitOfWorkManager(IoCManager, null /*ILogger*/), IoCManager, null /*ILogger*/);
            var orderRepo            = new FakeOrderRepository(uoWdbContextProvider);
            var productRepo          = new FakeProductRepository(uoWdbContextProvider);
            var userRepo             = new FakeUserRepository(uoWdbContextProvider);

            unitOfWorkObj.Begin(new UnitOfWorkOption());
            try
            {
                //orderRepo.Insert(FakeOrder.Fake());
                productRepo.InsertAsync(FakeProduct.Fake()).GetAwaiter();
                userRepo.InsertAsync(FakeUser.Fake()).GetAwaiter();
                unitOfWorkObj.CommitAsync().GetAwaiter().GetResult();
            }
            catch (Exception ex)
            {
                //Assert.F("发生异常:" + ex.Message);
            }
            finally
            {
                unitOfWorkObj.Dispose();
            }
        }
Beispiel #8
0
        public void SetUp()
        {
            userWithEmail = new User("already_exists", "123", "*****@*****.**", PasswordHashAlgorithms.Default)
            {
                Id = 123
            };
            userWithoutEmail = new User("no_email", "222", string.Empty, PasswordHashAlgorithms.Default)
            {
                Id = 321
            };
            repository = new FakeUserRepository(userWithEmail, userWithoutEmail);
            repository.Add(userWithEmail.Options);
            permissionContext   = new FakePermissionContext(new UserWithPermissionsContract(userWithEmail, ContentLanguagePreference.Default));
            stopForumSpamClient = new FakeStopForumSpamClient();
            mailer = new FakeUserMessageMailer();
            data   = new UserQueries(repository, permissionContext, new FakeEntryLinkFactory(), stopForumSpamClient, mailer,
                                     new FakeUserIconFactory(), null, new InMemoryImagePersister(), new FakeObjectCache(), new Model.Service.BrandableStrings.BrandableStringsManager(), new EnumTranslations());
            softBannedIPs = new HostCollection();

            request = new PasswordResetRequest(userWithEmail)
            {
                Id = Guid.NewGuid()
            };
            repository.Add(request);
        }
        public object Post([FromBody] User user, [FromServices] FakeUserRepository repository, [FromServices] SigningConfiguration signingConfigurations, [FromServices] Token token)
        {
            bool validCredentials = false;

            if (user == null)
            {
                return new { authenticated = false, message = "Failed to authenticate!" }
            }
            ;

            User userFromDatabase = repository.Find(user.Id);

            if (userFromDatabase == null)
            {
                return new { authenticated = false, message = "Failed to authenticate!" }
            }
            ;

            validCredentials = (userFromDatabase != null && userFromDatabase.AccessKey == user.AccessKey);

            if (!validCredentials)
            {
                return new { authenticated = false, message = "Failed to authenticate!" }
            }
            ;

            var obj = TokenProvider.GetToken(user, token, signingConfigurations);

            return(obj);
        }
    }
}
        public void RegisterUserFailed()
        {
            // Arrange
            IRepositoryUser  fakeRepositoryUser = new FakeUserRepository();
            IEmailManger     fakeEmailManger    = new FakeEMailManger();
            IReadFromBrowser fakeReadCookie     = new FakeReadCookie();
            IWriteToBrowser  fakeWriteCookie    = new FakeWriteCookie();
            ICheckTime       checkTime          = new CheckTime();
            ILogger          fakeLogger         = new FakeLogger();

            Register register1 = new Register()
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                Password  = "******",
                FirstName = "Retif",
                LastName  = "Teruy"
            };

            RegisterController loginController = new RegisterController
                                                     (fakeRepositoryUser, checkTime,
                                                     fakeReadCookie, fakeWriteCookie, fakeEmailManger, fakeLogger);

            // Act

            ViewResult viewResult = loginController.Register(register1) as ViewResult;
            var        rez        = viewResult.Model;

            rez.Equals(new Register());
        }
Beispiel #11
0
        public void Get_InvalidEmail_ThrowsArgumentException()
        {
            //arrange
            var email    = "*****@*****.**";
            var password = "******";

            var users = new List <User>
            {
                new User
                {
                    Email    = email,
                    Password = GetHashedValue(password),
                    FullName = "Stojancho Jefremov",
                    Id       = "1",
                    IsAdmin  = true
                }
            };
            var fakeUserGenericRepository = new FakeUserGenericRepository(users);
            var fakeUserRepository        = new FakeUserRepository(fakeUserGenericRepository);
            var jwtSettings = new JwtSettings
            {
                Key = "qNs6MA5nJxSxo9tU2qLMKNsMEb8zNnAX"
            };

            var userService = new UserService(fakeUserGenericRepository, fakeUserRepository, Options.Create(jwtSettings));

            //act

            //assert
            Assert.Throws <ArgumentException>("email",
                                              () => userService.Get("*****@*****.**", password, out string token));
        }
        public void File_can_be_shared_and_allows_for_modifications_by_authorized_user()
        {
            // Arrange
            FakeFileRepository fileRepository = new FakeFileRepository();
            FakeUserRepository userRepository = new FakeUserRepository();
            FakeEventPublisher eventPublisher = new FakeEventPublisher();
            FakeCurrentUser    currentUser    = new FakeCurrentUser();

            File file      = new ExampleFileFactory().CreateFile();
            User shareWith = new User("shareWithUserId", "username");

            fileRepository.Save(file);
            userRepository.Save(shareWith);
            currentUser.Id = file.Owner.Id;

            var commandHandler = new ShareFileCommandHandler(
                currentUser, fileRepository, userRepository, eventPublisher);

            var command = new ShareFileCommand("fileId", shareWith.Id);

            // Act
            commandHandler.Handle(command);

            // Assert
            Assert.IsTrue(file.CanBeModifiedBy(shareWith));
            FileSharesChangedMessage publishedEvent = eventPublisher.VerifyPublishedOnce <FileSharesChangedMessage>();

            Assert.AreEqual(file, publishedEvent.File);
        }
Beispiel #13
0
        public void GetByTags_WhenTagsAreNotCorrect_ShouldReturnNoContent()
        {
            var user = new User()
            {
                DisplayName = "JavaScript",
                Username    = "******",
                AuthCode    = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e",
                SessionKey  = "1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH"
            };

            var fakeUserRepo = new FakeUserRepository();

            fakeUserRepo.Add(user);

            var post = new Post()
            {
                PostDate = DateTime.Now,
                Text     = "Some text",
                Title    = "SomeTitle",
                User     = user
            };

            var fakePostRepo = new FakePostRepository();

            fakePostRepo.Add(post);

            var tags = new List <Tag>()
            {
                new Tag()
                {
                    Name  = "c#",
                    Posts = new List <Post>()
                    {
                        post
                    }
                },

                new Tag()
                {
                    Name  = "web",
                    Posts = new List <Post>()
                    {
                        post
                    }
                },
            };

            var fakeTagRepo = new FakeTagRepository();

            fakeTagRepo.Add(tags[0]);
            fakeTagRepo.Add(tags[1]);

            var server   = new InMemoryHttpServer <Post>("http://localhost/", fakePostRepo);
            var response = server.CreateGetRequest("api/posts?sessionKey=1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH&tags=js");

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(response.Content);
        }
Beispiel #14
0
        public void Setup()
        {
            _inintializer = new OAuthInintializer();
            FakeUnitOfWorkFactory      unitOfWorkFactory         = new FakeUnitOfWorkFactory();
            IUserRepository            userRepository            = new FakeUserRepository(unitOfWorkFactory);
            IOAuthMembershipRepository oAuthMembershipRepository = new FakeOAuthMembershipRepository(unitOfWorkFactory);

            _oAuthService = new OAuthService(unitOfWorkFactory, userRepository, oAuthMembershipRepository);
        }
		public void SetUp() {
			
			album = new Album(TranslatedString.Create("Synthesis")) { Id = 39 };
			agentName = "Rin";
			entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net");
			user = new User { Name = "miku" };
			repository = new FakeUserRepository(user);

		}
        public void Setup()
        {
            _unitOfWorkFactory = new FakeUnitOfWorkFactory();
            IUserRepository       userRepository       = new FakeUserRepository(_unitOfWorkFactory);
            IMembershipRepository membershipRepository = new FakeMembershipRepository(_unitOfWorkFactory);

            _userRegistrationService =
                new UserRegistrationService(userRepository, membershipRepository, _unitOfWorkFactory);
            CreateTestData();
        }
        public UserServiceTests()
        {
            var settings = new JwtSettings {
                Secret = "My secret code"
            };
            var jwtSettings = Options.Create(settings);
            IRepository <DtoUser> userRepository = new FakeUserRepository();

            _userService = new UserService(jwtSettings, userRepository);
        }
        public UserServiceTests()
        {
            var settings = new JwtSettings()
            {
                Secret = "some secret"
            };
            var jwtSettings  = Options.Create(settings);
            var fakeUserRepo = new FakeUserRepository();

            _userService = new UserService(fakeUserRepo, jwtSettings);
        }
Beispiel #19
0
 public void SetUp()
 {
     album = new Album(TranslatedString.Create("Synthesis"))
     {
         Id = 39
     };
     agentName        = "Rin";
     entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net");
     user             = CreateEntry.User(name: "miku");
     user2            = CreateEntry.User(name: "luka");
     repository       = new FakeUserRepository(user, user2);
 }
        //[TestMethod]
        public void QueryLargeTest()
        {
            var context      = _dbContextFactory.Create <FakeEcDbContext>();
            var fakeUserRepo = new FakeUserRepository(_dbContextFactory);
            var sw           = new Stopwatch();

            sw.Start();
            var result = fakeUserRepo.Take(1000000);

            sw.Stop();
            context.Dispose();
            Trace.WriteLine("EF带跟踪 QueryLarge " + result.Count + ", 毫秒:" + sw.ElapsedMilliseconds);
        }
Beispiel #21
0
        public void SqlQueryLargeTest()
        {
            var context      = _dbContextProvider.Get <FakeEcDbContext>();
            var fakeUserRepo = new FakeUserRepository(_dbContextProvider);
            var sw           = new Stopwatch();

            sw.Start();
            var result = fakeUserRepo.TakeByDbSql(1000000);

            sw.Stop();
            context.Dispose();
            Trace.WriteLine("EF无跟踪 SqlQueryLarge " + result.Count + ", 毫秒:" + sw.ElapsedMilliseconds);
        }
Beispiel #22
0
        public void Setup()
        {
            _unitOfWorkFactory = new FakeUnitOfWorkFactory();
            IUserRepository       userRepository       = new FakeUserRepository(_unitOfWorkFactory);
            IMembershipRepository membershipRepository = new FakeMembershipRepository(_unitOfWorkFactory);

            _userRegistrationService =
                new UserRegistrationService(userRepository, membershipRepository, _unitOfWorkFactory);
            _authenticationService = new AuthenticationService(_unitOfWorkFactory, membershipRepository);
            HttpContext.Current    = new HttpContext(
                new HttpRequest("", "http://localhost", ""),
                new HttpResponse(new StringWriter()));
            CreateTestData();
        }
Beispiel #23
0
        public async Task <ActionResult <dynamic> > Authenticate([FromBody] User model)
        {
            var user = FakeUserRepository.Get(model.UserName, model.Password);

            if (user == null)
            {
                return(NotFound(new { message = "Invalid User" }));
            }

            var token = TokenService.GenerateToken(user);

            user.Password = ""; //hidding password

            return(new { user = user, token = token });
        }
        public void SqlInsertOneTest()
        {
            var context      = _dbContextFactory.Create <FakeEcDbContext>();
            var fakeUserRepo = new FakeUserRepository(_dbContextFactory);
            var sw           = new Stopwatch();

            sw.Start();

            var user  = CreateOneUser();
            var count = fakeUserRepo.InsertByCommand(user);

            sw.Stop();
            Trace.WriteLine("Sql Insert " + count + ", 毫秒:" + sw.ElapsedMilliseconds);
            context.Dispose();
        }
        public void Initilise()
        {
            IList <User> users = new List <User>
            {
                new User {
                    Id = 1, Username = "******", Name = "Fake User 1", Password = "******", Role = Role.Publisher
                },
                new User {
                    Id = 2, Username = "******", Name = "Fake User 2", Password = "******", Role = Role.Employee
                }
            };
            IUserRepository userRepository = new FakeUserRepository(users);

            _authentication = new Authentication.Authentication(userRepository);
        }
        public void InsertOneTest()
        {
            var context      = _dbContextFactory.Create <FakeEcDbContext>();
            var fakeUserRepo = new FakeUserRepository(_dbContextFactory);
            var sw           = new Stopwatch();

            sw.Start();

            var user = CreateOneUser();

            fakeUserRepo.Insert(user);
            context.SaveChanges();
            sw.Stop();
            Trace.WriteLine("Insert " + 1 + ", 毫秒:" + sw.ElapsedMilliseconds);
            context.Dispose();
        }
Beispiel #27
0
        public void Register_WhenUsernameIsGreaterThan30Chars_ShouldReturnStatusCode400()
        {
            var fakeRepo = new FakeUserRepository();
            var server   = new InMemoryHttpServer <User>("http://localhost/", fakeRepo);

            var user = new User()
            {
                Username    = "******",
                DisplayName = "JavaScript",
                AuthCode    = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e"
            };

            var response = server.CreatePostRequest("api/users/register", user);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.AreEqual(1, fakeRepo.Entities.Count); // I put one user in the repository so that the ids begin from 1 (the first user is dummy)
        }
Beispiel #28
0
        public void Register_WhenDisplayNameIsGreaterThan30Chars_ShouldReturnStatusCode400()
        {
            var fakeRepo = new FakeUserRepository();
            var server   = new InMemoryHttpServer <User>("http://localhost/", fakeRepo);

            var user = new User()
            {
                Username    = "******",
                DisplayName = "asgbfuaysdgfugsdfgyudgdyfdgyugyugyuasdgyuyugasyudgfusydgfuysdgf",
                AuthCode    = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e"
            };

            var response = server.CreatePostRequest("api/users/register", user);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.AreEqual(1, fakeRepo.Entities.Count); // I put one user in the repository so that the ids begin from 1 (the first user is dummy)
        }
Beispiel #29
0
		public void SetUp() {

			var hashedPass = LoginManager.GetHashedPass("already_exists", "123", 0);
			userWithEmail = new User("already_exists", hashedPass, "*****@*****.**", 0) { Id = 123 };
			userWithoutEmail = new User("no_email", "222", string.Empty, 321) { Id = 321 };
			repository = new FakeUserRepository(userWithEmail, userWithoutEmail);
			repository.Add(userWithEmail.Options);
			permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithEmail, ContentLanguagePreference.Default));
			stopForumSpamClient = new FakeStopForumSpamClient();
			mailer = new FakeUserMessageMailer();
			data = new UserQueries(repository, permissionContext, new FakeEntryLinkFactory(), stopForumSpamClient, mailer, new FakeUserIconFactory(), new FakeObjectCache());
			softBannedIPs = new HostCollection();

			request = new PasswordResetRequest(userWithEmail) { Id = Guid.NewGuid() };
			repository.Add(request);

		}
Beispiel #30
0
        public void Register_WhenAuthCodeIsShort_ShouldReturnStatusCode400()
        {
            var fakeRepo = new FakeUserRepository();
            var server   = new InMemoryHttpServer <User>("http://localhost/", fakeRepo);

            var user = new User()
            {
                Username    = "******",
                DisplayName = "Valid Display Name",
                AuthCode    = "asd"
            };

            var response = server.CreatePostRequest("api/users/register", user);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.AreEqual(1, fakeRepo.Entities.Count); // I put one user in the repository so that the ids begin from 1 (the first user is dummy)
        }
        public void Login_WhenUserIsValid_ShouldLoginInDatabase()
        {
            var fakeRepo = new FakeUserRepository();
            var user     = new User()
            {
                Username = "******",
                AuthCode = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e"
            };

            fakeRepo.Add(user);

            var server = new InMemoryHttpServer <User>("http://localhost/", fakeRepo);

            var response = server.CreatePostRequest("api/users/login", user);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(response.Content);
        }
Beispiel #32
0
        public UnitofWork AllRepo()
        {
            // Arrange
            var agendaRepo = new FakeAgendasRepository();
            var boothRepo = new FakeBoothsRepository();
            var buyerRepo = new FakeBuyersRepository();
            var companyRepo = new FakeCompanysRepository();
            var eventRateSectionRepo = new FakeEventRatesRepository();
            var eventsRepo = new FakeEventsRepository();
            var eventTypesRepo = new FakeEventTypesRepository();
            var feedBackRepo = new FakeFeedBacksRepository();
            var invitationsRepo = new FakeInvitationsRepository();
            var invitationAcceptedRepo = new FakeInvitationAcceptedsRepository();
            var invitationRefusedRepo = new FakeInvitationRefusedsRepository();
            var invitationScheduleRepo = new FakeInvitationSchedulesRepository();
            var sellerRepo = new FakeSellersRepository();
            var speakerRepo = new FakeSpeakersRepository();
            var speakerScheduleRepo = new FakeSpeakerSchedulesRepository();
            var userRepo = new FakeUserRepository();
            var userTypeRepo = new FakeUserTypeRepository();

            return new UnitofWork
            {
                AgendaRepository = agendaRepo,
                BoothRepository = boothRepo,
                BuyerRepository = buyerRepo,
                CompanyRepository = companyRepo,
                EventRateSectionRepository = eventRateSectionRepo,
                EventRepository = eventsRepo,
                EventTypeRepository = eventTypesRepo,
                FeedBackRepository = feedBackRepo,
                InvitationAcceptedRepository = invitationAcceptedRepo,
                InvitationRefusedRepository = invitationRefusedRepo,
                InvitationScheduleRepository = invitationScheduleRepo,
                InvitationsRepository = invitationsRepo,
                SellerRepository = sellerRepo,
                SpeakerRepository = speakerRepo,
                SpeakerScheduleRepository = speakerScheduleRepo,
                UserRepository = userRepo,
                UserTypeRepository = userTypeRepo,

            };
        }
Beispiel #33
0
        public void Logout_WhenSessionKeyIsNotValid_ShouldReturnStatusCode400()
        {
            var fakeRepo = new FakeUserRepository();
            var user     = new User()
            {
                Username   = "******",
                AuthCode   = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e",
                SessionKey = "1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH"
            };

            fakeRepo.Add(user);

            var server = new InMemoryHttpServer <User>("http://localhost/", fakeRepo);

            var response = server.CreatePutRequest("api/users/logout?sessionKey=stupidKey", new { });

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.IsNotNull(response.Content);
        }
        public void SetupTests()
        {
            //initiating the testing by parsing testing data into
            //the appropriate interfaces
            var configuration = new HttpConfiguration();

            UserRepository         = new FakeUserRepository();
            RegistrationRepository =
                new FakeRegistrationRepository(); //todo make this
            PaymentMethodRepository =
                new FakePaymentMethodRepository(
                    new List <PaymentMethod>()); //todo make this
            EmailProvider = new FakeEmailProvider();

            var carsJson = GetInputFile("Cars.json").ReadToEnd();
            var cars     = JsonConvert.DeserializeObject <List <Car> >(carsJson);

            CarRepository = new FakeCarRepository(cars);

            var bookingsJson = GetInputFile("Bookings.json").ReadToEnd();
            var bookings     =
                JsonConvert.DeserializeObject <List <Booking> >(bookingsJson);

            BookingRepository = new FakeBookingRepository(bookings);

            var templatesJson = GetInputFile("Templates.json").ReadToEnd();
            var templates     =
                JsonConvert.DeserializeObject <List <Template> >(templatesJson);

            TemplateRepository = new FakeTemplateRepository(templates);

            UserService = new UserService(UserRepository,
                                          RegistrationRepository, BookingRepository,
                                          PaymentMethodRepository, EmailProvider, CarRepository,
                                          TemplateRepository);

            Controller = new AccountController(UserService);
            Controller.Configuration = configuration;
            TestStartupConfiguration.HttpConfiguration = configuration;
            TestStartupConfiguration.UserRepository    = UserRepository;
            TestStartupConfiguration.UserService       = UserService;
        }
Beispiel #35
0
        private static IDisposable CreateWebApiService(
         IList<UserModel> users)
        {
            var userRepository = new FakeUserRepository(users);

            var builder = new ContainerBuilder();

            builder.RegisterInstance<IUnitOfWork>(new FakeUnitOfWork(userRepository: userRepository));
            builder.RegisterApiControllers(typeof(CartController).Assembly);

            builder.RegisterType<CartService>().As<ICartService>();

            var container = builder.Build();

            var resolver = new AutofacWebApiDependencyResolver(container);
            WebApiContext.DefaultResolver = resolver;

            var baseAddress = "http://localhost:9000/";

            return WebApp.Start<Startup>(url: baseAddress);
        }
Beispiel #36
0
        private UserService CreateUserService(
           List<UserModel> users = null,
           IUserRepository userRepository = null)
        {
            if (userRepository == null)
            {
                userRepository = new FakeUserRepository(users ?? new List<UserModel>());
            }

            fixture.Register<IUserRepository>(() => userRepository);

            var fakeRepositoryFactory = fixture.Create<FakeUnitOfWork>();
            fixture.Register<IUnitOfWork>(() => fakeRepositoryFactory);

            var userService = fixture.Create<UserService>();

            return userService;
        }
Beispiel #37
0
        private static CartController CreateCartController(List<UserModel> users, List<DealModel> deals = null)
        {
            var userRepository = new FakeUserRepository(users);
            var repositoryFactory = new FakeUnitOfWorkFactory(
                userRepository: userRepository,
                dealRepository: deals != null ? new FakeDealRepository(deals) : null);

            var cartService = new CartService(repositoryFactory);
            var controller = new CartController(cartService);
            return controller;
        }
Beispiel #38
0
        private CartService CreateCartService(
            List<UserModel> users = null,
            IUserRepository userRepository = null,
            List<DealModel> deals = null,
            IRepository<DealModel> dealRepository = null)
        {
            if (userRepository == null)
            {
                userRepository = new FakeUserRepository(users ?? new List<UserModel>());
            }

            if (dealRepository == null)
            {
                dealRepository = new FakeDealRepository(deals ?? new List<DealModel>());
            }

            fixture.Register<IUserRepository>(() => userRepository);
            fixture.Register<IRepository<DealModel>>(() => dealRepository);

            var fakeRepositoryFactory = fixture.Create<FakeUnitOfWork>();
            fixture.Register<IUnitOfWork>(() => fakeRepositoryFactory);

            var cartService = fixture.Create<CartService>();

            return cartService;
        }
Beispiel #39
0
        private static IUnitOfWork GetFakeUserRepositoryFactory(IList<UserModel> users)
        {
            var userRepository = new FakeUserRepository(users);

            return new FakeUnitOfWork(userRepository: userRepository);
        }