示例#1
0
        public void TestRetrieveData()
        {
            var repo = new SqLiteRepository(factory);

            repo.SaveData(new DataEntry {
                Id = 101, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });
            repo.SaveData(new DataEntry {
                Id = 102, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });
            repo.SaveData(new DataEntry {
                Id = 103, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });
            repo.SaveData(new DataEntry {
                Id = 104, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });

            var data = repo.GetList <DataEntry>();

            Assert.AreEqual(4, data.Count);

            var first = data.First();

            Assert.AreEqual(101, first.Id);
            Assert.AreEqual(5, first.Password.Length);
            Assert.AreEqual(DateTime.Today, first.Today);
            Assert.AreEqual("elephant", data.Skip(2).First().Password);
            Assert.AreNotEqual("giraffe", data.Skip(2).First().Password);
        }
示例#2
0
        public void insert_with_creating_table()
        {
            ISeedRepository seedRepository = new SqLiteRepository(_connectionString);

            seedRepository.AddToSeedsHistory("Test", "1.0");

            seedRepository.IsExistsSeedsHistory().Should().BeTrue();
            seedRepository.DeleteSeedsHistory();
        }
示例#3
0
        public void seeds_history_table_is_exists()
        {
            ISeedRepository seedRepository = new SqLiteRepository(_connectionString);

            seedRepository.CreateSeedsHistory();

            seedRepository.IsExistsSeedsHistory().Should().BeTrue();
            seedRepository.DeleteSeedsHistory();
        }
示例#4
0
        public void get_all_seeds()
        {
            ISeedRepository seedRepository = new SqLiteRepository(_connectionString);

            seedRepository.AddToSeedsHistory("Test1", "1.0");
            seedRepository.AddToSeedsHistory("Test2", "1.0");

            seedRepository.GetSeedsHistory().Should().HaveCount(2);
            seedRepository.DeleteSeedsHistory();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("OMGHAI! & Welcome to the Gilded Rose!" + Environment.NewLine);
            Console.WriteLine("This was today's inventory change!" + Environment.NewLine);

            IItemRepository repository = new SqLiteRepository();
            var             items      = repository.GetItems();

            Transaction.UpdateQuality(ref items);
            //TODO database.Update() --> keep separate IO & pure logic
        }
示例#6
0
        public void TestSaveData()
        {
            // create an instance of the repository
            var repo = new SqLiteRepository(factory);

            // save with random data
            repo.SaveData(new DataEntry {
                Id = 101, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });

            // recall the data
            var count = connection.Table <DataEntry>().Count(sc => sc.Id == 101);

            // perform test
            Assert.AreEqual(1, count);
        }
示例#7
0
        public void TestMultipleDataSets()
        {
            var repo = new SqLiteRepository(factory);

            repo.SaveData(new DataEntry {
                Id = 101, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });
            repo.SaveData(new DataEntry {
                Id = 102, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });

            var data = repo.GetList <DataEntry>();

            Assert.AreEqual(2, data.Count);
            Assert.AreEqual(101, data.First().Id);
            Assert.AreEqual("paul", data.First().Username);
            Assert.AreEqual(102, data.Skip(1).First().Id);
            Assert.AreEqual("mac", data.Skip(1).First().Username);
        }
示例#8
0
        public void TestDeleteRecord()
        {
            var repo       = new SqLiteRepository(factory);
            var deleteData = new DataEntry {
                Id = 101, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            };

            repo.SaveData(deleteData);
            repo.SaveData(new DataEntry {
                Id = 102, Password = "******", RandomNumber = new Random().Next(255), Today = DateTime.Today, Username = "******"
            });

            // delete the first entry
            repo.Delete(deleteData);

            // tests
            var data = repo.GetList <DataEntry>();

            Assert.AreEqual(1, data.Count);
            Assert.AreEqual("mac", data.First().Username);
            Assert.AreEqual(DateTime.Today, data.First().Today);
        }
示例#9
0
        public SqLiteRepositoryTests()
        {
            string path         = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            var    databasePath = Path.Combine(path, "MyDatabaseTest.db3");

            if (File.Exists(databasePath))
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
                File.Delete(databasePath);
            }
            _databaseSqLiteConnection = new SQLiteConnection(databasePath);
            _repository = new SqLiteRepository <User>(_databaseSqLiteConnection);
            var userToAdd = new Faker <User>()
                            .StrictMode(true)
                            .RuleFor(u => u.Id, f => f.IndexFaker)
                            .RuleFor(u => u.Login, f => f.Person.UserName)
                            .RuleFor(u => u.PasswordSalt, f => f.Person.UserName)
                            .RuleFor(u => u.HashedPassword, f => f.Person.UserName)
                            .Generate(1);

            _userToTest = userToAdd[0];
            _repository.Add(userToAdd[0]);
        }
示例#10
0
        public void Run(string[] args)
        {
            for (var i = 0; i < args.Length; i++)
            {
                if (IsVersionCommand(args[i]))
                {
                    CommandWasExecuted();
                    Console.WriteLine($"{Constants.Seeder} {Constants.Version.SeederVersion} ({Constants.SeederCore} {Constants.Version.CoreVersion})");
                }

                if (IsProviderArgument(args[i]))
                {
                    CommandWasExecuted();
                    Console.WriteLine($"Available providers: {string.Join(", ", Constants.Providers)}");
                }

                // TODO: help for scripts
                // if(IsScriptsHelpCommand(...))...
                if (args[i].Equals(Constants.Command.Scripts) && (i + 1) == args.Length)
                {
                    CommandWasExecuted();
                    Console.WriteLine("Help: TODO...");
                }
                else if (IsScriptsCommand(args[i]))
                {
                    i++;
                    try
                    {
                        if (args[i++].Equals(Constants.Command.ScriptsAdd))
                        {
                            CreateScript(args[i]);
                        }
                    }
                    catch (IndexOutOfRangeException)
                    {
                        UnknownCommandInformation();
                        CommandWasExecuted();
                    }
                }

                // TODO: help for database
                // if(IsDatabasesHelpCommand(...))...
                if (args[i].Equals(Constants.Command.Database) && (i + 1) == args.Length)
                {
                    CommandWasExecuted();
                    Console.WriteLine("Help: TODO...");
                }
                else if (args[i++].Equals(Constants.Command.Database))
                {
                    if (args[i++].Equals(Constants.Command.DatabaseUpdate))
                    {
                        if (args[i++].Equals(Constants.Command.ProviderArgument))
                        {
                            var provider = args[i++];
                            if (provider.Equals(Constants.Provider.PostgreSql, StringComparison.InvariantCultureIgnoreCase))
                            {
                                ISeedRepository seedRepository = new PostgreSqlRepository(args[i]);
                                CommandWasExecuted();

                                _seeder.ExecuteChanges(seedRepository);
                            }
                            else if (provider.Equals(Constants.Provider.SqLite, StringComparison.InvariantCultureIgnoreCase))
                            {
                                ISeedRepository seedRepository = new SqLiteRepository(args[i]);
                                CommandWasExecuted();

                                _seeder.ExecuteChanges(seedRepository);
                            }
                        }
                    }
                }
            }
        }
示例#11
0
        public void seeds_history_table_not_exists()
        {
            ISeedRepository seedRepository = new SqLiteRepository(_connectionString);

            seedRepository.IsExistsSeedsHistory().Should().BeFalse();
        }