Пример #1
0
        public unit_test_UserRepo()
        {
            //Setting up In memory dbs.
            userdb   = new SqliteConnection("DataSource=:memory:");
            passdb   = new SqliteConnection("DataSource=:memory:");
            walletdb = new SqliteConnection("DataSource=:memory:");
            userdb.Open();
            passdb.Open();
            walletdb.Open();
            var userbuild = new DbContextOptionsBuilder <UserModelContext>()
                            .UseSqlite(userdb).Options;
            var passbuild = new DbContextOptionsBuilder <PassModelContext>()
                            .UseSqlite(passdb).Options;
            var walletbuild = new DbContextOptionsBuilder <WalletContext>()
                              .UseSqlite(walletdb).Options;
            var userContext   = new UserModelContext(userbuild);
            var passContext   = new PassModelContext(passbuild);
            var walletContext = new WalletContext(walletbuild);

            //Drop and create
            userContext.Database.EnsureDeleted();
            userContext.Database.EnsureCreated();
            passContext.Database.EnsureDeleted();
            passContext.Database.EnsureCreated();
            walletContext.Database.EnsureDeleted();
            walletContext.Database.EnsureCreated();
            //Seeding data to test on
            SeedUsers.seedUsers(userContext, passContext, walletContext);

            _uut = new UserRepository(walletContext, userContext);
        }
Пример #2
0
        //Setup
        public unit_test_signupcontroller()
        {
            //Adding config to tests.
            var confbuilder = new ConfigurationBuilder();

            confbuilder.AddJsonFile("appsettings.json");
            _configuraion = confbuilder.Build();
            //Setting up In memory dbs.
            userdb   = new SqliteConnection("DataSource=:memory:");
            passdb   = new SqliteConnection("DataSource=:memory:");
            walletdb = new SqliteConnection("DataSource=:memory:");
            userdb.Open();
            passdb.Open();
            walletdb.Open();

            //Setting up contexts.
            var userbuild = new DbContextOptionsBuilder <UserModelContext>()
                            .UseSqlite(userdb).Options;
            var passbuild = new DbContextOptionsBuilder <PassModelContext>()
                            .UseSqlite(passdb).Options;
            var walletbuild = new DbContextOptionsBuilder <WalletContext>()
                              .UseSqlite(walletdb).Options;
            var userContext   = new UserModelContext(userbuild);
            var passContext   = new PassModelContext(passbuild);
            var walletContext = new WalletContext(walletbuild);

            //Drop and create
            userContext.Database.EnsureDeleted();
            userContext.Database.EnsureCreated();
            passContext.Database.EnsureDeleted();
            passContext.Database.EnsureCreated();
            walletContext.Database.EnsureDeleted();
            walletContext.Database.EnsureCreated();
            //Seeding data to test on
            SeedUsers.seedUsers(userContext, passContext, walletContext);

            //Mocking login
            supportLogin = new LoginController(_configuraion, passContext, userContext);
            //Setting uut
            _uut = new SignupController(passContext, userContext);
        }
Пример #3
0
 public LoginController(IConfiguration configuration, PassModelContext Passdb, UserModelContext userdb)
 {
     _configuration = configuration;
     _pass          = new PasswordRepository(Passdb);
     _user          = new UsernameRepository(userdb);
 }
Пример #4
0
 public SignupController(PassModelContext Passdb, UserModelContext userdb)
 {
     _pass = new PasswordRepository(Passdb);
     _user = new UsernameRepository(userdb);
 }
Пример #5
0
 public PasswordRepository(PassModelContext _db) : base(_db)
 {
     db = _db;
 }
Пример #6
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, UserModelContext user, PassModelContext pass, WalletContext wallet)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }


            app.UseRouting();
            app.UseSpaStaticFiles();
            app.UseCors(builder =>
                        builder.AllowAnyOrigin()
                        //.WithOrigins("http://localhost:5000","http://localhost:5001")
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        //.AllowCredentials()
                        );

            app.UseAuthentication();
            app.UseAuthorization();

            SeedUsers.seedUsers(user, pass, wallet);

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            app.UseSpa(spa =>
            {
                if (env.IsDevelopment())
                {
                    spa.Options.SourcePath = "ClientApp";
                }
                else
                {
                    spa.Options.SourcePath = "dist";
                }

                if (env.IsDevelopment())
                {
                    spa.UseVueCli(npmScript: "serve");
                }
            });
        }
Пример #7
0
        public static void seedUsers(UserModelContext user, PassModelContext pass, WalletContext wallet)
        {
            string id1 = "f8ac5f4b-d637-4bc4-acd2-cd940663f3ef";
            string id2 = "f2aac55f-1cba-404e-8a2b-b3e65c438190";
            var    m   = user.Users.FirstOrDefault();

            if (m == null)
            {
                Console.WriteLine("seeding users");

                var users = new List <UsernameEntity>();
                var h     = new UsernameEntity()
                {
                    UserId   = id1,
                    Username = "******",
                    Email    = "*****@*****.**"
                };
                users.Add(h);
                h = new UsernameEntity()
                {
                    UserId   = id2,
                    Username = "******",
                    Email    = "*****@*****.**"
                };
                users.Add(h);

                user.Users.AddRange(users);
                user.SaveChangesAsync();
                Console.WriteLine("Done seeding users.");
            }

            var p = pass.Passwords.FirstOrDefault();

            if (p == null)
            {
                var myPasswords = new List <PasswordEntity>();
                var my          = new PasswordEntity()
                {
                    UserId   = id1,
                    Password = BCrypt.Net.BCrypt.HashPassword("Password1", 11)
                };
                myPasswords.Add(my);
                my = new PasswordEntity()
                {
                    UserId   = id2,
                    Password = BCrypt.Net.BCrypt.HashPassword("TestKode1", 11)
                };
                myPasswords.Add(my);

                pass.Passwords.AddRange(myPasswords);
                pass.SaveChangesAsync();
                Console.WriteLine("done seeding");
            }

            var w = wallet.Users.FirstOrDefault();

            if (w == null)
            {
                var u  = new List <UserEntity>();
                var _u = new UserEntity()
                {
                    Address = new AddressEntity()
                    {
                        Address = "Randomstreet 200",
                        City    = "Hell",
                        Contry  = "Yep",
                        Zipcode = 5000
                    },
                    FirstName = "Svend",
                    LastName  = "Hansen",
                    userID    = id1,
                    wallet    = new WalletEntity()
                    {
                        userID = id1,
                        Amount = 5000,
                        card   = new CardEntity()
                        {
                            CardId      = 1,
                            CardNumber  = 4230420401,
                            CVVnumber   = 511,
                            ExpireYear  = 32,
                            ExpireMonth = 06
                        }
                    }
                };
                u.Add(_u);
                _u = new UserEntity()
                {
                    Address = new AddressEntity()
                    {
                        Address = "CoolStreet",
                        City    = "This town",
                        Contry  = "dk",
                        Zipcode = 8220
                    },
                    FirstName = "Hans",
                    LastName  = "Petersen",
                    userID    = id2,
                    wallet    = new WalletEntity()
                    {
                        userID = id2,
                        Amount = 10000,
                        card   = new CardEntity()
                        {
                            CardId      = 2,
                            CardNumber  = 42324242,
                            CVVnumber   = 342,
                            ExpireYear  = 22,
                            ExpireMonth = 04
                        }
                    }
                };
                u.Add(_u);
                wallet.Users.AddRange(u);
                var wait = wallet.SaveChangesAsync();
            }
        }